homepage

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: Add FreeBSD* to configure.in for --enable-shared
Type: Stage:
Components: Build Versions: Python 2.4
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: hyeshik.chang Nosy List: hyeshik.chang, jiwon, jwpye, loewis
Priority: high Keywords: patch

Created on 2004年10月11日 07:40 by jwpye, last changed 2022年04月11日 14:56 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
addfreebsd jwpye, 2004年10月11日 07:40 configure.in patch
Messages (13)
msg47054 - (view) Author: James William Pye (jwpye) Date: 2004年10月11日 07:40
Add FreeBSD to the same class as Linux, GNU, and NetBSD
so that the shared library will be built and installed
on FreeBSD systems when --enabled-shared is specified.
I didn't regenerate the configure script as I wasn't
sure what version of autoconf would be desired. I'll
leave that up to the committer, if accepted.
msg47055 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2004年10月19日 20:25
Logged In: YES 
user_id=21627
Looks good to me.
msg47056 - (view) Author: Jiwon Seo (jiwon) * Date: 2004年10月21日 05:27
Logged In: YES 
user_id=595483
Adding a patch that fixes configure (and configure.in). Used 
autoconf2.59 as is specified in previous configure script.
Patch is at 
http://seojiwon.dnip.net:8000/~jiwon/configure.patch 
msg47057 - (view) Author: Hyeshik Chang (hyeshik.chang) * (Python committer) Date: 2004年10月21日 07:58
Logged In: YES 
user_id=55188
FreeBSD port (their packaging system) already has
a scheme for shared library.
http://www.freebsd.org/cgi/cvsweb.cgi/ports/lang/python/files/patch-configure?rev=1.10&content-type=text/x-cvsweb-markup
It would be good if Python's setting become simliar
to FreeBSD port's.
msg47058 - (view) Author: Jiwon Seo (jiwon) * Date: 2004年10月21日 12:24
Logged In: YES 
user_id=595483
http://seojiwon.dnip.net:8000/~jiwon/configure.patch2 
Here's a patch conforming to FreeBSD port scheme. (I think)
However, for "ac_cv_pthread_system_supported" problem, I
think it's better patched in port system, isn't it?
msg47059 - (view) Author: James William Pye (jwpye) Date: 2004年10月21日 13:49
Logged In: YES 
user_id=1044177
This might be a question for the port maintainer, but what's
the point of cutting the .0 off the SOVERSION? Having it
there hasn't caused any trouble for my CVS build(yet?)..
msg47060 - (view) Author: Hyeshik Chang (hyeshik.chang) * (Python committer) Date: 2004年10月21日 15:07
Logged In: YES 
user_id=55188
For jiwon's patch:
You don't need to post a patch to configure, only
configure.in is enough. For line 1347,1354, I think we
don't need to keep using not $CC but 'cc' as linker on
OpenBSD. AFAIK, OpenBSD uses gcc as their compiler set and
there're no alternatives available. So, it'll not need to
have a special case for OpenBSD.
And, ac_cv_pthread_system_supported stuff is to fix Python's
pthread scope behavior that is not appropriate on FreeBSD.
(In FreeBSD, system scope threads are very expensive than
process scope threads and the former has lots of limitations
on resource usages.) I think it can go into Python src as a
ifdef'ed block, I will post a patch in a new bug item soon.
To jwpye:
FreeBSD's runtime linker system can't handle so versions
with dot(s). You can link againt shared objects with dotted
so versions if you explicitly specified rpath on linking. 
But -lpython2.3.1.0 may not be found by ldconfig(1) nor ld
-shared.
Hence, it tends to make KDE and/or GNOME applications using
python difficult to compile.
msg47061 - (view) Author: Jiwon Seo (jiwon) * Date: 2004年10月21日 15:37
Logged In: YES 
user_id=595483
Okay. 
Here's the patch reflection your suggestion.
http://seojiwon.dnip.net:8000/~jiwon/configure.in 
msg47062 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2004年10月21日 18:31
Logged In: YES 
user_id=21627
perky, I fail to understand your comment on versioning. It
appears to suggest that the patch attached to this report
does not work. However, if it doesn't work, I'm surprised
that jwpye suggested it in the first place.
Anyway, assigning the entire issue to you for resolution.
msg47063 - (view) Author: James William Pye (jwpye) Date: 2004年10月22日 01:08
Logged In: YES 
user_id=1044177
I understand now:
flaw@void:~ % sudo ldconfig /usr/lib /usr/local/lib
/usr/X11R6/lib /usr/dev/lib
flaw@void:~ % ldconfig -r | grep 'python'
 342:-lpython2.3.1 => /usr/local/lib/libpython2.3.so.1
/usr/dev/lib has libpython2.4.so and libpython2.4.so.1.0
flaw@void:~ % cd /usr/dev/lib
flaw@void:/usr/dev/lib % sudo ln -s libpython2.4.so.1.0
libpython2.4.so.1
flaw@void:/usr/dev/lib % sudo ln -sf libpython2.4.so.1
libpython2.4.so
flaw@void:/usr/dev/lib % l libpython2.4.so
lrwxr-xr-x 1 root wheel - 17B Oct 21 18:01
libpython2.4.so -> libpython2.4.so.1
flaw@void:/usr/dev/lib % l libpython2.4.so.1
lrwxr-xr-x 1 root wheel - 19B Oct 21 18:01
libpython2.4.so.1 -> libpython2.4.so.1.0
flaw@void:/usr/dev/lib % sudo ldconfig /usr/lib
/usr/local/lib /usr/X11R6/lib /usr/dev/lib
flaw@void:/usr/dev/lib % ldconfig -r | grep 'python'
 342:-lpython2.3.1 => /usr/local/lib/libpython2.3.so.1
 625:-lpython2.4.1 => /usr/dev/lib/libpython2.4.so.1
Although, it doesn't appear to be "fatal". A ld
-L/usr/dev/lib -lpython2.4 will work fine, either way.
msg47064 - (view) Author: Hyeshik Chang (hyeshik.chang) * (Python committer) Date: 2004年10月26日 06:21
Logged In: YES 
user_id=55188
Sorry for late reply, jwpye.
Whether ldconfig(1) can catch a shared library or not can be
not so important if all applications detect by trying
linkings with explicit path or -L option. But, even FreeBSD
ports uses ldconfig(1) to track dependency and ports
prohibits installing shared libraries with dotted versions.
(you can define NO_FILTER_SHLIBS=yes to avoid the rule.)
In fact, FreeBSD developers are discussing internally about
allowing lib*.so.major.minor versions for base shared
libraries like libc. But Python tends to keep perfect ABI
compatibility within branches and shared library major
versions are virtually useless for Python. So, I think we
can use just ".1" in FreeBSD anyways.
msg47065 - (view) Author: James William Pye (jwpye) Date: 2004年10月26日 07:03
Logged In: YES 
user_id=1044177
Okay. Thanks for handling and explaining this, perky, as it
is a rather important aspect that I had obviously missed.
msg47066 - (view) Author: Hyeshik Chang (hyeshik.chang) * (Python committer) Date: 2004年10月26日 09:55
Logged In: YES 
user_id=55188
Thanks!
Just checked it in:
configure.in 1.473
configure 1.460
Misc/NEWS 1.1178
History
Date User Action Args
2022年04月11日 14:56:07adminsetgithub: 41003
2004年10月11日 07:40:40jwpyecreate

AltStyle によって変換されたページ (->オリジナル) /