Issue1397850
This issue tracker has been migrated to GitHub,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2006-01-05 16:01 by hajoehlers, last changed 2022-04-11 14:56 by admin. This issue is now closed.
Messages (8) | |||
---|---|---|---|
msg60859 - (view) | Author: hajo (hajoehlers) | Date: 2006-01-05 16:01 | |
Given: AIX 5.1 GCC 3.3.2 Python 2.4.2 ( Python-2.4.2.tar.gz ) ./configure \ --enable-unicode \ --enable-shared \ --with-gcc \ --mandir=/usr/local/man \ --infodir=/usr/local/info Problem: during " gmake install " the libpython2.4.a will not be installed in /usr/local/lib and the link for libpython2.4.so does not exist then. I did not dig further but below is the output from "gmake install" For me the ... if test -f libpython2.4.so; then ... look wrong because it does not contain a Path and will fail. regards Hajo output during "gmake install" ... if test -f libpython2.4.so; then \^M if test ".so" = .dll; then \^M /opt/freeware/bin/install -c -m 555 libpython2.4.so /usr/local/bin; \^M else \^M /opt/freeware/bin/install -c -m 555 libpython2.4.so /usr/local/lib/libpython2.4.a; \^M if test libpython2.4.so != libpython2.4.a; then \^M (cd /usr/local/lib; ln -sf libpython2.4.a libpython2.4.so); \^M fi \^M fi; \^M else true; \^M ... |
|||
msg60860 - (view) | Author: hajo (hajoehlers) | Date: 2006-01-06 16:24 | |
Logged In: YES user_id=1420117 Its looked like that the libpython2.4.so will not be build. I took a lock at the Makefile but could not get a clear view what option is needed to let the system build a libpython2.4.so |
|||
msg60861 - (view) | Author: Neal Norwitz (nnorwitz) * | Date: 2006-01-09 05:21 | |
Logged In: YES user_id=33168 The problem seems to be in configure.in. Search for Py_ENABLE_SHARED. Try adding a line for LDLIBRARY (like for BeOS). You may also need a line for INSTSONAME and others variables too. After modifying configure.in, you will need to regenerate with autoconf. You can try modifying configure which is generated by autoconf. Then re-run configure. Search for libpython in the generated Makefile. That should have a .so ending. |
|||
msg60862 - (view) | Author: Neal Norwitz (nnorwitz) * | Date: 2006-01-09 05:34 | |
Logged In: YES user_id=33168 The problem seems to be in configure.in. Search for Py_ENABLE_SHARED. Try adding a line for LDLIBRARY (like for BeOS). You may also need a line for INSTSONAME and others variables too. After modifying configure.in, you will need to regenerate with autoconf. You can try modifying configure which is generated by autoconf. Then re-run configure. Search for libpython in the generated Makefile. That should have a .so ending. |
|||
msg60863 - (view) | Author: hajo (hajoehlers) | Date: 2006-01-10 21:26 | |
Logged In: YES user_id=1420117 Hi Neal if give up to test/fix the configure.in With the help from Ulrich Berning i build a static version and convert these to a shared one. See notes down below. Tnx for supporting Hajo $ cat ./mkshared.python <<EOF #!/bin/ksh # Task: Create a shared/dynamic version of python user=`whoami` if [ $user != 'root' ]; then echo "Try again as root ..." exit 1 fi case $1 in -gcc) cmd="gcc -o python_shared Modules/python.o \ -Wl,-bE:Modules/python.exp \ -L/usr/local/lib -lpython2.4 -lpthread -ldl -lm -lc" ;; -xlc) cmd="cc_r -o python_shared Modules/python.o \ -bE:Modules/python.exp \ -L/usr/local/lib -lpython2.4 -lpthread -ldl -lm -lc" ;; *) echo "Usage $0 -gcc|-xlc" exit 0 ;; esac echo "Creating temporary directory '.extract' ..." mkdir -p .extract echo "Creating a shared object from the static library ..." ld -o .extract/shr.o libpython2.4.a -bnoentry \ -bM:SRE -bE:Modules/python.exp \ -H512 -T512 -lpthread -ldl -lm -lc chmod 555 .extract/shr.o echo "Creating shared library 'libpython2.4.so' ..." ar vr libpython2.4.so .extract/shr.o echo "Removing temporary directory '.extract' ..." rm -rf .extract echo "Installing shared library 'libpython2.4.so' as 'libpython2.4.a' in /usr/local/lib ..." slibclean cp libpython2.4.so /usr/local/lib/libpython2.4.a chmod 555 /usr/local/lib/libpython2.4.a strip /usr/local/lib/libpython2.4.a rm -f libpython2.4.so echo "Linking new python executable with shared library ..." eval $cmd echo "Removing old executables in /usr/local/bin ..." rm -f /usr/local/bin/python rm -f /usr/local/bin/python2.4 echo "Installing new binary in /usr/local/lib ..." cp python_shared /usr/local/bin/python2.4 strip /usr/local/bin/python2.4 chmod 755 /usr/local/bin/python2.4 ln -f /usr/local/bin/python2.4 /usr/local/bin/python rm -f python_shared echo "Calling dump -H on new executable to check the use of the shared library ..." dump -H /usr/local/bin/python2.4 echo "All done ..." EOF # Clean Up LIBPATH or verify its setting. unset LIBPATH # Change into Python build directory cd ./Python-2.4.2 # Start the converstion script ../mkshared.python -xlc Now is /usr/local/bin/python an small executable which load libpython2.4.so |
|||
msg60864 - (view) | Author: Martin v. Löwis (loewis) * | Date: 2006-01-11 22:55 | |
Logged In: YES user_id=21627 --enable-shared simply isn't supported on AIX. I'm tempted to reject this as "won't fix". If anything should be fixed, we should add *) AC_MSG_ERROR(--enable-shared not supported on this system) ;; to the # Other platforms follow if test $enable_shared = "yes"; then block. |
|||
msg60865 - (view) | Author: Neal Norwitz (nnorwitz) * | Date: 2006-01-11 23:02 | |
Logged In: YES user_id=33168 If it's not supported, then I definitely agree we should add the error message you propose. |
|||
msg81444 - (view) | Author: Daniel Diniz (ajaksu2) * | Date: 2009-02-09 06:17 | |
configure.in still doesn't have a "*) AC_MSG_ERROR(--enable-shared not supported on this system)", closing as won't fix still sounds good. |
History | |||
---|---|---|---|
Date | User | Action | Args |
2022-04-11 14:56:14 | admin | set | github: 42769 |
2009-02-09 06:28:22 | loewis | set | status: open -> closed resolution: wont fix |
2009-02-09 06:17:30 | ajaksu2 | set | nosy:
+ ajaksu2 title: libpython2.4.so get not installed -> libpython2.4.so get not installed messages: + msg81444 versions: + Python 3.1, Python 2.7, - Python 2.4 |
2006-01-05 16:01:11 | hajoehlers | create |