First Last Prev Next    No search results available      Search page      Enter new bug
Bug#: 76791
Alias:
Product:
Component:
Status: RESOLVED
Resolution: FIXED
Assigned To: Gentoo Linux Gnome Desktop Team <gnome@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: Herbie Hopkins (RETIRED) <herbs@gentoo.org>
Add CC:
CC:
Remove selected CCs
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
lib64-fix.patch patch to fix installation of .pth files on 64bit systems patch Herbie Hopkins (RETIRED) 2005-01-09 14:34 0000 823 bytes Details | Diff
python-multilib-fixes.patch python-2.3.5.ebuild multilib fixes patch Herbie Hopkins (RETIRED) 2005-03-11 07:03 0000 2.21 KB Details | Diff
python-multilib-fixes.patch python-2.3.5.ebuild multilib fixes patch Herbie Hopkins (RETIRED) 2005-03-11 07:36 0000 2.78 KB Details | Diff
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 76791 depends on: Show dependency tree
Bug 76791 blocks:
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)


Not eligible to see or edit group visibility for this bug.






View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2005-01-05 10:25 0000
pygtk-2.4.1 does not create the neccessary .pth or .py files and it's simlinks.
This leads to ImportErrors when trying to run python scripts against this.

$ emerge pygtk
[ snip ]

make[2]: Leaving directory
`/home/portage/tmp/portage/pygtk-2.4.1/work/pygtk-2.4.1/tests'
make[1]: Leaving directory
`/home/portage/tmp/portage/pygtk-2.4.1/work/pygtk-2.4.1/tests'
mv: cannot stat
`/home/portage/tmp/portage/pygtk-2.4.1/image//usr/lib/python2.3/site-packages/pygtk.py':
No such file or directory
mv: cannot stat
`/home/portage/tmp/portage/pygtk-2.4.1/image//usr/lib/python2.3/site-packages/pygtk.pth':
No such file or directory

[ snip ]

 * Cleaning orphaned Python bytecode from /usr/share/pygtk/2.0/codegen ..
 * Cleaning orphaned Python bytecode from /usr/lib/python2.2/site-packages ..
 * Cleaning orphaned Python bytecode from /usr/lib/python2.3/site-packages ..
 * Unable to establish /usr/lib/python2.3/site-packages/pygtk.py symlink
 * Unable to establish /usr/lib/python2.3/site-packages/pygtk.pth symlink
>>> original instance of package unmerged safely.
 * Byte compiling python modules for python-2.3 .. ...                    [ ok
] * Unable to establish /usr/lib/python2.3/site-packages/pygtk.py symlink
 * Unable to establish /usr/lib/python2.3/site-packages/pygtk.pth symlink
 * Unable to find /usr/lib/python2.3/site-packages/pygtk.py
>>> Regenerating /etc/ld.so.cache...
 * Caching service dependencies ...                                       [ ok
]>>> dev-python/pygtk-2.4.1 merged.

# ls /usr/lib/python2.3/site-packages/pygtk*
ls: /usr/lib/python2.3/site-packages/pygtk*: No such file or directory.

Reproducible: Always
Steps to Reproduce:
1.
2.
3.




