warnings during installation of python2.3.1 on SCO_SV 3.2v5.0.5

Richard Sharp rbsharp at gmx.de
Mon Oct 6 17:18:34 EDT 2003


For anyone interested here is the solution to the problem. ./configure is
not setting HAVE_DYNAMIC_LOADING. This is because libdl.a is not being
found.
To keep it short, unless you specify CLFLAG="-b elf", SCO will only search
for libdl.a and not for libdl.so. libdl.a is not there and then
HAVE_DYNAMIC_LOADING will not be set. This will lead to a problem in
setup.py, which subclasses build_extension and, after building the
library, tries to import it, with imp.load_dynamic(..). If you look at
Python/import.c, then it is obvious that without HAVE_DYNAMIC_LOADING
there will be no method load_dynamic and thence the error message.

So to start - CLFLAG="-b elf";export CLFLAG or the appropriate for your
shell.

The other problems you may get are with socketmodule.c.

1. On my SCO IPv6 is not there. This means ./configure --enable-ipv6=no.

2. SCO does not supply h_errno and this has to be defined.
3. INET_ADDRSTRLEN is not defined but required.


at line 230, the following appears
# ifndef RISCOS
#  include <fcntl.h>
# else
#  include <sys/ioctl.h>
#  include <socklib.h>
#  define NO_DUP
int h_errno; /* not used */
#  define INET_ADDRSTRLEN 16
# endif

I just borrowed the two lines below NO_DUP and put them right above the
first ifndef. It would of course be better to make the definitions
dependant on SCO.

At line 2971 we have this:

#ifndef ENABLE_IPV6
	if(af == AF_INET6) {
		PyErr_SetString(socket_error,
				"can't use AF_INET6, IPv6 is disabled");
		return NULL;
	}
#endif

If I may be pardoned, I think it is just plain wrong. I commented it out
to get moving.

I couldn't get readline.c to compile because I didn't have
readline/history.h.
I couldn't get the bz2-module to compile, but never mind.

What I couldn't build was a static version of Python-2.3.1 which I, for
obscure reasons, need. Something has happened between Python-2.2.3 and
Python 2.3.1, probably in the import area, but I know not what.

That was my bundle of fun with SCO, but perhaps the experience will be
helpful for others.

Richard Sharp




More information about the Python-list mailing list