Hi Gerald,

Gerald Richter wrote:

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.



The Makefile has:

OTHERLDFLAGS = -bI:/appl/web/perl/lib/site_perl/5.8.4/aix/auto/Apache/mod_perl.exp -bI:/appl/web/apache/libexec/httpd.exp

Both of those files exist. So I don't think it's missing the symbol files. I still think there might be something to the fact that ldd claims to be missing two libraries on both mod_perl and Embperl (see my previous message below).

I was wondering, if anyone might know of another perl module that also links to C like Embperl that I could attempt to compile? If I can get that to work then it probably isn't a problem with having the wrong dynamic loader. But if it is then I might be able to get some support from IBM on this.

Thanks again!

Cheers,
John




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]



Reply via email to