[Zope] Zope and BSDI 4.0 compile failure

R. David Murray rdmurray@bitdance.com
Sat, 23 Oct 1999 04:43:37 -0400 (EDT)


I'm trying to install Zope on a BSDI 4.0 machine running Python 1.5.2.
When I compile, I get lots of "undefined reference to" error messages
and the compile stops.  Looking at the FAQ page there is a reference
to adding -rdynamic to the LDSHARED variable in the Makefile.pre.in
files.  This makes no sense to me, since as far as I can see when
the make -f Makefile.pre.in boot is done the file referenced is
the existing Makefile in the <pythonlib>/config directory, and so
changes to LDSHARED in the distributed Makefile.pre.in files should
have no effect on the install.  I tried it anyway but it didn't seem
to make any difference to the 'python w_pcgi.py' run. 

So I tried adding -rdynamic to the <pythonlib>/config/Makefile
LDSHARED, and that didn't work either.  I got:

  ld -rdynamic  ExtensionClass.o  -o ExtensionClass.so
  ld: no input files

Since according to the ld man page -r doesn't take an argument and
-rdynamic isn't a valid argument, I'm not quite sure what is going
on.

So I tried just -r (make the compiled module relocatable; sounds
reasonable), and that got the compile to complete.  However, now
when I run ./start, I get:

  /usr/local/bin/python: '/usr/local/src/zope/Zope-2.0.1-src/lib/python/ExtensionClass.so' is not an ELF executable for 386/486

No big surprise there either.

I tried -Bdynamic.  No go there either.  I also tried the -k, but the
modules don't get made so I get an error that they are missing when
I try to start zope.

So, am I missing something obvious, or does anyone know what
combination of options I need to get this thing to compile properly?
Is it something new about BSDI 4.0 vs 3.0 that is causing this
problem?  It *looks* like a problem with python's config support
for dynamic modules under BSDI, but I couldn't find anything on
the Python website or list archives, and obviously I don't know
enough about python modules or Unix linking to figure this out.

--RDM