Hi,
I have wrapped a few API's around an C++ library(.so) using Perl XS. I am
able to compile and build but am getting the following error while doing a
gmake test.
PERL_DL_NONLAZY=1
/usr/local/Perl5.6Bin/bin/perl -Iblib/arch -Iblib/lib -I/usr/local/Perl5.6Bi
n/lib/perl5/5.6.0/sun4-solaris -I/usr/local/Perl5.6Bin/lib/perl5/5.6.0
test.pl
1..1
Can't load 'blib/arch/auto/XSConfig/XSConfig.so' for module XSConfig:
ld.so.1: /usr/local/Perl5.6Bin/bin/perl: fatal: relocation error: file
blib/arch/auto/XSConfig/XSConfig.so: symbol
__1cSMDS_ReadConfigTree6Fpw0000_l_: referenced symbol not found at
/usr/local/Perl5.6Bin/lib/perl5/5.6.0/sun4-solaris/DynaLoader.pm line 200.
at test.pl line 11
Compilation failed in require at test.pl line 11.
BEGIN failed--compilation aborted at test.pl line 11.
gmake: *** [test_dynamic] Error 255
Also, I tried to see if I am missing any libraries. I did a ldd -r
XSConfig.so and found the following missing symbols. Do I need to link
against anything else here ?
symbol not found: PL_markstack_ptr (./XSConfig.so)
symbol not found: PL_stack_sp (./XSConfig.so)
symbol not found: PL_stack_base (./XSConfig.so)
symbol not found: PL_na (./XSConfig.so)
symbol not found: PL_op (./XSConfig.so)
symbol not found: PL_curpad (./XSConfig.so)
symbol not found: PL_sv_yes (./XSConfig.so)
symbol not found: Perl_croak (./XSConfig.so)
symbol not found: Perl_sv_2pv (./XSConfig.so)
symbol not found: Perl_sv_newmortal (./XSConfig.so)
symbol not found: __1cSMDS_ReadConfigTree6Fpw0000_l_
(./XSConfig.so)
symbol not found: Perl_sv_setiv (./XSConfig.so)
symbol not found: Perl_mg_set (./XSConfig.so)
symbol not found: Perl_form (./XSConfig.so)
symbol not found: perl_get_sv (./XSConfig.so)
symbol not found: Perl_newXS (./XSConfig.so)
symbol not found: db_env_create
(/home/soumen/AtlasOffSiteBuild19/unixshared/bin/sparc/libmdsutils.so)
symbol not found: log_archive
(/home/soumen/AtlasOffSiteBuild19/unixshared/bin/sparc/libmdsutils.so)
symbol not found: db_create
(/home/soumen/AtlasOffSiteBuild19/unixshared/bin/sparc/libmdsutils.so)
symbol not found: txn_checkpoint
(/home/soumen/AtlasOffSiteBuild19/unixshared/bin/sparc/libmdsutils.so)
symbol not found: txn_abort
(/home/soumen/AtlasOffSiteBuild19/unixshared/bin/sparc/libmdsutils.so)
symbol not found: txn_begin
(/home/soumen/AtlasOffSiteBuild19/unixshared/bin/sparc/libmdsutils.so)
symbol not found: txn_commit
(/home/soumen/AtlasOffSiteBuild19/unixshared/bin/sparc/libmdsutils.so)
symbol not found: lock_detect
(/home/soumen/AtlasOffSiteBuild19/unixshared/bin/sparc/libmdsutils.so)
libsocket.so.1 => /usr/lib/libsocket.so.1
symbol not found:
__1cUCreateScriptProvider6Fpkw1rpnPCScriptProvider__l_
(/home/soumen/AtlasOffSiteBuild19/unixshared/bin/sparc/libconfig.so)
symbol not found: __1cPCScriptProviderHRelease6M_v_
(/home/soumen/AtlasOffSiteBuild19/unixshared/bin/sparc/libconfig.so)
Thanks,
Soumen