Portage 2.0.51-r8 (default-linux/amd64/2004.3, gcc-3.4.3,
glibc-2.3.4.20041102-r0, 2.6.10-gentoo-r1 x86_64)
=================================================================
System uname: 2.6.10-gentoo-r1 x86_64 AMD Athlon(tm) 64 Processor 3200+
Gentoo Base System version 1.6.8
Python:              dev-lang/python-2.3.4 [2.3.4 (#1, Sep 13 2004, 13:06:22)]
distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632)
[disabled]
ccache version 2.3 [enabled]
dev-lang/python:     2.3.4
sys-devel/autoconf:  2.59-r6, 2.13
sys-devel/automake:  1.8.5-r2, 1.5, 1.4_p6, 1.6.3, 1.7.9, 1.9.3
sys-devel/binutils:  2.15.92.0.2-r2
sys-devel/libtool:   1.5.10-r2
virtual/os-headers:  2.6.8.1-r1
ACCEPT_KEYWORDS="amd64 ~amd64"
AUTOCLEAN="yes"
CFLAGS="-march=athlon64 -O2 -pipe -fweb -ftracer"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config
/usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown
/usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config
/usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/
/usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/
/usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=athlon64 -O2 -pipe -fweb -ftracer"
DISTDIR="/mnt/nfs/home/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox"
GENTOO_MIRRORS="http://mir.zyrianes.net/gentoo/
http://ftp.snt.utwente.nl/pub/os/linux/gentoo ftp://mir.zyrianes.net/gentoo/"
LDFLAGS=""
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/home/portage/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="amd64 S3TC X aalib acpi alsa avi berkdb bitmap-fonts cdr crypt cups curl
dga dvd dvdr eds encode escreen etwin evo f77 faad fam fbcon flac flash fortran
gd gdbm gif gimpprint gnome gphoto2 gpm gtk gtk2 gtkhtml hal imagemagick imap
imlib ipv6 java javascript jp2 jpeg ldap libwww lzw lzw-tiff mad maildir mikmod
motif mozaccess-builtin mozilla mozirc mozxmlterm multilib mysql ncurses nls
nptl nvidia offensive oggvorbis opengl oss pam perl plotutils png python
readline samba sdl slang speex ssl tcpd tetex theora tiff truetype
truetype-fonts type1-fonts usb userlocales xface xinerama xml xml2 xmms xpm
xrandr xv xvid zlib"

------- Comment #1 From foser (RETIRED) 2005-01-05 14:53:09 0000 -------
weird portageroot.

what filesys is it on ?

------- Comment #2 From Herbie Hopkins (RETIRED) 2005-01-05 15:06:20 0000 -------
reiserfs (v3). I just have _TMPDIR there since there is more space than under
/usr.

------- Comment #3 From Fred Duckworth 2005-01-06 03:40:16 0000 -------
Same problem
'ebuild pygtk-2.4.1.ebuild compile' does create pygtk.py and pygtk.pth but 'install' does not put them in the '/usr/lib64/python2.3/site-packages' directory.
If you copy them manually then pygtk works OK.
I guess it must be a fault in the 'ebuild' when running 'amd64'
I am running AMD64 on ASUS K8V SE Deluxe motherboard with 'nomultilib' use flag.

------- Comment #4 From Herbie Hopkins (RETIRED) 2005-01-07 04:17:03 0000 -------
On closer inspection it seems that this is caused by the ebuild doing
operations on ${D}/usr/lib/python${PYVER}/site-packages/pygtk* when on a 64bit
system this file has been installed to ${D}/usr/lib64 (lines 47-50).

------- Comment #5 From foser (RETIRED) 2005-01-08 15:46:42 0000 -------
solution ?

------- Comment #6 From Herbie Hopkins (RETIRED) 2005-01-09 14:34:32 0000 -------
Created an attachment (id=48054) [edit]
patch to fix installation of .pth files on 64bit systems

Sorry I didn't have time to submit this on friday. Not sure if this is the most
elegant solution but I hope you find it acceptable.

------- Comment #7 From Fred Duckworth 2005-01-10 12:15:23 0000 -------
Patch works fine.

------- Comment #8 From Albert Hopkins (RETIRED) 2005-01-11 07:34:20 0000 -------
I don't understand this.  I have the same problem on an x86:

 * Unable to establish /usr/lib/python2.3/site-packages/pygtk.py symlink
 * Unable to establish /usr/lib/python2.3/site-packages/pygtk.pth symlink

The patch does not solve it.  Perhaps this is a seperate issue?

------- Comment #9 From Herbie Hopkins (RETIRED) 2005-01-13 03:11:21 0000 -------
marduk: if you scroll further up in the ebuild output, do you see any errors
due to the mv lines?

------- Comment #10 From Alastair Tse (RETIRED) 2005-01-13 09:02:18 0000 -------
i'm not familiar with the amd64 situation, is python installed in /usr/lib64 ?
then i guess all the python eclasses need to use /usr/$(get_libdir) or similar
.. can amd64 folks confirm this?

i'm suprised that we've survived so long without knowing this.

------- Comment #11 From Georgi Georgiev 2005-01-31 15:49:39 0000 -------
Yes, python is installed in /usr/$(get_libdir)

------- Comment #12 From Herbie Hopkins (RETIRED) 2005-01-31 17:32:27 0000 -------
On amd64 /usr/lib is a symlink to /usr/lib64 which is why this is not usually a
problem. This issue only occurs due to operations on the fake root (which does
not contain this symlink) prior to install.

------- Comment #13 From Simon Stelling (RETIRED) 2005-03-02 13:10:34 0000 -------
as herbie said, /usr/lib is still (this will change sometimes) a symlink to
/usr/lib64, but even when /usr/lib is an own directory, python libs should go
there.

------- Comment #14 From Herbie Hopkins (RETIRED) 2005-03-07 08:14:55 0000 -------
Looks like eradicator has tried to fix this at some point by replacing lib by
$(get_libdir) (from line 51). This still fails for me right now as the shared
libs seem to be installed in ${D}/usr/lib where they should get installed to
${D}/usr/$(get_libdir). Not sure why econf is putting them there...

------- Comment #15 From Herbie Hopkins (RETIRED) 2005-03-07 09:50:00 0000 -------
It appears that although econf sets libdir correctly python extension module
directory is set to ${exec_prefix}/lib/python2.3/site-packages and so the mv
commands on ${D}/usr/$(get_libdir)/python2.3/site-packages fail.

------- Comment #16 From Alastair Tse (RETIRED) 2005-03-08 05:40:09 0000 -------
there were some omissions in the ebuild regarding get_libdir esp in postinst
and postrm functions. please try it out now.

------- Comment #17 From Herbie Hopkins (RETIRED) 2005-03-08 06:33:30 0000 -------
still fails..

The problem is in src_install:
(cut from output of emerge pygtk)
mv: cannot stat `/var/tmp/portage/pygtk-2.4.1/image//usr/lib64/python2.3/site-packages/pygtk.py': No such file or directory
mv: cannot stat `/var/tmp/portage/pygtk-2.4.1/image//usr/lib64/python2.3/site-packages/pygtk.pth': No such file or directory

They exist in ${D}/usr/lib and not in ${D}/usr/lib64 where they are expected. The alternatives_auto_makesym calls in pkg_postinst then goes on to delete them later as these files are expected to be symlinks.

The question is wheather python site-packages should get installed in lib or lib64 on amd64? If it's the former then the Makefile is correct and we just need to replace $(get_libdir) with lib in lines 51-54. If it's the latter then the the Makefile needs to get patched to install them to lib64 on amd64.

------- Comment #18 From Herbie Hopkins (RETIRED) 2005-03-08 06:45:32 0000 -------
What's most annoying is that when I first submitted this bug report the files
were getting installed into ${D}/usr/lib64 and the ebuild was expecting them to
be in ${
D}/usr/lib and now the situation has reversed itself, ebuild got updated to use
get_libdir but the files are now getting installed in ${D}/usr/lib - wtf?

------- Comment #19 From Milus János 2005-03-08 12:53:51 0000 -------
The same here.(amd64, pygtk-2.6.0)
There are some error messages during the compilation:

Could not write method AtkObject.connect_property_change_handler: No ArgType for 'AtkPropertyChangeHandler*'
Could not write method AtkObject.notify_state_change: No ArgType for 'AtkState'
Warning: generating old-style constructor for atk_no_op_object_new
Could not write method AtkRelation.get_target: No ArgType for 'GPtrArray*'
Could not write method AtkStateSet.add_states: No ArgType for 'AtkStateType*'
Could not write method AtkStateSet.contains_states: No ArgType for 'AtkStateType*'
Could not write function add_focus_tracker: No ArgType for 'AtkEventListener'
Could not write function focus_tracker_init: No ArgType for 'AtkEventListenerInit'
Could not write function add_global_event_listener: No ArgType for 'GSignalEmissionHook'
Could not write function add_key_event_listener: No ArgType for 'AtkKeySnoopFunc'

and

Could not write getter for PangoGlyphString.glyphs: No ArgType for 'PangoGlyphInfo*'
Could not write getter for PangoGlyphString.log_clusters: No ArgType for 'gint*'Could not write method PangoLayoutIter.get_run: No ArgType for 'PangoLayoutRun*'Could not write method PangoLayoutIter.get_line: No ArgType for 'PangoLayoutLine*'
Warning: generating old-style constructor for pango_fontset_simple_new
Warning: generating old-style constructor for pango_layout_new
Could not write method PangoLayout.get_line: No ArgType for 'PangoLayoutLine*'
Could not write method PangoLayout.get_lines: No ArgType for 'GSList*'
Could not write function find_paragraph_boundary: No ArgType for 'gint*'
Could not write function get_log_attrs: No ArgType for 'PangoLogAttr*'
Could not write function itemize: No ArgType for 'PangoAttrIterator*'
Could not write function reorder_items: No ArgType for 'GList*'

and

Could not write method GtkAccelGroup.activate: No ArgType for 'GQuark'
Could not write method GtkAccelGroup.find: No ArgType for 'GtkAccelKey*'
Could not write method GtkAccelGroup.query: No ArgType for 'guint*'
Could not write virtual accessor method GtkAccelGroup.accel_changed: No ArgType for 'GClosure*'
Could not write virtual proxy GtkAccelGroup.accel_changed: No ArgType for 'GClosure*'
Could not write method GtkAccelLabel.set_accel_closure: No ArgType for 'GClosure*'
Could not write method GtkActionGroup.set_translate_func: No ArgType for 'GtkTranslateFunc'
Could not write virtual accessor method GtkCellRenderer.get_size: No ArgType for 'gint*'
Warning: generating old-style constructor for gtk_clipboard_get_for_display
Could not write virtual accessor method GtkContainer.forall: No ArgType for 'GtkCallback'
Could not write virtual accessor method GtkContainer.set_child_property: No ArgType for 'const-GValue*'
Could not write virtual accessor method GtkContainer.get_child_property: No ArgType for 'GValue*'
Could not write virtual proxy GtkContainer.forall: No ArgType for 'GtkCallback'
Could not write virtual proxy GtkContainer.child_type: No ArgType for 'GType'
Could not write virtual proxy GtkContainer.set_child_property: No ArgType for 'const-GValue*'
Could not write virtual proxy GtkContainer.get_child_property: No ArgType for 'GValue*'
Could not write method GtkCTree.set_drag_compare_func: No ArgType for 'GtkCTreeCompareDragFunc'
Could not write method GtkDialog.set_alternative_button_order: varargs functions not supported
Could not write method GtkDialog.set_alternative_button_order_from_array: No ArgType for 'gint*'
Could not write virtual proxy GtkFrame.compute_child_allocation: No ArgType for 'GtkAllocation*'
Could not write virtual accessor method GtkIMContext.get_preedit_string: No ArgType for 'gchar**'
Could not write virtual accessor method GtkIMContext.get_surrounding: No ArgType for 'gchar**'
Could not write virtual proxy GtkIMContext.get_preedit_string: No ArgType for 'gchar**'
Could not write virtual proxy GtkIMContext.get_surrounding: No ArgType for 'gchar**'
Could not write method GtkIMContextSimple.add_table: No ArgType for 'guint16*'
Warning: generating old-style constructor for gtk_item_factory_new
Could not write method GtkListStore.insert_with_values: varargs functions not supported
Could not write method GtkListStore.insert_with_valuesv: No ArgType for 'gint*'
Could not write virtual accessor method GtkMenuItem.toggle_size_request: No ArgType for 'gint*'
Could not write virtual proxy GtkMenuItem.toggle_size_request: No ArgType for 'gint*'
Could not write virtual accessor method GtkNotebook.switch_page: No ArgType for 'GtkNotebookPage*'
Could not write virtual proxy GtkNotebook.switch_page: No ArgType for 'GtkNotebookPage*'
Could not write virtual accessor method GtkObject.set_arg: No ArgType for 'GtkArg*'
Could not write virtual accessor method GtkObject.get_arg: No ArgType for 'GtkArg*'
Could not write virtual proxy GtkObject.set_arg: No ArgType for 'GtkArg*'
Could not write virtual proxy GtkObject.get_arg: No ArgType for 'GtkArg*'
Warning: generating old-style constructor for gtk_preview_new
Could not write virtual accessor method GtkRcStyle.parse: No ArgType for 'GScanner*'
Could not write virtual proxy GtkRcStyle.parse: No ArgType for 'GScanner*'
Could not write virtual accessor method GtkScale.get_layout_offsets: No ArgType for 'gint*'
Could not write virtual proxy GtkScale.get_layout_offsets: No ArgType for 'gint*'
Could not write method GtkSettings.set_property_value: No ArgType for 'const-GtkSettingsValue*'
Could not write virtual accessor method GtkSpinButton.input: No ArgType for 'gdouble*'
Could not write virtual proxy GtkSpinButton.input: No ArgType for 'gdouble*'
Could not write virtual accessor method GtkStyle.draw_polygon: No ArgType for 'GdkPoint*'
Could not write virtual proxy GtkStyle.draw_polygon: No ArgType for 'GdkPoint*'
Could not write virtual accessor method GtkTextTag.event: No ArgType for '/*'
Could not write virtual proxy GtkTextTag.event: No ArgType for '/*'
Could not write method GtkTextView.get_iter_at_position: No ArgType for 'gint*'
Could not write method GtkTreeSelection.get_user_data: No ArgType for 'gpointer'
(and some more line similar to the previous)

------- Comment #20 From Brendan Rankin 2005-03-11 00:26:29 0000 -------
Let's see.... I'm not too happy that this screws up my gdesklets :-)  But
seriously, please test prior to commiting a change DEVs!

