Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 36809

Summary: meld throws ImportError on bonobo.ui at start
Product: Gentoo Linux Reporter: Bryan Helmkamp <helmkam1>
Component: [OLD] DevelopmentAssignee: Gentoo Linux Gnome Desktop Team <gnome>
Status: RESOLVED INVALID    
Severity: critical CC: python
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Bryan Helmkamp 2003-12-30 06:41:23 UTC
I emerge meld, but upon trying to run it python throws an ImportError on bonobo.ui.  I tried emerging bonobo-python but it did not help.

"locate bonobo.ui" on my system returns zero results.

Reproducible: Always
Steps to Reproduce:
1.  #emerge meld
2.  $meld

Actual Results:  
$ meld
Traceback (most recent call last):
  File "/usr/bin/meld", line 66, in ?
    import meldapp
  File "/usr/lib/meld/meldapp.py", line 25, in ?
    import gnome.ui
ImportError: could not import bonobo.ui


Expected Results:  
No error.

Portage 2.0.49-r15 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r3, 2.4.20-gentoo-r9)
=================================================================
System uname: 2.4.20-gentoo-r9 i686 AMD Athlon(tm) XP 2700+
Gentoo Base System version 1.4.3.10
ccache version 2.3 [enabled]
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config
/usr/kde/3/share/config /usr/X11R6/lib/X11/xkb /usr/kde/3.1/share/config
/usr/share/config"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
CXXFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="sandbox autoaddcvs ccache"
GENTOO_MIRRORS="ftp://ftp.gtlib.cc.gatech.edu/pub/gentoo
rsync://gentoo.seren.com/gentoo http://gentoo.noved.org/ ftp://gentoo.noved.org/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.us.gentoo.org/gentoo-portage"
USE="x86 apm avi crypt encode gif jpeg libg++ libwww mad mikmod mpeg ncurses nls
pdflib png quicktime spell truetype xml2 xmms xv zlib gdbm berkdb slang readline
arts aalib nas svga java sdl gpm tcpd pam perl python esd imlib oggvorbis motif
mozilla X gtk gtk2 gnome kde qt alsa cdr oss dvd opengl slp cups foomaticdb ppds
usb tiff tcltk ssl"
Comment 1 Bryan Helmkamp 2003-12-30 06:43:48 UTC
Please disregard the subject of this bug, I wrote it before I tried emergeing bonobo-python and forgot to change it.  emerge bonobo-python did not fix the problem so it obviously isn't that dependency problem.

Subject should be: "meld throws ImportError on bonobo.ui at start"
Comment 2 Bryan Helmkamp 2003-12-30 06:57:41 UTC
Further research... Very sorry I didn't include this originally:

$ locate bonobo|grep /usr/lib/python
/usr/lib/python2.2/site-packages/_bonobomodule.la
/usr/lib/python2.2/site-packages/_bonobomodule.so
/usr/lib/python2.2/site-packages/bonobo.pyc
/usr/lib/python2.2/site-packages/bonobo.pyo
/usr/lib/python2.2/site-packages/gtk-2.0/bonobo
/usr/lib/python2.2/site-packages/gtk-2.0/bonobo/ui.la
/usr/lib/python2.2/site-packages/gtk-2.0/bonobo/ui.so
/usr/lib/python2.2/site-packages/gtk-2.0/bonobo/activation.la
/usr/lib/python2.2/site-packages/gtk-2.0/bonobo/activation.so
/usr/lib/python2.2/site-packages/gtk-2.0/bonobo/__init__.pyc
/usr/lib/python2.2/site-packages/gtk-2.0/bonobo/__init__.pyo
/usr/lib/python2.2/site-packages/gtk-2.0/bonobo/_bonobo.la
/usr/lib/python2.2/site-packages/gtk-2.0/bonobo/_bonobo.so
/usr/lib/python2.2/site-packages/gtk-2.0/bonobo/__init__.py
/usr/lib/python2.2/site-packages/bonobo.py

$ locate gnome|grep ui|grep /usr/lib/python
/usr/lib/python2.2/site-packages/gtk-1.2/gnome/ui.py
/usr/lib/python2.2/site-packages/gtk-1.2/gnome/uiconsts.py
/usr/lib/python2.2/site-packages/gtk-1.2/gnome/uiconsts.pyc
/usr/lib/python2.2/site-packages/gtk-1.2/gnome/uiconsts.pyo
/usr/lib/python2.2/site-packages/gtk-1.2/gnome/ui.pyc
/usr/lib/python2.2/site-packages/gtk-1.2/gnome/ui.pyo
/usr/lib/python2.2/site-packages/gtk-1.2/_gnomeuimodule.la
/usr/lib/python2.2/site-packages/gtk-1.2/_gnomeuimodule.so
/usr/lib/python2.2/site-packages/gtk-2.0/gnome/ui.la
/usr/lib/python2.2/site-packages/gtk-2.0/gnome/ui.so
/usr/lib/python2.2/site-packages/gtk-2.0/gnomeprint/ui.la
/usr/lib/python2.2/site-packages/gtk-2.0/gnomeprint/ui.so

If I run a python shell myself:
>>> import bonobo.ui
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
ImportError: No module named ui

>>> import gnome.ui
>>> import bonobo.ui
You must import bonobo before gtk.

Python version: 2.2.3
Comment 3 foser (RETIRED) gentoo-dev 2003-12-30 09:27:25 UTC
bonobo-python is an unrelated package

did you upgrade your python version to 2.3 lately ? Did you do a revdep rebuild as noted in the post install notes ?
Comment 4 Bryan Helmkamp 2003-12-30 10:22:15 UTC
I never had Python 2.3 installed because I only installed python using emerge.

Which post install notes is revdep-rebuild mentioned in?  Python 2.3's?  Should I execute a revdep-rebuild now?
Comment 5 foser (RETIRED) gentoo-dev 2003-12-30 12:13:03 UTC
if you didn't have it you shouldn't be worried about that.

I remember someone mentioning they had to rebuild ORBit2 to get it to work, you could give that a try. Also i assume you tried rebuild gnome-python itself ? Since the file is there it seems, i have no idea why it would fail to load : path problems, is the file really there (locate may be wrong), etc ?
Comment 6 Bryan Helmkamp 2003-12-30 12:55:57 UTC
I emerges gnome-python and it fixed the problem, but I'm pretty sure there is a bug here.

I have directories named gtk-1.2 and gtk-2.0 in /usr/lib/python2.2/site-packages - how does Python know which one to import from when a program does a "import gnome.ui"?  Looking at my emerge log, when I emerged meld it also emerged gnome-python 2.0, then, when I later emerged bonono-python it also installed gnome-python 1.2.
Comment 7 foser (RETIRED) gentoo-dev 2003-12-30 13:11:19 UTC
hmm the loading of the correct version is actually done by a setting in the script, so that is no problem. bonobo-python is not needed here, it is meant for bonobo-1, not 2. bonobo-2 is covered by gnome-python-2 . You can remove gnome-python-1.x & bonobo-python most likely.

Check out the documentation on SLOTs in ebuilds : different versions parallel installable.

Since you can't reproduce it (recompile fixed it), i'm gonna close this INVALID.