Hi, folks.

I'm having a problem building a statically linked perl (yes,
I know, but I
need it for XS debugging).  MakeMaker is trying to link the
static binary
with libapreq.a, which is okay, but libapreq.a doesn't
export a bootstrap
symbol boot_libapreq().  The perlmain.c generated by by
Makefile.aperl
contains a call to the boot_libapreq() function.

I assume this is because libapreq.a is found in the
5.6.0/auto directory.
A quick check shows this is the only .a file in that
directory.  libapreq
appears to be related to Apache and/or mod_perl (APache
REQuest).

I can build the static perl successfully if I manually
delete the call in
perlmain.c to boot_libapreq().  However, it's inconvenient
and clearly
bogus to have to do this every time.

Any ideas?

    rat@sandbox ~/work/lib/vended/SNMP 913% make perl
    make -f Makefile.aperl perl
    Writing perlmain.c
    cd . && gcc -c
-I/usr/local/lib/perl5/5.6.0/sun4-solaris/CORE \
    -DDEBUGGING -O -DVERSION=\"3.1.0_eli_bulkwalk\" \
    -DXS_VERSION=\"3.1.0_eli_bulkwalk\" \
    -I/usr/local/lib/perl5/5.6.0/sun4-solaris/CORE
perlmain.c
    make[1]: Entering directory
`/home/rat/work/lib/vended/SNMP'
    gcc -L/usr/local/lib -L/usr/lib -L/usr/ccs/lib  -o perl
-O ./perlmain.o
    -R/usr/local/lib -R/usr/lib blib/arch/auto/SNMP/SNMP.a

/usr/local/lib/perl5/site_perl/5.6.0/sun4-solaris/auto/libapreq/libapreq.a


/usr/local/lib/perl5/5.6.0/sun4-solaris/auto/DynaLoader/DynaLoader.a

    /usr/local/lib/perl5/5.6.0/sun4-solaris/CORE/libperl.a
`cat
    blib/arch/auto/SNMP/extralibs.all` -lsfio -lsocket -lnsl
-ldl -lm -lc
    -lcrypt -lsec
    Undefined                       first referenced
     symbol                             in file
    boot_libapreq                       ./perlmain.o
    ld: fatal: Symbol referencing errors. No output written
to perl
    collect2: ld returned 1 exit status
    make[1]: *** [perl] Error 1
    make[1]: Leaving directory
`/home/rat/work/lib/vended/SNMP'
    make: *** [perl] Error 2

    rat@sandbox ~/work/lib/vended/SNMP 919% find
/usr/local/lib/perl5/site_perl/5.6.0/sun4-solaris/auto/
-name '*.a' -print

/usr/local/lib/perl5/site_perl/5.6.0/sun4-solaris/auto/libapreq/libapreq.a





Reply via email to