------- Comment #21 From Herbie Hopkins (RETIRED) 2005-03-11 07:03:17 0000 -------
Created an attachment (id=53184) [edit]
python-2.3.5.ebuild multilib fixes

finally got to the bottom of this. It seems that there are some multilib issues
in the python-2.3.5.ebuild. It relies on CONF_LIBDIR being set but it's not. As
a result the lib64 patch does not get applied. This patch fixes this by relying
on get_libdir instead.

------- Comment #22 From Herbie Hopkins (RETIRED) 2005-03-11 07:36:56 0000 -------
Created an attachment (id=53185) [edit]
python-2.3.5.ebuild multilib fixes

Just found a few other lines where /usr/lib was defined explicitly. This new
patch fixes those to use get_libdir too.

------- Comment #23 From Milus János 2005-03-15 02:30:31 0000 -------
It works for me. (I apllied the patch, re-emerged python and pygtk).

------- Comment #24 From Alastair Tse (RETIRED) 2005-03-15 04:23:52 0000 -------
i didn't realised that python 2.3.5 wasn't completely multilib-ified. committed
the changes proposed and also cleaned up  some more /usr/lib's in pygtk. please
test if it works on amd64. (i can't test it since i don't actually have a
multilib machine :P)

------- Comment #25 From Herbie Hopkins (RETIRED) 2005-03-15 11:09:08 0000 -------
Tested this and all seems to work well here ;-) Marking fixed.

