When python-2.4.2 is emerged on PPC64, a part of files are installed in /usr/lib instead of /usr/lib64. I think that the files installed in /usr/lib should be installed in /usr/lib64 like python-2.3.5-r2. Thank you.
# emerge --info Portage 2.0.51.22-r3 (default-linux/ppc/2005.1/ppc64/multilib, gcc-3.4.4, glibc-2.3.4.20041102-r2, 2.6.14-gentoo-r3 ppc64) ================================================================= System uname: 2.6.14-gentoo-r3 ppc64 PPC970, altivec supported Gentoo Base System version 1.6.14 powerpc64-unknown-linux-gnu-gcc (GCC) 3.4.4 (Gentoo 3.4.4-r1, ssp-3.4.4-1.0, pie-8.7.8) [disabled] dev-lang/python: 2.3.5-r2, 2.4.2 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.20 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="ppc64" AUTOCLEAN="yes" CBUILD="powerpc64-unknown-linux-gnu" CFLAGS="-O2 -mtune=970 -maltivec -mabi=altivec -pipe -fomit-frame-pointer" CHOST="powerpc64-unknown-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib64/mozilla/defaults/pref /usr/share/X11/xkb /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="-O2 -mtune=970 -maltivec -mabi=altivec -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig cvs digest distlocks noclean sandbox sfperms" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages/ppc64" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage.cross" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="ppc64 X Xaw3d a52 aac aalib acl alsa altivec apache2 arts audiofile berkdb bitmap-fonts bmp bzip2 cdparanoia cdr cjk crypt cscope cups curl dga dvd dvdr eds emacs encode esd estraier exif expat fam fbcon ffmpeg firefox flac flash font-server foomaticdb fortran gd gdbm gif glut gnome gphoto2 gpm gstreamer gtk gtk2 iconv icq idn imagemagick imap imlib immqt insecure-drivers java javascript joystick jpeg kde lcms ldap libwww linguas_ja m17n-lib mad maildir matroska migemo mime ming mng mozilla mp3 mpeg msn ncurses nls nptl ogg oggvorbis opengl oss pam pcre perl php png postgres python qt readline samba scanner sdl slang snmp sox spell ssl tcltk tcpd tetex theora thumbnail tiff truetype truetype-fonts type1-fonts udev unicode usb vorbis xine xinerama xml xml2 xmms xv xvid yahoo zlib video_cards_radeon userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS
result of `ROOT=/tmp/python emerge --nodeps =python-2.3.5-r2` # ls -lha /tmp/python/usr total 0 drwxr-xr-x 6 root root 144 Jan 13 03:55 . drwxr-xr-x 6 root root 144 Jan 13 03:55 .. drwxr-xr-x 2 root root 208 Jan 13 03:55 bin drwxr-xr-x 3 root root 80 Jan 13 03:55 include drwxr-xr-x 3 root root 152 Jan 13 03:55 lib64 drwxr-xr-x 2 root root 80 Jan 13 03:55 sbin # ls -lha /tmp/python/usr/lib64 total 1.6M drwxr-xr-x 3 root root 152 Jan 13 03:55 . drwxr-xr-x 6 root root 144 Jan 13 03:55 .. lrwxrwxrwx 1 root root 19 Jan 13 03:55 libpython2.3.so -> libpython2.3.so.1.0 -r-xr-xr-x 1 root root 1.6M Jan 13 03:55 libpython2.3.so.1.0 drwxr-xr-x 18 root root 18K Jan 13 03:55 python2.3 # ls -lha /tmp/python/usr/lib64/python2.3 total 9.2M drwxr-xr-x 18 root root 18K Jan 13 04:59 . drwxr-xr-x 3 root root 152 Jan 13 04:59 .. -rw-r--r-- 1 root root 21K Jan 13 04:59 BaseHTTPServer.py -rw-r--r-- 1 root root 21K Jan 13 04:59 BaseHTTPServer.pyc -rw-r--r-- 1 root root 21K Jan 13 04:59 BaseHTTPServer.pyo <snip> -rw-r--r-- 1 root root 26K Jan 13 04:59 zipfile.py -rw-r--r-- 1 root root 24K Jan 13 04:59 zipfile.pyc -rw-r--r-- 1 root root 24K Jan 13 04:59 zipfile.pyo
result of `ROOT=/tmp/python emerge --nodeps =python-2.4.2` # ls -lha /tmp/python/usr total 0 drwxr-xr-x 7 root root 168 Jan 13 04:00 . drwxr-xr-x 6 root root 144 Jan 13 04:00 .. drwxr-xr-x 2 root root 232 Jan 13 04:00 bin drwxr-xr-x 3 root root 80 Jan 13 03:59 include drwxr-xr-x 3 root root 80 Jan 13 03:59 lib drwxr-xr-x 3 root root 152 Jan 13 04:00 lib64 drwxr-xr-x 2 root root 80 Jan 13 03:59 sbin # ls -lha /tmp/python/usr/lib total 18K drwxr-xr-x 3 root root 80 Jan 13 03:59 . drwxr-xr-x 7 root root 168 Jan 13 04:00 .. drwxr-xr-x 16 root root 18K Jan 13 04:00 python2.4 # ls -lha /tmp/python/usr/lib/python2.4 total 9.1M drwxr-xr-x 16 root root 18K Jan 13 04:00 . drwxr-xr-x 3 root root 80 Jan 13 03:59 .. -rw-r--r-- 1 root root 21K Jan 13 03:59 BaseHTTPServer.py -rw-r--r-- 1 root root 21K Jan 13 04:00 BaseHTTPServer.pyc -rw-r--r-- 1 root root 21K Jan 13 04:00 BaseHTTPServer.pyo <snip> -rw-r--r-- 1 root root 26K Jan 13 03:59 zipfile.py -rw-r--r-- 1 root root 19K Jan 13 04:00 zipfile.pyc -rw-r--r-- 1 root root 19K Jan 13 04:00 zipfile.pyo # ls -lha /tmp/python/usr/lib64 total 1.7M drwxr-xr-x 3 root root 152 Jan 13 04:00 . drwxr-xr-x 7 root root 168 Jan 13 04:00 .. lrwxrwxrwx 1 root root 19 Jan 13 04:00 libpython2.4.so -> libpython2.4.so.1.0 -r-xr-xr-x 1 root root 1.7M Jan 13 03:59 libpython2.4.so.1.0 drwxr-xr-x 4 root root 104 Jan 13 04:00 python2.4 # ls -lha /tmp/python/usr/lib64/python2.4 total 1.5K drwxr-xr-x 4 root root 104 Jan 13 04:00 . drwxr-xr-x 3 root root 152 Jan 13 04:00 .. drwxr-xr-x 2 root root 368 Jan 13 04:00 config drwxr-xr-x 2 root root 1.8K Jan 13 04:00 lib-dynload
Is this fixed in 2.4.3-r1? If so, then it'll be fixed w/ 2006.1's release (for stages).
i can't tell whether it is fixed. can we poke one of the ppc64 devs to verify?
problem still present: # ROOT=/tmp/python emerge --nodeps python # ls -lha /tmp/python/usr/lib total 32K drwxr-xr-x 3 root root 22 2006-07-28 11:54 . drwxr-xr-x 7 root root 63 2006-07-28 11:54 .. drwxr-xr-x 16 root root 16K 2006-07-28 11:54 python2.4
ok, i see what the problem is, and it exists under amd64 as well. we only put the platform specific libraries in /usr/lib64 and the platform agnostic stuff (eg. .py files) into /usr/lib. On amd64, there is a symlink from /usr/lib to /usr/lib64 so we don't really get bitten by this. i can only presume that ppc64 doesn't have a similar multilib setup. I guess the solution for us is to modify the libdir patch in the python patchset and get everything in /usr/lib64. so thoughts any one? otherwise i will go ahead and make that change to the patch.
(In reply to comment #7) > i can only presume that ppc64 doesn't have a similar multilib setup. I guess > the solution for us is to modify the libdir patch in the python patchset and > get everything in /usr/lib64. just make sure you use $(get_libdir) instead of a hardcoded "lib64" and i'm all happy with it :)
dev-lang/python-2.4.3-r2 in portage has an updated libdir patch that makes sures everything is installed in /usr/lib/ rather than just the compiled modules. i've tested this on an amd64 machine and it seems to do the right thing. hopefully this will be good enough.
of course i mean /usr/lib$(get_libdir)
The new libdir patch breaks cross-compile for me. I'm cross-compiling for mips64el for the n32 ABI. So $(get_libdir) returns lib32. In my setup, lib is not a symlink to lib32 because lib contains the o32 ABI. 2.4.3-r1 worked, but I get these errors with 2.4.3-r2: ... mips64el-unknown-linux-gnu-gcc -DNDEBUG -O2 -pipe -I. -I./Include -fPIC -DPy_BUILD_CORE -I/usr/include -c ./Modules/zlibmodule.c -o Modules/zlibmodule.o mips64el-unknown-linux-gnu-gcc -DNDEBUG -O2 -pipe -I. -I./Include -fPIC -DPy_BUILD_CORE -c ./Modules/xxsubtype.c -o Modules/xxsubtype.o In file included from ./Modules/zlibmodule.c:7: ./Include/Python.h:26:2: error: #error "Something's broken. UCHAR_MAX should be defined in limits.h." ./Include/Python.h:30:2: error: #error "Python's source code assumes C's unsigned char is an 8-bit type." ./Include/Python.h:39:5: error: #error "Python.h requires that stdio.h define NULL." In file included from ./Include/Python.h:79, from ./Modules/zlibmodule.c:7: ./Include/pymem.h:50: warning: parameter names (without types) in function declaration ./Include/pymem.h:51: error: expected declaration specifiers or '...' before 'size_t' In file included from ./Include/Python.h:81, from ./Modules/zlibmodule.c:7: ./Include/object.h:227: error: expected declaration specifiers or '...' before 'FILE' ./Include/object.h:371: error: expected declaration specifiers or '...' before 'FILE' In file included from ./Include/Python.h:82, from ./Modules/zlibmodule.c:7: ./Include/objimpl.h:97: warning: parameter names (without types) in function declaration ./Include/objimpl.h:98: error: expected declaration specifiers or '...' before 'size_t' ./Include/objimpl.h:292: warning: parameter names (without types) in function declaration In file included from ./Include/Python.h:86, from ./Modules/zlibmodule.c:7: ./Include/unicodeobject.h:511: error: expected ';', ',' or ')' before '*' token ./Include/unicodeobject.h:529: error: expected ';', ',' or ')' before '*' token In file included from ./Include/Python.h:89, from ./Modules/zlibmodule.c:7: ./Include/longobject.h:63: error: expected '=', ',', ';', 'asm' or '__attribute__' before '_PyLong_NumBits' ./Include/longobject.h:79: error: expected declaration specifiers or '...' before 'size_t' ...
the zlib problem was caused by a typo in one of the patches. 2.4.3-r3 should fix it as soon as i finish testing it.
2.4.3-r3 is in portage with the proper multilib support. i'm closing this now, but if people find it doesn't work, please reopen.