Front page | perl.perl5.porters |
Postings from December 2008
suidperl on AIX
Thread Next
From:
Rainer Tammer
Date:
December 2, 2008 04:41
Subject:
suidperl on AIX
Message ID:
493528EF.4070208@tammer.net
Hello,
I have encountered a little problem with suidperl. As soon as I specify
-Dd_dosuid to build suidperl on AIX I get this error:
LIBPATH=/daten/source/perl-5.8.9-RC1_32:/usr/local/081119/lib cc_r -q32
-o suidperl -brtl -bdynamic -b32 -bmaxdata:0x80000000 -bE:perl.exp
perlmain.o sperl.o -L
/usr/opt/perl5.8.9_32/lib/5.8.9/aix-thread-multi/CORE -L
/daten/source/perl-5.8.9-RC1_32 -lperl `cat ext.libs` -lbind -lnsl -ldl
-lld -lm -lcrypt -lpthreads -lc -lbsd
ld: 0711-317 ERROR: Undefined symbol: .Perl_pp_entereval
ld: 0711-317 ERROR: Undefined symbol: .Perl_pp_entersub
ld: 0711-317 ERROR: Undefined symbol: .Perl_pad_new
ld: 0711-317 ERROR: Undefined symbol: .Perl_boot_core_PerlIO
ld: 0711-317 ERROR: Undefined symbol: .Perl_boot_core_UNIVERSAL
ld: 0711-317 ERROR: Undefined symbol: .Perl_boot_core_xsutils
ld: 0711-317 ERROR: Undefined symbol: .Perl_lex_start
ld: 0711-317 ERROR: Undefined symbol: .Perl_yyparse
ld: 0711-317 ERROR: Undefined symbol: .Perl_av_create_and_push
ld: 0711-317 ERROR: Undefined symbol: .Perl_cando
ld: 0711-317 ERROR: Undefined symbol: .Perl_rsignal_save
ld: 0711-317 ERROR: Undefined symbol: .Perl_rsignal_restore
ld: 0711-317 ERROR: Undefined symbol: .Perl_find_script
ld: 0711-317 ERROR: Undefined symbol: Perl_peep
ld: 0711-317 ERROR: Undefined symbol: .Perl_save_op
ld: 0711-317 ERROR: Undefined symbol: .Perl_push_return
ld: 0711-317 ERROR: Undefined symbol: .Perl_create_eval_scope
ld: 0711-317 ERROR: Undefined symbol: .Perl_delete_eval_scope
ld: 0711-317 ERROR: Undefined symbol: .Perl_parse_unicode_opts
ld: 0711-317 ERROR: Undefined symbol: .Perl_get_hash_seed
ld: 0711-317 ERROR: Undefined symbol: .PerlIO_destruct
ld: 0711-317 ERROR: Undefined symbol: .Perl_sv_clean_all
ld: 0711-317 ERROR: Undefined symbol: .PerlIO_cleanup
ld: 0711-317 ERROR: Undefined symbol: .Perl_free_tied_hv_pool
ld: 0711-317 ERROR: Undefined symbol: .Perl_sv_free_arenas
ld: 0711-317 ERROR: Undefined symbol: .Perl_sv_clean_objs
ld: 0711-317 ERROR: Undefined symbol: Perl_sighandler
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more
information.
make: 1254-004 The error code from the last command is 8.
The rest builds without a problem.
I can solve this problem with the inclusion of -lperl_nonshr after sperl.o.
I am not sure why this is necessary.
In my current developement environment I have achieved this with the
following patch against Makefile.SH:
1. add aix_fixup='' right after ldlibpth=''
2. add aix_fixup="-lperl_nonshr" in the [case "$useshrplib" in] case
3. use LLIBPERL_SUIDPERL= $aix_fixup $linklibperl instead of LLIBPER=
$linklibperl for suidperl later
This is only a quick hack not a permanent solution.
So my question:
1. Is suidperl supposed to build shared ?
2. Why does perl build without a problem - what am I missing ?
Bye
Rainer
Thread Next
-
suidperl on AIX
by Rainer Tammer