------- Comment #26 From Brendan Rankin 2005-03-17 16:57:47 0000 -------
Please reopen.  It's jacked again with 2.6.1!

------- Comment #27 From Herbie Hopkins (RETIRED) 2005-03-17 17:08:48 0000 -------
Brendon, works fine here. The problem was in the python ebuild so make sure you
re-emerge python and pygtk:
# emerge sync
# emerge --oneshot python pygtk

------- Comment #28 From Herbie Hopkins (RETIRED) 2005-03-29 03:46:08 0000 -------
*** Bug 86557 has been marked as a duplicate of this bug. ***

------- Comment #29 From Gour 2005-04-05 12:03:21 0000 -------
Hi!

I have the problem with dev-python/pygtk-2.6.1, e.g. calling 'meld' gives:

gour@gaura-nitai ~ $ meld
Traceback (most recent call last):
  File "/usr/bin/meld", line 69, in ?
    import gtk
ImportError: No module named gtk

The similar situation is with pybliographer which used to work on amd64, but it's again broken (see: #71529).

So, pls. re-open this bug.

I tried with re-emerging gtk+, python & pygtk, but no avail.

Sincerely,
Gour



------- Comment #30 From Rob Cakebread 2005-04-05 12:20:51 0000 -------
Gour, give us the versions of python and pygtk you're using please.

