[csw-users] Perl on build hosts and DynaLoader

Juergen Arndt ja at opencsw.org
Sun Aug 16 18:08:53 CEST 2009


Hi all,

I'm trying to build Nagios with it's embedded perl interpreter. Some weeks  
ago that was no problem, but since yesterday I run into the following  
problem:

Undefined                       first referenced
  symbol                             in file
boot_DynaLoader                     perlxsi.o

The file perlxsi.c is created in the configure script:


         PERLLIBS="`/opt/csw/bin/perl -MExtUtils::Embed -e ldopts`"
         PERLDIR="`/opt/csw/bin/perl -MConfig -e 'print  
$Config{installsitearch}'`"
         CFLAGS="${CFLAGS} `/opt/csw/bin/perl -MExtUtils::Embed -e ccopts`"
         USEPERL=yes
         INSTALLPERLSTUFF=yes;
         PERLXSI_O=perlxsi.o
         OBJS="${OBJS} ${PERLXSI_O}"
         echo "creating base/perlxsi.c"
         /opt/csw/bin/perl -MExtUtils::Embed -e xsinit -- -o base/perlxsi.c


As far as Google told me, the needed libs should be determined by  
"/opt/csw/bin/perl -MExtUtils::Embed -e ldopts", so the configure script  
should be ok. I checked, if PERLLIBS is passed correctly to the compiler,  
which seems to be fine too. Nevertheless the compiler complains when  
building:


gmake[3]: Entering directory  
`/home/ja/mgar/pkg/nagios/trunk/work/build-isa-i386/nagios-3.2.0/base'
/opt/studio/SOS11/SUNWspro/bin/cc -xO3 -xarch=386 -I/opt/csw/include  
-I/opt/csw/nagios/include  -D_REENTRANT -xO3 -xarch=386 -I/opt/csw/include  
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64   
-I/opt/csw/lib/perl/5.8.8/CORE  -DHAVE_CONFIG_H -DNSCORE -o nagios  
nagios.c broker.o nebmods.o checks.o config.o commands.o events.o  
flapping.o logging.o macros-base.o netutils.o notifications.o sehandlers.o  
skiplist.o utils.o retention-base.o xretention-base.o comments-base.o  
xcomments-base.o objects-base.o xobjects-base.o statusdata-base.o  
xstatusdata-base.o perfdata-base.o xperfdata-base.o downtime-base.o  
xdowntime-base.o  ../common/snprintf.o perlxsi.o  -xarch=386  
-L/opt/csw/nagios/lib -L/opt/csw/lib -R /opt/csw/lib -xarch=386  
-L/opt/csw/lib -L/usr/lib -L/usr/ccs/lib -L/lib   
-L/opt/csw/lib/perl/5.8.8/CORE -lperl -lsocket -lnsl -ldb-4.7 -ldl -lm  
-lpthread -lc -lperl -lm -lnsl -lsocket -lpthread -lltdl -lrt
"nagios.c", line 652: warning: implicit function declaration: asprintf
Undefined                       first referenced
  symbol                             in file
boot_DynaLoader                     perlxsi.o
ld: fatal: Symbol referencing errors. No output written to nagios


Does anybody have an advice for me?

Juergen

-- 
Juergen Arndt



More information about the users mailing list