[Devel] Re: perl module on solaris

Bastian Friedrich bastian.friedrich at collax.com
Thu Dec 14 10:47:02 CET 2006


Hi,

On Wednesday 13 December 2006 21:02, Bogdan-Andrei Iancu wrote:
[...]
> "perl.c", line 323: undefined symbol: PERL_EXIT_DESTRUCT_END
> cc: acomp failed for perl.c
> make[1]: *** [perl.o] Error 2
>
> compiling on solaris fails because the flag PERL_EXIT_DESTRUCT_END is
> missing...any clue?

unfortunately, I was not able to reproduce that.

On one SunOS machine I have access to compiling OpenSER itself was not 
possible (I suspect a broken setup of that machine :-/), on another one 
OpenSER built fine including the perl module. This machine is set up with 
gcc, though.

PERL_EXIT_DESTRUCT_END is defined in Perl's perl.h, so I see the following 
possibilities for the error:
a) perl.h is not correctly included. Unfortunately, there's kind of a name
   clash between the OpenSER module perl.h and Perl's perl.h...
b) "perl -MExtUtils::Embed -e ccopts" should return the necessary include path
   for Perl's include files. Does that work on your system?
c) The Perl version you use on that system does not #define that constant. Can
   you check that?

I tend to think that the problem is (a). Is there possibly any difference in 
the semantics how #include "..." and #include <...> are handled between gcc 
and sun cc? The idea is that #include <perl.h> includes the OpenSER header 
file instead of the Perl header...

Can you tell me more about the setup of your Sun? I'd try to find a similarly 
set up machine then.

A quick fix would be 
#ifndef PERL_EXIT_DESTRUCT_END
#define PERL_EXIT_DESTRUCT_END 0x02
#endif
somewhere in the headers... But I suspect other problems arise during 
compilation, then :(

Regards,
   Bastian

-- 
Collax GmbH . Burkheimer Straße 3 . 79111 Freiburg . Germany
p: +49 (0) 761-45684-24
f: +49 (0) 761-45684-10        www.collax.com

\ It said "Insert disk #3", but only two will fit!



More information about the Devel mailing list