Greg Ward wrote: > > Some months ago, I tried to build the latest Python on an IRIX 6.5 > system that has been, shall we say, lightly maintained for some time. > (Basically, its /usr/local/ is mounted from an IRIX 5 system, and it's > full of libraries that you can't link against with the default compiler > flags on IRIX 6.) > > Unfortunately, Python's setup.py is a bit too rigid: it assumes that it > should always add /usr/local/{lib,include} to the lib/include search > paths, it assumes it should always search /usr/local/lib (and a few > others) for SSL libraries, etc. Worse, it assumes the existence of > libssl.a implies the linkability of -lssl -- when /usr/local is broken, > this ain't necessarily so. > > Now I know what the Right Answer is: finish implementing the Distutils > "config" command, and use it to properly probe the system for includable > header files and linkable libraries, rather than just assuming existence > == validity. > That would be nice. That would certainly be nice indeed (for other users of distutils as well ;-). > But I've got a quick 'n easy fix -- the moral > equivalent of commenting out the code in PyBuildExt.detect_modules() > that makes those blithe assumptions. Namely, I added --without-usrlocal > and --without-ssl options to the custom build_ext command used by > setup.py. > > Now, I can build most extensions just fine on this broken IRIX system > like this: > ./python setup.py build_ext --without-ssl --without-usrlocal > > I've just uploaded patch #467650 (assigned to Andrew) to implement this: > http://sourceforge.net/tracker/index.php?func=detail&aid=467650&group_id=5470&atid=305470 > > Whaddya think? Good enough bandaid solution? Or should I add a few > more things, eg.: > --with-ssl-lib=DIR directory to search for OpenSSL libs > --with-ssl-inc=DIR directory to search for OpenSSL headers > --without-foo don't try to build foo I think that these options are more in line with what configure scripts tend to offer: if the magic doesn't work, let the user decide. > The last one could be repeated for various values of "foo": curses, dbm, > bsddb, etc. I don't think that's too necessary; if some foo doesn't > build, then it doesn't build and that's that. From my cursory > examination of detect_modules(), the _socket/OpenSSL dependency is the > only obvious module-killer. (That is, the bogus OpenSSL libs killed the > _socket module completely, when all I really need to do is not use > OpenSSL on this system.) -- Marc-Andre Lemburg CEO eGenix.com Software GmbH ______________________________________________________________________ Consulting & Company: http://www.egenix.com/ Python Software: http://www.lemburg.com/python/
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4