When run hob on Ubuntu 10.10: $ hob FATAL: Gtk+, PyGtk and PyGobject are required to use Hob, You have Gtk+ 2.22.0 and PyGtk 2.21.0. From a user's view, he should think that it lacks of PyGobject, but the real problem is that the version of Gtk+ or PyGtk doesn't meet, this confuses the user. It would be good if it can tell the user clearly what's wrong. Another problem is that, bitbake/lib/bb/ui/hob.py: 33 if gtkver < (2, 20, 0) or pygtkver < (2, 22, 0): 34 sys.exit("%s,\nYou have Gtk+ %s and PyGtk %s." % (requirements, 35 ".".join(map(str, gtkver)), 36 ".".join(map(str, pygtkver)))) Usually, The gtk version is greater than or equal to the pygtk on a host, but it seems that hob requires a greater version of pygtk than gtk, which seems strange.
Give it to Josh since he made the change of the code piece you mentioned. I also prefer Hob can run on Ubuntu 10.04, otherwise it is very inconvenient for me to test with my Ubuntu 10.04 machine. Just a suggestion;-)
(In reply to comment #1) > Give it to Josh since he made the change of the code piece you mentioned. I > also prefer Hob can run on Ubuntu 10.04, otherwise it is very inconvenient > for me to test with my Ubuntu 10.04 machine. Just a suggestion;-) I used the following patch to make it work on Ubuntu 10.10 (change the required version lower), maybe you can try a similar change on Ubuntu 10.04: diff --git a/bitbake/lib/bb/ui/hob.py b/bitbake/lib/bb/ui/hob.py --- a/bitbake/lib/bb/ui/hob.py +++ b/bitbake/lib/bb/ui/hob.py @@ -30,7 +30,7 @@ try: pygtk.require('2.0') # to be certain we don't have gtk+ 1.x !?! gtkver = gtk.gtk_version pygtkver = gtk.pygtk_version - if gtkver < (2, 20, 0) or pygtkver < (2, 22, 0): + if gtkver < (2, 20, 0) or pygtkver < (2, 21, 0): sys.exit("%s,\nYou have Gtk+ %s and PyGtk %s." % (requirements, ".".join(map(str, gtkver)), ".".join(map(str, pygtkver))))
Robert, you can't change it in that way. Here is the conversation between Josh and me. Hi Shane, On 22/05/12 18:35, Wang, Shane wrote: > Josh, I just found I can't run Hob on my Ubuntu 10.04 after I checked out the latest master. > > Since Ubuntu 10.04 is a long-term-support version, can we do something to make Hob compatible with that? The plan is to provide an external-python-tarball with a full Gtk+ & PyGtk nativesdk stack built by OE-Core/Poky and installed into a standalone sysroot on the users host. Whilst I have a branch based on some work by Richard to achieve this it hasn't been submitted to upstream as I haven't figured out a clean way to handle things on the SDK host which would usually require a postinstall in the target rootfs. Aside: I really can't see a clean way around requiring postinst type functionality for the SDK targets, particularly in the pagno case here. I'm currently ruminating on supercharging the toolchain scripts to handle this. > What kind of failure did you meet on Ubuntu 10.04? IIRC the set_action_widget() API I referred to in the original email isn't available in the version of Gtk+ and PyGtk that was shipped with Ubuntu 10.04. This is required to add the search entry to the gtk.Notebook. Cheers, Joshua
(In reply to comment #3) > Robert, you can't change it in that way. Here is the conversation between > Josh and me. > Thanks, I just used it as a work around:-) // Robert > Hi Shane, > > On 22/05/12 18:35, Wang, Shane wrote: > > Josh, I just found I can't run Hob on my Ubuntu 10.04 after I checked out the latest master. > > > > Since Ubuntu 10.04 is a long-term-support version, can we do something to make Hob compatible with that? > > The plan is to provide an external-python-tarball with a full Gtk+ & > PyGtk nativesdk stack built by OE-Core/Poky and installed into a > standalone sysroot on the users host. > > Whilst I have a branch based on some work by Richard to achieve this it > hasn't been submitted to upstream as I haven't figured out a clean way > to handle things on the SDK host which would usually require a > postinstall in the target rootfs. > > Aside: I really can't see a clean way around requiring postinst type > functionality for the SDK targets, particularly in the pagno case here. > I'm currently ruminating on supercharging the toolchain scripts to > handle this. > > > What kind of failure did you meet on Ubuntu 10.04? > > IIRC the set_action_widget() API I referred to in the original email > isn't available in the version of Gtk+ and PyGtk that was shipped with > Ubuntu 10.04. > > This is required to add the search entry to the gtk.Notebook. > > Cheers, > Joshua
Shane has fixed this bug in commit: "efd977010ea4c9f611089b19cebb81f7a501dafa". For the issue of "Usually, The gtk version is greater than or equal to the pygtk on a host, but it seems that hob requires a greater version of pygtk than gtk, which seems strange.", for GTK versions, there are: "2.16, 2.18, 2.20, 2.24", and for pyGTK, the versions are: "2.16, 2.17, 2.21, 2.22", therefore the current judgement: "if gtkver < (2, 20, 0) or pygtkver < (2, 21, 0):" does make sense.
verified: git info: eb0cb7e8234f5d2e5623406e9660be91cf52f65e git branch: poky/master