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.

classification
Title: Shared Python Library installed without link
Type: Stage:
Components: Installation Versions: Python 2.3
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: achimgaedke, georg.brandl, loewis
Priority: normal Keywords:

Created on 2003-07-26 15:59 by achimgaedke, last changed 2022-04-10 16:10 by admin. This issue is now closed.

Messages (5)
msg17365 - (view) Author: Achim Gaedke (achimgaedke) Date: 2003-07-26 15:59
Hi!

I've read the Changes of python2.3c2 and found good news of a 
shared python library. It is installed at:
/usr/local/lib/libpython2.3.so.1.0

For compatibility most installer link such libraries with full version 
number to a simple name: libpython2.3.so .

Maybe you can add such a feature to the Makefile.

My system: Redhat-8.0 with all available patches applied.
Python Version: Python2.3c2 source distribution
msg17366 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2003-07-27 11:07
Logged In: YES 
user_id=21627

Does the link appear if you run ldconfig?
msg17367 - (view) Author: Achim Gaedke (achimgaedke) Date: 2003-07-27 12:20
Logged In: YES 
user_id=246687

No. To be more exact: I usually install new programs to 
/opt/prgname-version, so the example was a little bit unusual for me.

As you suggested I executed as root:

ldconfig -n /opt/Python-2.3c2/lib

This should update the link, but not the ldso.cache (as stated in the 
man-page). But it does not work.

Maybe, the SONAME of this library is too detailed:
objdump -p /opt/Python-2.3c2/lib/libpython2.3.so.1.0|grep SONAME
  SONAME      libpython2.3.so.1.0

Ok, I've changed soname (-Wl,-soname=libpython2.3.so) and now the link 
appears!

ldconfig -vn /opt/Python-2.3c2/lib
/opt/Python-2.3c2/lib:
        libpython2.3.so -> libpython2.3.so.1.0 (changed)

One (hard)link is set in the build-directory. But it is not copied to the install 
directory.

My suggestion is to change the Makefile:
1) -Wl,-soname should give the short name
2) Set a link or run ldconfig -n $(LIBDIR)
msg17368 - (view) Author: Achim Gaedke (achimgaedke) Date: 2003-07-28 12:55
Logged In: YES 
user_id=246687

might be a follow up failure of:

[ 701823 ] configure option --enable-shared make problems
msg17369 - (view) Author: Georg Brandl (georg.brandl) * (Python committer) Date: 2005-10-01 17:21
Logged In: YES 
user_id=1188172

In 2.4.2 and 2.5cvs, the symlink is installed.
History
Date User Action Args
2022-04-10 16:10:14adminsetgithub: 38937
2003-07-26 15:59:02achimgaedkecreate