There are a few people in the forums reporting this same problem with python 2.3.5. I've mailed jhuebel about getting access to nemo (amd64 gentoo box) to try and fix this and verify 2.4 is multilib ready before unmasking it. 

------- Comment #31 From Gour 2005-04-05 12:30:20 0000 -------
Hi!

<quote>Gour, give us the versions of python and pygtk you're using please.</quote>

Python 2.3.5 (#1, Apr  5 2005, 15:41:25)
[GCC 3.4.3-20050110 (Gentoo Linux 3.4.3.20050110-r1, ssp-3.4.3.20050110-0, pie- on linux2

dev-python/pygtk-2.6.1


Sincerely,
Gour

------- Comment #32 From Rob Cakebread 2005-04-07 07:58:18 0000 -------
*** Bug 88015 has been marked as a duplicate of this bug. ***

------- Comment #33 From Tobias Minich 2005-04-28 06:48:13 0000 -------
I think there are multiple bugs at work here.

1. the amd64 thing
2. Something different, that leads to what eg Gour reported (which ahppens to me too on i386).

I have my cent to add for 2. Something is really weird (at least to me who is not fluent in the workings of shell/python). I get the same error as Gour for meld. If I copy and rename meld to meld.py, the error is gone and it works!

------- Comment #34 From Marc Geerlings 2005-04-28 07:02:19 0000 -------
I reported the same bug as "Bug 88015" which was marked as duplicate of this
bug. I too use i386 and have the meld (and denu) problem, so my problem is not
a 64 bit problem

------- Comment #35 From John Youells 2005-05-01 23:28:03 0000 -------
Python 2.3.5 (#1, May  2 2005, 02:01:43) pygtk-2.6.1
I too use i386 and have the denu problem also.

------- Comment #36 From Leonardo Boshell (RETIRED) 2005-05-09 09:29:17 0000 -------
*** Bug 89519 has been marked as a duplicate of this bug. ***

------- Comment #37 From Heinrich Wendel (RETIRED) 2005-05-31 15:22:37 0000 -------
*** Bug 89096 has been marked as a duplicate of this bug. ***

------- Comment #38 From Herbie Hopkins (RETIRED) 2005-07-27 10:46:28 0000 -------
The origional probem I reported here is long since fixed. Is there anybody
still
having problems? this bug is very old and I'd like to close it.

------- Comment #39 From Herbie Hopkins (RETIRED) 2005-08-01 09:50:45 0000 -------
No response from anybody, assuming fixed.

First Last Prev Next    No search results available      Search page      Enter new bug