classification
Title: SGI (IRIX6.5.24) Problems building nismodule.c
Type: behavior Stage: test needed
Components: Build Versions: Python 2.6
process
Status: closed Resolution: out of date
Dependencies: Superseder:
Assigned To: Nosy List: BreamoreBoy, ajaksu2, loewis, mhertha
Priority: low Keywords:

Created on 2004-08-11 12:31 by mhertha, last changed 2010-08-19 15:59 by BreamoreBoy. This issue is now closed.

Messages (4)
msg60548 - (view) Author: Maik Hertha (mhertha) Date: 2004-08-11 12:31
Building python on SGI Irix 6.5.24 with MIPSpro
Compilers Version 7.3.1.3m with:
./configure
gmake
gmake test

The test shows that the test_nis.py failed.
Running python from the build location:
./python
>>> import nis
>>> nis.maps()
raises a nis.error "No NIS master found for any map".

The Makefile has a LIBS-line (#151):
LIBS=-lsocket -lnsl -ldl -lpthread -lmpz

This line could be shortened to:
LIBS=-lpthread

After
gmake distclean
./configure
-> cleaning up the LIBS-line in Makefile
gmake
gmake test

The nismodule could be successfull used.

Why?
Library libmpz isn't already installed on Irix 6.5.xx
Library libdl isn't used for anything.
Libraries libsocket and libnsl can't access the NIS.

See intro(3) man-page
....
(3N)  There are actually 3 types of networking in IRIX.

           1)  BSD sockets implemented in the kernel,
along with SUN RPC and
           NIS (YP).  The functions that implement
these calls are in libc
           [see (3C) section above].

           2)  SVR4-style STREAMS/TLI networking (not
sockets), along with
           SVR4-style RPC.  SVR4-style RPC doesn't work
with sockets, only
           with the TLI.  Also, SVR4-style networking
does not support NIS
           [see intro(3N)].  The functions that
implement these calls are in
           libnsl, and to use them, the code must be
compiled with :

                cc -D_SVR4_TIRPC  prog.c -lnsl

           3)  SVR4 emulation of sockets.  This is an
implementation of
           sockets entirely in a library (libsocket)
that sits on top of
           libnsl.  There are no header file
differences for libsocket.  The
           MIPS ABI-compliant programs that use sockets
must (in order to be
           ABI-compliant) link with libsocket.  There
is no NIS support for
           programs linked with libsocket [see
intro(3N)].  To compile such a
           program, use:

                cc prog.c -lsocket

     (3Y) Remote Procedure Call (RPC) and NIS support
routines.  These
          functions are in the standard C library libc,
already mentioned.
...

Unfortunately I'm not a configure expert so I could
only report the problem and a solution.

--maik./
msg60549 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2004-08-12 13:51
Logged In: YES 
user_id=21627

Can you investigate in config.log where it refers to mpz for
the first time? The configure file does never refer to mpz
explicitly. Could it be that you have some environment
variable set that influences configure?
msg82076 - (view) Author: Daniel Diniz (ajaksu2) (Python triager) Date: 2009-02-14 14:44
Will close unless OP provides more feedback or someone else can follow
through.
msg114371 - (view) Author: Mark Lawrence (BreamoreBoy) * Date: 2010-08-19 15:59
Closed as no reply to msg82076.
History
Date User Action Args
2010-08-19 15:59:54BreamoreBoysetstatus: open -> closed

nosy: + BreamoreBoy
messages: + msg114371

resolution: out of date
2009-02-14 14:44:19ajaksu2setversions: + Python 2.6, - Python 2.4
nosy: + ajaksu2
messages: + msg82076
priority: normal -> low
type: behavior
stage: test needed
2004-08-11 12:31:24mherthacreate