[oi-dev] perl module compilation: symbol reference warning.
Rouven WEILER
Rouven_Weiler at gmx.net
Wed Feb 26 07:09:30 UTC 2020
Hey there,
I built a slightly customized perl module DBD-SQLite-1.58 with OpenIndiana's perl-522.
During the built process I get a line warning about symbol referencing errors.
Nevertheless, the packages passes all tests.
Adding arguments for explicitly linking against libperl.so solves the warning, bit adds libperl.so to the ELF header's needed libraries section.
Although it is "just" a warning I want to get rid of this warning. Experience shows that such warnings become errors very fast and then the solution is needed.
Some other packages already threw errors about referenced symbols coming from libperl.so
And on linux systems there is no such warning, which makes me think that there is something special about OpenIndiana.
Compiling the plain uncustomized package as it is downloadable from cpan it shows the same warning.
Thanks in advance.
Here now the offending warning including the linker line:
LD_RUN_PATH="/usr/gcc/6/lib" /usr/gcc/6/bin/gcc -m32 -shared -fstack-protector -fstack-protector-strong -Wl,-Bsymbolic SQLite.o dbdimp.o sqlite3.o -o blib/arch/auto/DBD/SQLite/SQLite.so ../build/lib/libicuuc.a ../build/lib/libicudata.a ../build/lib/libicui18n.a \
-L/export/home/github.com/oi-userland.git/components/encumbered/lms/build/lms-vendor/CPAN/DBD-SQLite-1.58/../build/lib -licudata_s -licui18n_s -licuuc_s -lstdc++ \
Undefined first referenced
symbol in file
PL_op SQLite.o
Perl_sv_2pvbyte dbdimp.o
Perl_sv_2pvutf8 dbdimp.o
PerlIO_printf SQLite.o
Perl_sv_2bool_flags SQLite.o
Perl_stack_grow SQLite.o
Perl_newSVpv SQLite.o
Perl_newSVnv dbdimp.o
Perl_newSViv SQLite.o
Perl_newSVsv dbdimp.o
Perl_newSV_type SQLite.o
Perl_xs_handshake SQLite.o
Perl_sv_2mortal SQLite.o
PL_errgv dbdimp.o
Perl_croak SQLite.o
Perl_newSV SQLite.o
Perl_newRV SQLite.o
PL_phase SQLite.o
PL_sv_no SQLite.o
PL_stack_max SQLite.o
PL_markstack_ptr SQLite.o
PL_markstack_max SQLite.o
Perl_save_strlen dbdimp.o
Perl_push_scope dbdimp.o
Perl_get_cv SQLite.o
Perl_get_av dbdimp.o
Perl_get_sv SQLite.o
PL_curpad SQLite.o
Perl_av_len SQLite.o
Perl_mg_get SQLite.o
Perl_mg_set SQLite.o
PL_sv_yes SQLite.o
Perl_mg_find SQLite.o
Perl_mg_size SQLite.o
Perl_savepv dbdimp.o
Perl_sv_setsv_flags dbdimp.o
Perl_hv_undef_flags dbdimp.o
Perl_free_tmps dbdimp.o
Perl_gv_add_by_type dbdimp.o
Perl_dowantarray SQLite.o
Perl_call_method SQLite.o
Perl_markstack_grow SQLite.o
Perl_croak_xs_usage SQLite.o
Perl_hv_common dbdimp.o
Perl_form dbdimp.o
Perl_warn SQLite.o
Perl_av_extend SQLite.o
Perl_safesysfree dbdimp.o
Perl_eval_pv dbdimp.o
Perl_hv_common_key_len SQLite.o
Perl_newSVpvf dbdimp.o
Perl_newSVpvn dbdimp.o
Perl_sv_setpvn dbdimp.o
PL_stack_sp SQLite.o
Perl_newRV_noinc SQLite.o
Perl_xs_boot_epilog SQLite.o
Perl_newSVpvn_flags dbdimp.o
Perl_pop_scope dbdimp.o
Perl_newXS_deffile SQLite.o
Perl_newXS_flags SQLite.o
PL_tmps_ix dbdimp.o
Perl_call_pv dbdimp.o
Perl_call_sv dbdimp.o
Perl_sv_isobject dbdimp.o
PL_sv_undef SQLite.o
Perl_utf8_hop dbdimp.o
Perl_sv_utf8_upgrade_flags_grow dbdimp.o
Perl_sv_newmortal SQLite.o
PL_stack_base SQLite.o
Perl_av_make SQLite.o
Perl_av_push SQLite.o
PL_tmps_floor dbdimp.o
Perl_hv_clear SQLite.o
Perl_av_clear dbdimp.o
Perl_sv_free2 dbdimp.o
Perl_av_fetch dbdimp.o
Perl_sv_setpv SQLite.o
Perl_sv_setnv dbdimp.o
Perl_sv_setiv SQLite.o
Perl_av_undef dbdimp.o
Perl_av_store dbdimp.o
Perl_sv_2nv_flags dbdimp.o
Perl_sv_2iv_flags SQLite.o
Perl_sv_2uv_flags dbdimp.o
Perl_sv_2pv_flags SQLite.o
Perl_looks_like_number dbdimp.o
Perl_sv_rvweaken dbdimp.o
Perl_sv_free dbdimp.o
ld: warning: symbol referencing errors
chmod 755 blib/arch/auto/DBD/SQLite/SQLite.so
"/usr/perl5/5.22/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- SQLite.bs blib/arch/auto/DBD/SQLite/SQLite.bs 644
More information about the oi-dev
mailing list