[Python-bugs-list] [ python-Bugs-445980 ] _socket fails to build on IRIX 6.5 (original) (raw)

noreply@sourceforge.net noreply@sourceforge.net
Wed, 03 Oct 2001 12:49:51 -0700


Bugs item #445980, was opened at 2001-07-30 08:24 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=105470&aid=445980&group_id=5470

Category: Extension Modules Group: Platform-specific Status: Closed Resolution: Postponed Priority: 5 Submitted By: Greg Ward (gward) Assigned to: Greg Ward (gward) Summary: _socket fails to build on IRIX 6.5

Initial Comment: Building 2.2a1 on a 64-bit SGI box running IRIX 6.5. I used the MIPSPro 7.30 compiler, using the "-n32" flag ("new 32-bit object"). Building the interpreter and most extensions works, but creating _socket.so fails as follows:

ld -shared -all build/temp.irix64-6.5-2.2/socketmodule.o -L/usr/local/ssl/lib -L/usr/local/lib -lssl -lcrypto -o build/lib.irix64-6.5-2.2/_socket.so ld32: FATAL 12 : Expecting n32 objects: /usr/local/ssl/lib/libssl.so is o32. WARNING: building of extension "_socket" failed: command 'ld' failed with exit status 4

I think this is a local configuration error, but the build process should probably be more resilient to it. At the very least, there should probably be a --without-ssl configure option so linking against OpenSSL can be disabled on systems with broken OpenSSL installations (like this one).


Comment By: Greg Ward (gward) Date: 2001-10-03 12:49

Message: Logged In: YES user_id=14422

Oh, I forgot to mention: I worked around the problem by editing setup.py. In PyBuildExt.detect_modules(), I just commented out all the code that looks for OpenSSL, so _socket.so is always built from socketmodule.c alone, with no other junk (eg. broken SSL libs).


Comment By: Greg Ward (gward) Date: 2001-10-03 12:45

Message: Logged In: YES user_id=14422

This build failure happened because /usr/local is broken on the system where I tried to build it. (Briefly, /usr/local is full of 32-bit libs from IRIX 5, and I'm building on 64-bit IRIX 6.)

The main Python problem here is lack of flexibility in setup.py: it always adds /usr/local/{lib,include} to the library/include search paths, and always looks for OpenSSL in /usr/local/lib. If /usr/local is broken or untrustworthy, this is the wrong thing to do.

This has nothing to do with the _socket module per se, though, so I'm going to close this bug. I'll see if I can't come up with a patch to add options to setup.py, eg. "--without-openssl" or "--without-usrlocal".


You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=105470&aid=445980&group_id=5470