Hi, AIX uses a very different format for handling of shared libries, especialy you need special symbol files while linking. I am not an AIX guru so I ca't really say what's wrong without having access to an AIX system. The problem we have is that in addition to the symbols from Perl Embperl also links in symbols from mod_perl and Apache. There must be a apropriate symbol file for Apache and mod_perl at link time.
Gerald John P. Gibbons wrote: > Recently we've been upgrading our servers from AIX 4.3.3 to AIX 5.2 > and > one of the casualties has been Embperl. I've been wrestling with > trying > to make this work for some time now, and not being a C programmer I > think I might have hit a wall. > > Here's what I'm using: > > AIX 5.2 > IBM HTTPServer 1.3.28 > mod_perl 1.29 > Embperl 1.3.6 (and I've tried 2.0 with the same result, although I had > to fix some syntax issues with // comments) > IBM's Visual Age compiler 6.0 > > First things first, I have only been able to make mod_perl work when > using Perl 5.8.4. Any other version, including 5.8.1 will cause a > segfault in Apache. This happens both with IBM HTTPServer (which is > what > we want to use) and a compiled Apache. We're using APXS to configure > mod_perl because we don't want to have to roll our own Apache (so we > can > get support from IBM) so even if a statically compiled version did > work, > we couldn't use. > > Anyhow, once Apache and mod_perl are happy I am now stuck with Embperl > not working. It compiles flawlessly with no errors but running a make > test returns: > > make test > PERL_DL_NONLAZY=0 /appl/web/perl/bin/perl "-Iblib/lib" > "-Iblib/arch" test.pl > > loading... Can't load > '/appl/web/compile/HTML-Embperl-1.3.6/blib/arch/auto/HTML/Embperl/Embperl.so ' > for module HTML::Embperl: Cannot run a file that does not have a valid > format. at /appl/web/perl/lib/5.8.4/aix/DynaLoader.pm line 230. > at test.pl line 1525 > Compilation failed in require at test.pl line 1525. > BEGIN failed--compilation aborted at test.pl line 1525. > > Test terminated with fatal error > Use of uninitialized value in string ne at test.pl line 966. > make: 1254-004 The error code from the last command is 1. > > > Stop. > > ------------ > > I've tried this with 2.0 as well and it has the same problem. > > I think it might have something to do with missing libraries as ldd on > Embperl.so returns: > > > ./blib/arch/auto/HTML/Embperl/Embperl.so needs: > /usr/lib/libc.a(shr.o) > Cannot findCannot find /unix > /usr/lib/libcrypt.a(shr.o) > > > I think it's saying that it can't find two libraries, but it isn't > telling me which ones these are.Curiously, ldd on libperl.so has these > errors as well. > > libperl-584works-mp129.so needs: > /usr/lib/libc.a(shr.o) > /usr/lib/libbsd.a(shr.o) > /usr/lib/librtl.a(shr.o) > Cannot findCannot find /unix > /usr/lib/libcrypt.a(shr.o) > > > Again, I'm not a C programmer so I might be way off here, but after > reading through the mailing list archives ldd output is often > requested > when diagnosing problems so I'm including it. Here are the ldd outputs > for httpd and the perl binary, in case they are of any use. > > httpd: > ../bin/httpd needs: > /usr/lib/libc_r.a(shr.o) > /usr/lib/libC.a(shr.o) > /usr/lib/libpthread.a(shr_comm.o) > /usr/lib/libpthread.a(shr_xpg5.o) > /usr/lib/libdl.a(shr.o) > /unix > /usr/lib/libcrypt.a(shr.o) > /usr/lib/libC.a(ansicore_32.o) > /usr/lib/libC.a(shrcore.o) > /usr/lib/libc.a(shr.o) > /usr/lib/libpthreads.a(shr_comm.o) > /usr/lib/libC.a(shr2.o) > /usr/lib/libC.a(shr3.o) > > perl: > /appl/web/perl/bin/perl needs: > /usr/lib/libbind.a(shr.o) > /usr/lib/libnsl.a(shr.o) > /usr/lib/libdl.a(shr.o) > /usr/lib/libcrypt.a(shr.o) > /usr/lib/libc.a(shr.o) > /usr/lib/libbsd.a(shr.o) > /usr/lib/librtl.a(shr.o) > /usr/lib/libpthreads_compat.a(shr.o) > /usr/lib/libtli.a(shr.o) > /unix > /usr/lib/libpthreads.a(shr.o) > /usr/lib/libc.a(pse.o) > /usr/lib/libpthreads.a(shr_comm.o) > > > And here's the output of perl -V: > Summary of my perl5 (revision 5 version 8 subversion 4) configuration: > Platform: > osname=aix, osvers=5.2.0.0, archname=aix > uname='aix intranet1 2 5 000121674c00 ' > config_args='-Uuselargefiles -Dprefix=/appl/web/perl' > hint=recommended, useposix=true, d_sigaction=define > usethreads=undef use5005threads=undef useithreads=undef > usemultiplicity=undef > useperlio=define d_sfio=undef uselargefiles=undef usesocks=undef > use64bitint=undef use64bitall=undef uselongdouble=undef > usemymalloc=n, bincompat5005=undef > Compiler: > cc='cc', ccflags ='-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE > -qmaxmem=-1 -qnoansialias -DUSE_NATIVE_DLOPEN -I/usr/local/include', > optimize='-O', > cppflags='-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE > -qmaxmem=-1 -qnoansialias -DUSE_NATIVE_DLOPEN -I/usr/local/include' > ccversion='6.0.0.4', gccversion='', gccosandvers='' > intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321 > d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8 > ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', > lseeksize=4 > alignbytes=8, prototype=define > Linker and Libraries: > ld='ld', ldflags =' -brtl -L/usr/local/lib' > libpth=/usr/local/lib /lib /usr/lib /usr/ccs/lib > libs=-lbind -lnsl -ldbm -ldl -lld -lm -lcrypt -lc -lbsd > perllibs=-lbind -lnsl -ldl -lld -lm -lcrypt -lc -lbsd > libc=/lib/libc.a, so=a, useshrplib=false, libperl=libperl.a > gnulibc_version='' > Dynamic Linking: > dlsrc=dl_aix.xs, dlext=so, d_dlsymun=undef, ccdlflags=' > -bE:/appl/web/perl/lib/5.8.4/aix/CORE/perl.exp' > cccdlflags=' ', lddlflags=' -bhalt:4 -bM:SRE > -bI:$(PERL_INC)/perl.exp -bE:$(BASEEXT).exp -bnoentry -lc > -L/usr/local/lib' > > > Characteristics of this binary (from libperl): > Compile-time options: > Built under aix > Compiled at Apr 28 2004 13:20:00 > @INC: > /appl/web/perl/lib/5.8.4/aix > /appl/web/perl/lib/5.8.4 > /appl/web/perl/lib/site_perl/5.8.4/aix > /appl/web/perl/lib/site_perl/5.8.4 > /appl/web/perl/lib/site_perl > . > > > > Does anyone have any idea what's going on and what I can do to fix it? > > Thanks in advance! > > Cheers, > John > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------------- Gerald Richter ecos electronic communication services gmbh IT-Securitylösungen * Webapplikationen mit Apache/Perl/mod_perl/Embperl Post: Tulpenstrasse 5 D-55276 Dienheim b. Mainz E-Mail: [EMAIL PROTECTED] Voice: +49 6133 939-122 WWW: http://www.ecos.de/ Fax: +49 6133 939-333 --------------------------------------------------------------------------- ECOS BB-5000 Firewall- und IT-Security Appliance: www.bb-5000.info --------------------------------------------------------------------------- --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]