Bugs item #1397850, was opened at 2006-01-05 16:01 Message generated for change (Comment added) made by hajoehlers You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1397850&group_id=5470
Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Installation Group: Python 2.4 Status: Open Resolution: None Priority: 5 Submitted By: hajo (hajoehlers) Assigned to: Nobody/Anonymous (nobody) Summary: libpython2.4.so get not installed Initial Comment: 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 ... ---------------------------------------------------------------------- >Comment By: hajo (hajoehlers) Date: 2006-01-10 21:26 Message: 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 ---------------------------------------------------------------------- Comment By: Neal Norwitz (nnorwitz) Date: 2006-01-09 05:34 Message: 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. ---------------------------------------------------------------------- Comment By: Neal Norwitz (nnorwitz) Date: 2006-01-09 05:21 Message: 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. ---------------------------------------------------------------------- Comment By: hajo (hajoehlers) Date: 2006-01-06 16:24 Message: 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 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1397850&group_id=5470 _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com