Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 118805 - python-2.4.2 installs a part of files in /usr/lib on PPC64
Summary: python-2.4.2 installs a part of files in /usr/lib on PPC64
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: PPC64 Linux
: High normal (vote)
Assignee: Python Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-01-12 11:54 UTC by Yuta SATOH (RETIRED)
Modified: 2006-09-02 05:21 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Yuta SATOH (RETIRED) gentoo-dev 2006-01-12 11:54:29 UTC
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.
Comment 1 Yuta SATOH (RETIRED) gentoo-dev 2006-01-12 11:55:47 UTC
# 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

Comment 2 Yuta SATOH (RETIRED) gentoo-dev 2006-01-12 12:00:45 UTC
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
Comment 3 Yuta SATOH (RETIRED) gentoo-dev 2006-01-12 12:01:47 UTC
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
Comment 4 Chris Gianelloni (RETIRED) gentoo-dev 2006-07-19 06:22:46 UTC
Is this fixed in 2.4.3-r1?  If so, then it'll be fixed w/ 2006.1's release (for stages).
Comment 5 Alastair Tse (RETIRED) gentoo-dev 2006-07-28 03:25:00 UTC
i can't tell whether it is fixed. can we poke one of the ppc64 devs to verify? 
Comment 6 Markus Rothe (RETIRED) gentoo-dev 2006-07-28 04:59:51 UTC
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
Comment 7 Alastair Tse (RETIRED) gentoo-dev 2006-07-28 05:45:11 UTC
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.
Comment 8 Simon Stelling (RETIRED) gentoo-dev 2006-07-31 01:14:13 UTC
(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 :)
Comment 9 Alastair Tse (RETIRED) gentoo-dev 2006-08-26 03:12:21 UTC
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.
Comment 10 Alastair Tse (RETIRED) gentoo-dev 2006-08-26 03:12:45 UTC
of course i mean /usr/lib$(get_libdir)
Comment 11 Joel Martin (RETIRED) gentoo-dev 2006-08-27 17:35:29 UTC
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'
...

Comment 12 Alastair Tse (RETIRED) gentoo-dev 2006-08-28 09:34:50 UTC
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. 
Comment 13 Alastair Tse (RETIRED) gentoo-dev 2006-09-02 05:21:51 UTC
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.