I had already thought of that.  Strace shows that the 
correct libperl.so is the one that is being loaded.  Just
to make sure I deleted all others and did 

ln -s /usr/lib/perl5/5.6.1/i386-freebsd-thread-multi/CORE /usr/lib

but strace tells me that it is still directly loading the correct
one, probably because of the 

-Wl,-R/usr/lib/perl5/5.6.1/i386-freebsd-thread-multi/CORE

used in linking mod_perl.so.

That being said I tried the LoadFile directive as you suggested.
This indeed lets the system start, but now it can serve no
pages ( not even static ones ).  This is true even when all
mod_perl configuration directive are removed from the conf
file (except the LoadFile and the LoadModule).

However, when I do httpd -X, it
works - I can even serve mod_perl content.  But regular httpd
just hangs.  The strace output of an httpd process shows this:

accept(5, {sin_family=AF_INET6, sin6_port=htons(1303), inet_pton(AF_INET6,
"::ffff:65.204.1.133", &sin6_addr), sin6_flowinfo=0}, [28]) = 20
fcntl(20, F_GETFL)                      = 0x2 (flags O_RDWR)
fcntl(20, F_SETFL, O_RDWR|O_NONBLOCK)   = 0
break(0x84e7000)                        = 0
accept(5,

i.e. it returns from the accept, does the two fcntl's then the break
then back to the accept.  Can you make any sense of this?

-P






> -----Original Message-----
> From: Doug MacEachern [mailto:[EMAIL PROTECTED]]
> Sent: Tuesday, June 11, 2002 11:30 AM
> To: Paul G. Weiss
> Cc: [EMAIL PROTECTED]
> Subject: Re: Perl_Tstack_sp_ptr 
> 
> 
> sounds like the old freebsd plague of installing libperl.so into 
> /usr/local/lib.  that is, the dist installs libperl.so where 
> it should not 
> be installed, /usr/local/lib, then a user compiles/installs on their 
> own and libperl.so is installed where it should be, in your 
> case likely:
> 
>  /usr/lib/perl5/5.6.1/i386-freebsd-thread-multi/CORE
> 
> but the one in /usr/local/lib is found first.
> 
> ldd mod_perl.so will tell you which one it was linked against.
> 
> couple of options:
> - delete the libperl.so in /usr/local/lib
> - edit src/modules/perl/Makefile.modperl and put 
> -L/usr/local/lib after 
> -L/usr/lib/perl5/...
> - try adding LoadFile \
> /usr/lib/perl5/5.6.1/i386-freebsd-thread-multi/CORE/libperl.so
> 
> before LoadModperl perl_module ...
> 
> On Tue, 11 Jun 2002, Paul G. Weiss wrote:
> 
> > Sorry if this has been covered - I searched to no avail.
> > 
> > I'm getting the following error when trying to start
> > an Apache 2.0.36 with ModPerl::Registry:
> > 
> > /usr/libexec/ld-elf.so.1:
> > 
> /usr/lib/perl5/site_perl/5.6.1/i386-freebsd-thread-multi/auto/
> Apache/Request
> > Rec/RequestRec.so: Undefined symbol "Perl_Tstack_sp_ptr"
> > 
> > All relevant build info is below.  Has anyone seen and 
> conquered this?
> > -P
> > 
> > System is FreeBSD 4.5-RELEASE
> > 
> > Perl:
> > 
> > [~/mod_perl-1.99_02]# perl -V
> > Summary of my perl5 (revision 5.0 version 6 subversion 1) 
> configuration:
> >   Platform:
> >     osname=freebsd, osvers=4.5-release, 
> archname=i386-freebsd-thread-multi
> >     uname='freebsd develop1.vqoffice 4.5-release freebsd 
> 4.5-release #0: mon
> > jan 28 14:31:56 gmt 2002
> > [EMAIL PROTECTED]:usrsrcsyscompilegeneric i386 '
> >     config_args='-des -Dprefix=/usr -Dusethreads 
> -Duseshrplib -Doptimize=-O
> > -g'
> >     hint=recommended, useposix=true, d_sigaction=define
> >     usethreads=define use5005threads=undef useithreads=define
> > usemultiplicity=define
> >     useperlio=undef d_sfio=undef uselargefiles=define usesocks=undef
> >     use64bitint=undef use64bitall=undef uselongdouble=undef
> >   Compiler:
> >     cc='cc', ccflags ='-DDEBUGGING -fno-strict-aliasing
> > -I/usr/local/include',
> >     optimize='-O -g',
> >     cppflags='-DDEBUGGING -fno-strict-aliasing -I/usr/local/include'
> >     ccversion='', gccversion='2.95.3 20010315 (release) [FreeBSD]',
> > gccosandvers=''
> >     intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
> >     d_longlong=define, longlongsize=8, d_longdbl=define, 
> longdblsize=12
> >     ivtype='long', ivsize=4, nvtype='double', nvsize=8, 
> Off_t='off_t',
> > lseeksize=8
> >     alignbytes=4, usemymalloc=n, prototype=define
> >   Linker and Libraries:
> >     ld='cc', ldflags ='-pthread -Wl,-E  -L/usr/local/lib'
> >     libpth=/usr/lib /usr/local/lib
> >     libs=-lgdbm -lm -lc_r -lcrypt -lutil
> >     perllibs=-lm -lc_r -lcrypt -lutil
> >     libc=, so=so, useshrplib=true, libperl=libperl.so
> >   Dynamic Linking:
> >     dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='
> > -Wl,-R/usr/lib/perl5/5.6.1/i386-freebsd-thread-multi/CORE'
> >     cccdlflags='-DPIC -fpic', lddlflags='-shared  -L/usr/local/lib'
> > 
> > 
> > Characteristics of this binary (from libperl):
> >   Compile-time options: DEBUGGING MULTIPLICITY USE_ITHREADS 
> USE_LARGE_FILES
> > PERL_IMPLICIT_CONTEXT
> >   Built under freebsd
> >   Compiled at Jun  3 2002 21:42:51
> >   @INC:
> >     /usr/lib/perl5/5.6.1/i386-freebsd-thread-multi
> >     /usr/lib/perl5/5.6.1
> >     /usr/lib/perl5/site_perl/5.6.1/i386-freebsd-thread-multi
> >     /usr/lib/perl5/site_perl/5.6.1
> >     /usr/lib/perl5/site_perl
> >     .
> > 
> > 
> > Apache:
> > 
> > #! /bin/sh
> > #
> > # Created by configure
> > 
> > "./configure" \
> > "--enable-threads=yes" \
> > "--enable-modules=all" \
> > "--enable-mods-shared=all" \
> > "--prefix=/usr/local/apache2" \
> > "--with-mpm=worker" \
> > "--enable-proxy" \
> > "--enable-ssl" \
> > "--enable-info" \
> > "--enable-status" \
> > "$@"
> > 
> > 
> > 
> > mod_perl-1.99_02:
> > 
> > perl Makefile.PL MP_AP_PREFIX=/usr/local/apache2
> > 
> 

Reply via email to