[Zope-Perl] caveats installing zope-perl on Solaris

Gisle Aas gisle@ActiveState.com
19 Aug 2000 21:01:03 +0200


Harry Danilevsky <hdanilevsky@siichi.com> writes:

> I finally built perl/python combination, learning 
> couple of caveats along the way which I thought I might share.
> 
> My platform is Sun Solaris 2.7, gcc egcs-2.91.57

Cool to some testing on other platforms.

> 1. When I built Perl 5.6 I used pretty much all defaults,
> including "use Perl's own  malloc()" . That unfortunately 
> seems to be a mistake for Perl/Python combination, because it causes a core
> dump as soon as you say "import perl", and stack trace
> shows it to happen in malloc(). When I rebuilt Perl
> disabling "usemymalloc" the problem disappeared.

For Linux usemymalloc appears to be 'n' by default, so I have not
actaully tried it with 'y' yet.

I just discovered that distutils does not pass on the -D... things
perl wants when compiling the perlmodule sources.  Perhaps this make a
difference to the usemymalloc problem.  This is the temporary fix I
used:

Index: setup.py
===================================================================
RCS file: /home/cvs/activestate/bifrost/setup.py,v
retrieving revision 1.10
diff -u -p -u -r1.10 setup.py
--- setup.py	2000/08/14 11:05:02	1.10
+++ setup.py	2000/08/19 18:52:37
@@ -19,7 +19,7 @@ cc_extra     = []
 for x in split(perl_ccopts):
     if x[:2] == '-I':
 	include_dirs.append(x[2:])
-    elif x[:2] == '-D':
+    elif 0 and x[:2] == '-D':
 	m = split(x[2:], '=', 2)
 	if len(m) == 1:
 	    m.append(None)


> 2. python setup.py build (or install) wants to use
> ld to create perl.so. The problem is, it really
> should use gcc (and I use gcc, not Sun cc)
> not ld, so that gnu C library will be used later, not Sun library
> (if I use ld I get unresolved references, e.g. __floatdidf)
> This has nothing to do with perl/python, but rather distutils.
> Is there some config parameter I can set to tell distutils
> to use gcc, not ld as linking command ?

distutils will pick of these things from the
/usr/lib/python1.5/config/Makefile (modified by a different py version
and/or prefix).  That should give you the same compiler/linker that
python was built with in the first place.

Regards,
Gisle