Zope and BSDI 4.0 compile failure
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
I've been struggling to get Zope to compile on BSDI 3 (haven't tried 4 yet!). So far I've isolated the problem to my Python installation - that is, the Python "make test" gives errors in the math tests, especially when the Python is built on BSDI with the configure option "--with-thread". Don't know if this applies to your installation, but I thought I'd share it just in case. In that it sounds like you've had Zope running properly on BSDI 3, do you have any insights to share to get it to build and install on BSDI 3? Thanks and good luck! -------- Pete Beazley - mailto:pete@clearlyonline.com ClearlyOnline, Inc. XML-based Web Applications - XML conversion - XML training http://www.clearlyonline.com 1-724-942-1912 1-724-941-3698 fax PGP public key - mailto:pgp.pete@clearlyonline.com
-----Original Message----- From: zope-admin@zope.org [mailto:zope-admin@zope.org]On Behalf Of R. David Murray Sent: Saturday, October 23, 1999 4:44 AM To: zope@zope.org Subject: [Zope] Zope and BSDI 4.0 compile failure
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
_______________________________________________ Zope maillist - Zope@zope.org http://www.zope.org/mailman/listinfo/zope
(Related lists - please, no cross posts or HTML encoding!
To receive general Zope announcements, see: http://www.zope.org/mailman/listinfo/zope-announce
For developer-specific issues, zope-dev@zope.org - http://www.zope.org/mailman/listinfo/zope-dev )
On Sat, 23 Oct 1999, Pete Beazley wrote:
In that it sounds like you've had Zope running properly on BSDI 3, do you have any insights to share to get it to build and install on BSDI 3?
Ah, no! I was cruising the list archives and saw your messages. I stupidly assumed from the fact that there was a FAQ relating to BSDI that there were a number of people running it using 3.0, but of course it doesn't *say* that <grin>. I haven't had any problems with my Python. I didn't run a make test, but I didn't get any of those number related error messages you mentioned. I use Python extensively for sysadmin scripting, and it has been working fine (modulo a little popen hang problem I ran into in upgrading to 1.5.2). I don't think I tried to install 1.5.2 on a 3.0 system, though; all my boxes were at 4.0 before I started the upgrade from 1.4. I *do* have Zope running fine on a FreeBSD 3.1 box. Compiled, installed, and ran with no problems. If it weren't that I'm afraid of breaking customer CGI scripts, I'd be tempted to just upgrade the BSDI box to FreeBSD. So how did you make that -rdynamic change, and are you sure it actually "took" during the compile process? --RDM
Well, I made the "-rdynamic" change as follows, but I'm on thin ice here - I make no claims that this is correct and have no assurances that it "took": LDSHARED= @LDSHARED@ -rdynamic Anyway, it didn't help in my case. As I said, my problems now appear to be in Python. When I tried to build Zope, I would get overflow errors during the password generation. Then when someone suggested I run a Python "make test", I discovered that my Python installation was flawed. So, every since then, I've been trying to get Python built cleanly on my rented BSDI 3.0 box (a virtual server) without success. This isn't a problem on my Win9x systems, so I can still work with Zope and Python locally while I try to figure out the mysteries of BSDI (and virtual work spaces!). Pete -------- Pete Beazley - mailto:pete@clearlyonline.com ClearlyOnline, Inc. XML-based Web Applications - XML conversion - XML training http://www.clearlyonline.com 1-724-942-1912 1-724-941-3698 fax
Ah, no! I was cruising the list archives and saw your messages. I stupidly assumed from the fact that there was a FAQ relating to BSDI that there were a number of people running it using 3.0, but of course it doesn't *say* that <grin>.
I haven't had any problems with my Python. I didn't run a make test, but I didn't get any of those number related error messages you mentioned. I use Python extensively for sysadmin scripting, and it has been working fine (modulo a little popen hang problem I ran into in upgrading to 1.5.2). I don't think I tried to install 1.5.2 on a 3.0 system, though; all my boxes were at 4.0 before I started the upgrade from 1.4.
I *do* have Zope running fine on a FreeBSD 3.1 box. Compiled, installed, and ran with no problems. If it weren't that I'm afraid of breaking customer CGI scripts, I'd be tempted to just upgrade the BSDI box to FreeBSD.
So how did you make that -rdynamic change, and are you sure it actually "took" during the compile process?
--RDM
participants (2)
-
Pete Beazley -
R. David Murray