[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index][Thread Index][Top&Search][Original]

[perl #58858] Building Perl 5.10.0 in AIX 5.3 using "-Duseshrplib" option --> "ERROR: Undefined symbol: boot_DynaLoader"



# New Ticket Created by  Tippa 
# Please include the string:  [perl #58858]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=58858 >


INTRODUCTION
------------

When building Perl 5.10.0 in AIX 5.3 using "-Duseshrplib" option we
get ERROR message ("ERROR: Undefined symbol: boot_DynaLoader") in perl
binary linking phase. It could be however solved by adding
("Makefile.SH", see patch below) "boot_DynaLoader" symbol to the
"perl.exp" file (line 6). This is just quick fix - unfortunately I did
not have enough time to check which would be the most correct place to
change.

You can also notice the WARNING message ("WARNING: Exported symbol not
defined: Perl_signbit") but this is another case.



ENVIRONMENT
-----------

aix53>
aix53> uname -rsvp
AIX 3 5 powerpc
aix53> cc_r -qversion
IBM XL C/C++ Enterprise Edition V8.0 for AIX
Version: 08.00.0000.0000
aix53>



ERROR MESSAGE
-------------

01 make[3]: Leaving directory `/temp/packages/AIX/perl-5.10.0/ext/DynaLoader'
02 rm -f libperl_nonshr.a
03 ar -X64 rcu libperl_nonshr.a   gv.o toke.o perly.o op.o pad.o
regcomp.o dump.o util.o mg.o reentr.o mro.o hv.o av.o perl.o run.o
pp_hot.o sv.o pp.o scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o
utf8.o taint.o deb.o universal.o xsutils.o globals.o perlio.o
perlapi.o numeric.o mathoms.o locale.o pp_pack.o pp_sort.o
04 cc_r -q64 -brtl -bdynamic -b64 -o miniperl_nonshr miniperlmain.o \
05     opmini.o libperl_nonshr.a -lbind -lnsl -ldl -lld -lm -lcrypt
-lpthreads -lc -lbsd
06 ./miniperl_nonshr makedef.pl PLATFORM=aix CC_FLAGS="-O" | sort -u |
sort -f > perl.exp
07 Options: (MULTIPLICITY PERL_DONT_CREATE_GVSV PERL_IMPLICIT_CONTEXT
PERL_MALLOC_WRAP USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS
USE_LARGE_FILES USE_PERLIO USE_REENTRANT_API)
08 Defines: (MULTIPLICITY NEED_PTHREAD_INIT PERL_DONT_CREATE_GVSV
PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP PERL_PRIeldbl PERL_PRIfldbl
PERL_PRIgldbl PERL_RELOCATABLE_INC PERL_SCNfldbl PERL_TARGETARCH
USE_64_BIT_ALL USE_64_BIT_INT USE_DYNAMIC_LOADING USE_ITHREADS
USE_LARGE_FILES USE_NATIVE_DLOPEN USE_PERLIO USE_REENTRANT_API
USE_SEMCTL_SEMID_DS USE_SEMCTL_SEMUN USE_STAT_BLOCKS USE_STDIO_BASE
USE_STDIO_PTR USE_STRUCT_COPY USE_THREADS _ALL_SOURCE _ANSI_C_SOURCE
_POSIX_SOURCE d_mmap d_sigaction)
09 rm -f libperl.a
10 ld -o libperl.a -H512 -T512 -bhalt:4 -bM:SRE -bE:perl.exp -bnoentry
-brtl -bdynamic -b64 -lbind -lnsl -ldl -lld -lm -lcrypt -lpthreads -lc
-lbsd    gv.o toke.o perly.o op.o pad.o regcomp.o dump.o util.o mg.o
reentr.o mro.o hv.o av.o perl.o run.o pp_hot.o sv.o pp.o scope.o
pp_ctl.o pp_sys.o doop.o doio.o regexec.o utf8.o taint.o deb.o
universal.o xsutils.o globals.o perlio.o perlapi.o numeric.o mathoms.o
locale.o pp_pack.o pp_sort.o  DynaLoader.o -lbind -lnsl -ldl -lld -lm
-lcrypt -lpthreads -lc -lbsd
11 ld: 0711-319 WARNING: Exported symbol not defined: Perl_signbit
12 rm -f libperl.o
13 mv libperl.a libperl.o
14 ar -X64 qv libperl.a libperl.o
15 ar: creating an archive file libperl.a
16 q - libperl.o
17 LIBPATH=/temp/packages/AIX/perl-5.10.0:/usr/lib:/temp/packages/AIX/perl-5.10.0:/usr/lib
cc_r -q64 -o perl  -brtl -bdynamic -b64 -bE:perl.exp perlmain.o  -L
/temp/packages/install/AIX/perl/lib/5.10.0/aix-thread-multi-64all/CORE
-L /temp/packages/AIX/perl-5.10.0 -lperl `cat ext.libs` -lbind -lnsl
-ldl -lld -lm -lcrypt -lpthreads -lc -lbsd
18 ld: 0711-319 WARNING: Exported symbol not defined: Perl_signbit
19 ld: 0711-317 ERROR: Undefined symbol: boot_DynaLoader
20 ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more
information.
21 make[2]: *** [perl] Error 8
22 make[2]: Leaving directory `/temp/packages/AIX/perl-5.10.0'
23 make[1]: *** [perl_build] Error 2
24 make[1]: Leaving directory `/temp/create'
25 make: *** [/temp/packages/AIX/perl-5.10.0/.build_mark] Error 2
26 aix53>




PATCH
-----


*** Makefile.SH~        2007-12-18 12:47:07.000000000 +0200
--- Makefile.SH 2008-09-14 02:32:26.000000000 +0300
***************
*** 565,570 ****
--- 565,571 ----
        $spitshell >>Makefile <<'!NO!SUBS!'
  perl.exp: $(MINIPERLEXP) makedef.pl config.sh $(SYM) $(SYMH)
        ./$(MINIPERLEXP) makedef.pl PLATFORM=aix
CC_FLAGS="$(OPTIMIZE)" | sort -u | sort -f > perl.exp
+       echo "boot_DynaLoader" >> perl.exp

  !NO!SUBS!
        ;;



CONFIGURE
---------

./Configure -de -Dprefix=$(INSTALL_DIR)/perl -Duseshrplib -Dusethreads
-Duselargefiles -Duse64bitall -Dinc_version_list=none


<end-of-message>


Follow-Ups from:
"Jan Dubois" <jand@activestate.com>

[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index][Thread Index][Top&Search][Original]