[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