Issue1086642
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.
Created on 2004-12-16 19:21 by akosprime, last changed 2022-04-11 14:56 by admin. This issue is now closed.
Messages (13) | |||
---|---|---|---|
msg23736 - (view) | Author: A. Stocker (akosprime) | Date: 2004-12-16 19:21 | |
I'm attempting to install Python 2.4 on an SGI Origin 2400 running Irix 6.5.22. I'm using gcc (3.3) to compile, and I've tried using three different make programs (make, smake, and gmake[3.80]) but get the same error during compilation during the building of _socket. There was not a problem building 2.2.1 on this machine before, we never built 2.3 so I do not know if the same problem existed. Here is the relevant entry from the make: building '_socket' extension gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -shared -fno-strict-aliasing -I. -I/usr/local/src/Python-2.4/./Include -I/us r/local/include -I/usr/local/src/Python-2.4/Include -I/usr/local/src/Python-2.4 -c /usr/local/src/Python-2.4/Modules/socke tmodule.c -o build/temp.irix64-6.5-2.4/socketmodule.o In file included from /usr/local/src/Python-2.4/Modules/socketmodule.c:280: /usr/local/src/Python-2.4/Modules/addrinfo.h:145:1: warning: "_SS_ALIGNSIZE" redefined In file included from /usr/local/src/Python-2.4/Modules/socketmodule.h:8, from /usr/local/src/Python-2.4/Modules/socketmodule.c:223: /usr/include/sys/socket.h:246:1: warning: this is the location of the previous definition /usr/local/src/Python-2.4/Modules/socketmodule.c: In function `makeipaddr': /usr/local/src/Python-2.4/Modules/socketmodule.c:853: warning: implicit declaration of function `getnameinfo' /usr/local/src/Python-2.4/Modules/socketmodule.c:854: error: `NI_NUMERICHOST' undeclared (first use in this function) /usr/local/src/Python-2.4/Modules/socketmodule.c:854: error: (Each undeclared identifier is reported only once /usr/local/src/Python-2.4/Modules/socketmodule.c:854: error: for each function it appears in.) /usr/local/src/Python-2.4/Modules/socketmodule.c: In function `socket_gethostbyname_ex': /usr/local/src/Python-2.4/Modules/socketmodule.c:2785: warning: implicit declaration of function `gethostbyname_r' /usr/local/src/Python-2.4/Modules/socketmodule.c:2785: warning: assignment makes pointer from integer without a cast /usr/local/src/Python-2.4/Modules/socketmodule.c: In function `socket_gethostbyaddr': /usr/local/src/Python-2.4/Modules/socketmodule.c:2880: warning: implicit declaration of function `gethostbyaddr_r' /usr/local/src/Python-2.4/Modules/socketmodule.c:2881: warning: assignment makes pointer from integer without a cast building '_ssl' extension |
|||
msg23737 - (view) | Author: A. Stocker (akosprime) | Date: 2004-12-22 14:19 | |
Logged In: YES user_id=1179755 All, I decided to force the issue a bit. Looking through socketmodule.c I noticed that there was an SGI specific check that basically disabled loading the addrinfo.h file, which is where NI_NUMERICHOST is defined. So I put the #define statement from the addrinfo.h file directly in the socketmodule.c file and the compilation with _socket worked. However this seems to be a clunky way to deal with the situation. Plus I don't know if there's anything else like this biting me in the butt (for instance '_locale' doesn't compile either.) |
|||
msg23738 - (view) | Author: Ralf W. Grosse-Kunstleve (rwgk) | Date: 2004-12-30 15:28 | |
Logged In: YES user_id=71407 Martin v. Loewis asked me to take a look (because of my involvement in http://python.org/sf/728330). I never use gcc under IRIX. Python 2.4 works just fine with the native IRIX compilers. Suggestion to A. Stocker: try to modify the ifdef's in socketmodule.c to do the right thing for gcc 3.3. I can test your patch on our machines to make sure compilation with the native compilers is still OK. |
|||
msg23739 - (view) | Author: Ralf W. Grosse-Kunstleve (rwgk) | Date: 2004-12-30 16:38 | |
Logged In: YES user_id=71407 FWIW: socketmodule.c included in Python 2.3.4 also fails to compile with gcc. Platform: IRIX 6.5.21, gcc 3.3 from SGI's freeware distribution. |
|||
msg23740 - (view) | Author: Ralf W. Grosse-Kunstleve (rwgk) | Date: 2004-12-30 16:44 | |
Logged In: YES user_id=71407 Some additional observations: socketmodule.c compiles with gcc 3.3 under IRIX 6.5.21 after applying this simple-minded patch (relative to Python 2.4): --- socketmodule.c.orig 2004-11-07 06:24:25.000000000 - 0800 +++ socketmodule.c 2004-12-30 08:06:01.896160200 - 0800 @@ -280,6 +280,10 @@ # include "addrinfo.h" #endif +#if defined(__sgi) && defined(__GNUC__) && !defined (NI_NUMERICHOST) +# define NI_NUMERICHOST 0x00000002 +#endif + #ifndef HAVE_INET_PTON int inet_pton(int af, const char *src, void *dst); const char *inet_ntop(int af, const void *src, char *dst, socklen_t size); This test works OK: ./python Lib/test/test_socket.py But this one doesn't: ./python Lib/test/test_socketserver.py |
|||
msg23741 - (view) | Author: A. Stocker (akosprime) | Date: 2005-01-11 15:48 | |
Logged In: YES user_id=1179755 Okay, I tried compiling using the Irix Mips compilers. To do this I did a ./configure --without-gcc. However when attempting to make it errored out. Here is the last section of the make output: ar cr libpython2.4.a Modules/config.o Modules/getpath.o Modules/main.o Modules/gcmodule.o ar cr libpython2.4.a Modules/threadmodule.o Modules/signalmodule.o Modules/posixmodule.o Modules/errnomodule.o Modules/_sre.o Modules/_codecsmodule.o Modules/zipimport.o Modules/symtablemodule.o Modules/xxsubtype.o : libpython2.4.a c++ -o python \ Modules/python.o \ libpython2.4.a -lsocket -lnsl -ldl -lpthread -lmpc -lm ld32: WARNING 84 : /usr/lib32/libsocket.so is not used for resolving any symbol. ld32: WARNING 84 : /usr/lib32/libnsl.so is not used for resolving any symbol. ld32: WARNING 84 : /usr/lib32/libdl.so is not used for resolving any symbol. ld32: FATAL 9 : I/O error (-lmpc): No such file or directory collect2: ld returned 32 exit status *** Error code 1 (bu21) The patch is relatively the same as the hack I tried earlier, and noted in a follow-up. But as pointed out test_socketserver doesn't work ("Use of the `network' resource not enabled") and _locale doesn't work ("*** WARNING: renaming "_locale" since importing it failed: 1774654:./python: rld: Fatal Error: unresolvable symbol in build/lib.irix64-6.5-2.4/_locale.so: libintl_dcgettext") I'm not sure what else to try in order to get this working. |
|||
msg23742 - (view) | Author: Ralf W. Grosse-Kunstleve (rwgk) | Date: 2005-01-11 17:32 | |
Logged In: YES user_id=71407 You are missing a system library: /usr/lib/libmpc.a I've never done anything special to install this library but it is available on all three IRIX systems that I have access to. The library is not used to resolve any symbols. I guess you could just remove the -lmpc from the link line. |
|||
msg23743 - (view) | Author: A. Stocker (akosprime) | Date: 2005-01-11 17:43 | |
Logged In: YES user_id=1179755 Ralf, Strange, I DO have that library: ls -l /usr/lib/libmpc* -r--r--r-- 1 root sys 1220 Mar 13 2001 /usr/lib/libmpc.a It makes no sense to me that the SGI MIPS compilers can't find a library that's in a default location. Very peculiar. I guess I'm just going to have to give up on getting Python 2.4 working completely under Irix. We need both network and _locale to work in order for the various scripts we have in place to work correctly and I can't get it to compile with gcc. [*sigh*] |
|||
msg23744 - (view) | Author: Ralf W. Grosse-Kunstleve (rwgk) | Date: 2005-01-11 17:56 | |
Logged In: YES user_id=71407 Before giving up I'd try to reset PATH before running configure in the Python directory. I had all kinds of trouble with the freeware tools on path. Here is what I use: /usr/bin /usr/bsd /bin /usr/sbin /sbin /etc /usr/etc /usr/bin/X11 Python 2.4 really works under IRIX, incl. the socket module. I have it going on three different machines. On one machine the timestamp for libmpc.a is from 1998! |
|||
msg23745 - (view) | Author: Andrew McNabb (amcnabb) | Date: 2006-09-19 21:26 | |
Logged In: YES user_id=1234027 I'm having this same problem with Python 2.5. I checked, and "/usr/lib/libmpc.a" is present. I've only tried with gcc, and I'm getting the exact same errors as above. |
|||
msg23746 - (view) | Author: Andrew McNabb (amcnabb) | Date: 2006-09-19 21:42 | |
Logged In: YES user_id=1234027 When I use the native IRIX cc to compile socketmodule.c in Python 2.5, I get: cc -OPT:Olimit=0 -DNDEBUG -O -I. -I/auto/fsc/awm27/bzr/Python-2.5/./Include -I/fsc/awm27/i nclude -I./Include -I. -I/usr/local/include -I/auto/fsc/awm27/bzr/Python-2.5/Include -I/au to/fsc/awm27/bzr/Python-2.5 -c /auto/fsc/awm27/bzr/Python-2.5/Modules/socketmodule.c -o bu ild/temp.irix64-6.5-2.5/auto/fsc/awm27/bzr/Python-2.5/Modules/socketmodule.o cc-1047 cc: WARNING File = /usr/include/sys/param.h, Line = 372 Macro "MAX" (declared at line 77 of "/auto/fsc/awm27/bzr/Python-2.5/Modules/socketmodule.c") has an incompatible redefinition. #define MAX(a,b) (((a)>(b))?(a):(b)) ^ When I commented out the macro definition in socketmodule.c, I was able to get it to compile (with the IRIX compiler). It seems to me that --without-gcc should be the default for IRIX until the gcc problem gets fixed because ./configure is currently automatically choosing gcc as the compiler when both are available. And I'm really not sure why the "#undef MAX" didn't happen. Anyway, I hope this is helpful for someone. |
|||
msg23747 - (view) | Author: Georg Brandl (georg.brandl) * ![]() |
Date: 2006-10-12 08:44 | |
Logged In: YES user_id=849994 Is anyone going to do something about this, without a specific report? Anyway, lowering priority. |
|||
msg23748 - (view) | Author: Andrew McNabb (amcnabb) | Date: 2006-10-12 15:37 | |
Logged In: YES user_id=1234027 There IS a specific report. It won't compile with gcc. Either it needs to be acknowledged that gcc doesn't work and only allow the IRIX compiler, or else it needs to be fixed. There's tons of detail in the many reports in this thread. |
History | |||
---|---|---|---|
Date | User | Action | Args |
2022-04-11 14:56:08 | admin | set | github: 41333 |
2010-04-03 07:07:38 | georg.brandl | set | status: pending -> closed |
2009-02-16 17:52:02 | ajaksu2 | set | status: open -> pending |
2007-08-23 20:00:48 | georg.brandl | set | title: Compile of _socket fails on 2.4 -> Compile of _socket fails on IRIX with 2.4 |
2004-12-16 19:21:51 | akosprime | create |