here is the Error:
2004.02.01, 11:10:01.437996, [Libertel_O2_055] connected: 212.155.169. +123
I am Userexit for cause 98 and client Libertel_O2_055
trying to incarn perl
Can't load '/usr/local/lib/perl5/site_perl/5.8.0/i686-linux/auto/IPC/S +hareLite/ShareLite.so' for module IPC::ShareLite: /usr/local/lib/perl +5/site_perl/5.8.0/i686-linux/auto/IPC/ShareLite/ShareLite.so: undefin +ed symbol: PL_sv_undef at /usr/local/lib/perl5/5.8.0/i686-linux/DynaL +oader.pm line 229. at sevexit.pl line 7 Compilation failed in require at sevexit.pl line 7.
Here is the sharelib itself :Sevexit.pl : package MOBILEWAY::sevexit; #sevexit.pl print "heelo\n"; sub test { my @prra = @_; use IPC::ShareLite; print "hello there my pid is $$\n"; my $i=0; foreach my $param(@prra) { $i++; print "Param $i = $param\n"; } close FILE; return ("test"); } 1;
The compilation line I usethe xs glue /* sevexit.c */ #include <EXTERN.h> #include <perl.h> EXTERN_C void xs_init (pTHX); EXTERN_C void boot_DynaLoader (pTHX_ CV* cv); EXTERN_C void xs_init(pTHX) { char *file = __FILE__; dXSUB_SYS; /* DynaLoader is a special case */ newXS("DynaLoader::boot_DynaLoader", boot_DynaLoader, file); }
and `perl -MExtUtils::Embed -e ccopts -e ldopts` iscc -shared -o sevexit.o sevexit.c `perl -MExtUtils::Embed -e ccopts -e + ldopts`
I do have perl compile as a sharelib (I have liperl.so).-rdynamic -L/usr/local/lib /usr/local/lib/perl5/5.8.0/i686-linux/auto +/DynaLoader/DynaLoader.a -L/usr/local/lib/perl5/5.8.0/i686-linux/CORE + -lperl -lnsl -ldl -lm -lc -lcrypt -lutil -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE +_OFFSET_BITS=64 -I/usr/local/lib/perl5/5.8.0/i686-linux/CORE
Here is my perl –V
Summary of my perl5 (revision 5.0 version 8 subversion 0) configuratio +n: Platform: osname=linux, osvers=2.4.18-64gb-smp, archname=i686-linux uname='linux steroide1 2.4.18-64gb-smp #1 smp wed mar 27 13:58:12 +utc 2002 i686 unknown ' config_args='-de' hint=recommended, useposix=true, d_sigaction=define usethreads=undef use5005threads=undef useithreads=undef usemultipl +icity=undef useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-fno-strict-aliasing -I/usr/local/include -D_LA +RGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', optimize='-O3', cppflags='-fno-strict-aliasing -I/usr/local/include' ccversion='', gccversion='2.95.3 20010315 (SuSE)', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=1 +2 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', + lseeksize=8 alignbytes=4, prototype=define Linker and Libraries: ld='cc', ldflags =' -L/usr/local/lib' libpth=/usr/local/lib /lib /usr/lib libs=-lnsl -ldl -lm -lc -lcrypt -lutil perllibs=-lnsl -ldl -lm -lc -lcrypt -lutil libc=, so=so, useshrplib=false, libperl=libperl.a gnulibc_version='2.2.5' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynami +c' cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib' Characteristics of this binary (from libperl): Compile-time options: USE_LARGE_FILES Built under linux Compiled at Jul 26 2003 20:50:03 @INC: /usr/local/lib/perl5/5.8.0/i686-linux /usr/local/lib/perl5/5.8.0 /usr/local/lib/perl5/site_perl/5.8.0/i686-linux /usr/local/lib/perl5/site_perl/5.8.0 /usr/local/lib/perl5/site_perl
Edited by BazB removed excessive whitespace, deal with square brackets, fix typo in title.
In reply to Embed and shared lib by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |