Re: [MP2] Perl_Tstack_sp_ptr

2003-01-27 Thread Stas Bekman
Xiaodong Shen wrote:

During the weekend I had no connectivity due to the worm, sorry.

Okay I tried remove my old perl installation and compiled a new one 
(5.8.0), and then installed a new mod_perl 1.99_08, and got the exactly 
same error. So I don't think it was because of my Perl installation as I 
suspected before.

Then I tried nm all the *.so under my /usr/local/lib/perl5, there are 
dozens of *.so contain symbol Perl_Tstack_sp_ptr, but all have 'U' 
(unresolved).

Then I nm-ed my modules/mod_perl.so under /usr/local/apache2, no symbol 
Perl_Tstack_sp_ptr at all.

 From your analysis, my mod_perl.so must have perl library linked in, 
which should have a resolved Perl_Tstack_sp_ptr, but it doesn't contain 
this symbol at all.

OK, let's step back and see first why this kind of errors happen in first 
place. Let's say you have a program that says:

test.c:
---
#include something.h
...
foo();
...

where something.h includes a declaration:

void foo();

The test.c program will compile, though if you look at test.o it'll have
the foo symbol undefined (U) and should be resolved at linking time against 
libsomething.so (we are talking dynamic linking here).

Now if libsomethings.so includes the symbol for foo, everything is cool. If it 
doesn't than you get the 'unresolved symbol' error. And this error may come 
from using the wrong header file or having some defines wrong.

Now getting back to our business, I've two versions of perl5.8.0 installed. 
One with ithreads enabled and the other without. Let's see:

% nm ~/perl/5.8.0/lib/5.8.0/i686-linux/CORE/libperl.so | grep stack_sp_ptr
nada

% nm ~/perl/5.8.0-ithread/lib/5.8.0/i686-linux-thread-multi/CORE/libperl.so | 
grep stack_sp_ptr
0011c6c8 T Perl_Tstack_sp_ptr

so I have this symbol in the lib built with ithreads. Now let's look at the 
perlapi.h:

grep -n stack_sp_ptr /home/stas/perl/5.8.0/lib/5.8.0/i686-linux/CORE/perlapi.h
920:#define PL_stack_sp (*Perl_Tstack_sp_ptr(aTHX))
it's also defined in CORE/thdrvar.h via a macro:
PERLVAR(Tstack_sp,	SV **)		/* top of the stack */

one of these definitions will work only if

  #if defined (MULTIPLICITY)

which is true in the ithreads build. And you can see it from the nm's output 
above.

So which libperl.so do you link against? Use 'ldd' on mod_perl.so to see. Does 
that libperl.so has the symbol in question defined? (use 'nm').

Most likely, your problem happends because you build with compile options for 
ithreads perl, but using the libperl.so lib which was built without ithreads.
please post your build env, see:
http://perl.apache.org/docs/2.0/user/help/help.html#Reporting_Problems

__
Stas BekmanJAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide --- http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com



Re: [MP2] Perl_Tstack_sp_ptr

2003-01-25 Thread Stas Bekman
Xiaodong Shen wrote:

Thanks for the reply.

Several things to clear:

1. I have successfully passed the make  make test  make install 
phase.

2. I have moved into Server configuration phase and was doing the 
mod_perl rocks thingy, where the error happens.

3. Before seeing your reply, I already found a solution: I renamed 
Const.so to Const.so.bak (there are several other xxx.so mod_perl 
complains about, I removed them as well). It works, mod_perl did rock.

4. However this put me into a bigger misery, I can't explain why!!!

After reading the thread, I delved into my setting and found:

- my perl installation doesn't have libperl.so (libperl.a only).

Meaning that you perl is compiled without shared library support.


- my httpd is DSO enabled.
- my mod_perl is mod_perl.so (mod_perl.a is not used).


Currently mod_perl builds itself as static and dynamic, no matter what you 
choose, so at the later point you can simply link the static archive.

- my mod_perl.so is not linked against ibperl.so.


So it must have the perl library linked in. do you have that symbol that was 
reported missing in mod_perl.so? (hint: use 'nm')

So I assume that httpd loads mod_perl.so, which loads other xxx.so, such 
as Const.so, but when does mod_perl load libperl.so (from the thread I 
assume those undefined symbols would be resolved by libperl.so)? before 
laoding Const.so? but why did it not complain about no libperl.so on my 
system?

see above.

I suppose that we have a problem here of installing dynamic .so objects, when 
the static build is used and perl trying to load them. But it's also possible 
that you've the leftovers from an older install as you suggest below.

Now I start to have some ideas, it must have to do with my Perl 
installation, which contains some leftovers that should have been 
cleaned up before I made numerous rebuilds,  everytime Perl uses a 
package it looks for *.so by going through @INC, lots of library files 
with same names.

I will let you after I clean up my perl.

Have you installed mod_perl using the shared libperl.so before into the same 
directory?

__
Stas BekmanJAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide --- http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com



[MP2] Perl_Tstack_sp_ptr

2003-01-24 Thread Xiaodong Shen
Hi all,

Does anyone have experience of seeing from error_log:

/usr/local/apache2/bin/httpd: error while loading shared libraries: 
/usr/local/lib/perl5/site_perl/5.8.0/i686-linux/auto/Apache/Const/Const.so: 
undefined symbol: Perl_Tstack_sp_ptr

I am playing with 2.0.44 (-with-mpm=prefork) with mod_perl 2.0 (moer 
specifically 1.99_08) on linux 2.4.7 with Perl 5.8.0 (no thread), I saw 
the above error message when requesting the mod_perl 2.0 rocks testing 
page (see mod_perl 2.0 User Guide).

any hint is welcomed.

xd



Re: [MP2] Perl_Tstack_sp_ptr

2003-01-24 Thread Stas Bekman
Xiaodong Shen wrote:

Hi all,

Does anyone have experience of seeing from error_log:

/usr/local/apache2/bin/httpd: error while loading shared libraries: 
/usr/local/lib/perl5/site_perl/5.8.0/i686-linux/auto/Apache/Const/Const.so: 
undefined symbol: Perl_Tstack_sp_ptr

I am playing with 2.0.44 (-with-mpm=prefork) with mod_perl 2.0 (moer 
specifically 1.99_08) on linux 2.4.7 with Perl 5.8.0 (no thread), I saw 
the above error message when requesting the mod_perl 2.0 rocks testing 
page (see mod_perl 2.0 User Guide).

any hint is welcomed.

xd

Take a look at this thread:
http://marc.theaimsgroup.com/?t=10430802132r=1w=2
In particular at:
http://marc.theaimsgroup.com/?l=apache-modperlm=104312560827233w=2

Does this help?

__
Stas BekmanJAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide --- http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com




Re: [MP2] Perl_Tstack_sp_ptr

2003-01-24 Thread Xiaodong Shen
Thanks for the reply.

Several things to clear:

1. I have successfully passed the make  make test  make install phase.

2. I have moved into Server configuration phase and was doing the 
mod_perl rocks thingy, where the error happens.

3. Before seeing your reply, I already found a solution: I renamed 
Const.so to Const.so.bak (there are several other xxx.so mod_perl 
complains about, I removed them as well). It works, mod_perl did rock.

4. However this put me into a bigger misery, I can't explain why!!!

After reading the thread, I delved into my setting and found:

- my perl installation doesn't have libperl.so (libperl.a only).
- my httpd is DSO enabled.
- my mod_perl is mod_perl.so (mod_perl.a is not used).
- my mod_perl.so is not linked against ibperl.so.

So I assume that httpd loads mod_perl.so, which loads other xxx.so, such 
as Const.so, but when does mod_perl load libperl.so (from the thread I 
assume those undefined symbols would be resolved by libperl.so)? before 
laoding Const.so? but why did it not complain about no libperl.so on my 
system?

..

Now I start to have some ideas, it must have to do with my Perl 
installation, which contains some leftovers that should have been 
cleaned up before I made numerous rebuilds,  everytime Perl uses a 
package it looks for *.so by going through @INC, lots of library files 
with same names.

I will let you after I clean up my perl.

thanks again,

xd
Stas Bekman wrote:
Xiaodong Shen wrote:


Hi all,

Does anyone have experience of seeing from error_log:

/usr/local/apache2/bin/httpd: error while loading shared libraries: 
/usr/local/lib/perl5/site_perl/5.8.0/i686-linux/auto/Apache/Const/Const.so: 
undefined symbol: Perl_Tstack_sp_ptr

I am playing with 2.0.44 (-with-mpm=prefork) with mod_perl 2.0 (moer 
specifically 1.99_08) on linux 2.4.7 with Perl 5.8.0 (no thread), I 
saw the above error message when requesting the mod_perl 2.0 rocks 
testing page (see mod_perl 2.0 User Guide).

any hint is welcomed.

xd


Take a look at this thread:
http://marc.theaimsgroup.com/?t=10430802132r=1w=2
In particular at:
http://marc.theaimsgroup.com/?l=apache-modperlm=104312560827233w=2

Does this help?

__
Stas BekmanJAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide --- http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com








RE: Perl_Tstack_sp_ptr

2002-06-13 Thread Doug MacEachern

On Tue, 11 Jun 2002, Paul G. Weiss wrote:

 OK, until I can decide whether to take a chance on FreeBSD-current 
 or to convince my employers who were so enamored of FreeBSD that
 we should rebuild the server with Linux, I'm going prefork.

worth skimming the [EMAIL PROTECTED] archives.  if the issue has 
already been fixed in the freebsd kernel, you'd need to upgrade from 4.5
 
 It still doesn't work precisely as it should though.  I decided
 to go with the cvs builds of apache and mod_perl.  I have to 
 confess that the installation instructions seem strange (both for
 CVS and non-CVS).  You have to build and install Apache in order
 to get the include files to build mod_perl.  Then after doing 
 a make for mod_perl you are supposed to go back to Apache and
 configure, make, make-install -- even though the mod_perl make
 touched nothing in the Apache tree!  I assume after all of this
 you do make install on both Apache and mod_perl although the
 doc doesn't say so.

the docs are broken then.  all you have to do is:
- install perl 
- install apache
- build modperl with:
perl Makefile.PL MP_AP_PREFIX=/usr/local/apache2  make test  make install

 I suppose I could have done --enable-threads in Apache 
 with --with-mpm=prefork and it might have worked.  Is
 that considered kosher?

maybe.  but if you are using prefork, no need to build perl with 
-Dusethreads





Re: Perl_Tstack_sp_ptr

2002-06-11 Thread Stas Bekman

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?

Confirmed, I've a similar problem on linux with 5.6.1

/home/stas/httpd/prefork/bin/httpd: relocation error: 
/home/stas/apache.org/mp-5.6.1-prefork/ModPerl-Registry/t/../../blib/arch/Apache2/auto/Apache/RequestIO/RequestIO.so:
 
undefined symbol: Perl_sv_2pv

it happens when I run the test suite in:

ModPerl-Registry:

and I've traced it down to:
print exists $ENV{QUERY_STRING}  $ENV{QUERY_STRING};

Though I don't understand why there is relocation error, the libperl.so
lib includes the symbol:
nm 
/home/stas/perl/5.6.1-ithread/lib/5.6.1/i686-linux-thread-multi/CORE/libperl.so 
| grep Perl_sv_2pv
0009ae10 T Perl_sv_2pv

and mod_perl is linked against it:
ldd src/modules/perl/mod_perl.so
libperl.so = 
/home/stas/perl/5.6.1-ithread/lib/5.6.1/i686-linux-thread-multi/CORE/libperl.so 
(0x40023000)


__
Stas BekmanJAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide --- http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com




RE: Perl_Tstack_sp_ptr

2002-06-11 Thread Paul G. Weiss

I should also mention -- my perl is patched with the patch
to DynaLoader.pm that Doug MacEachern posted in this list.

-P

 -Original Message-
 From: Stas Bekman [mailto:[EMAIL PROTECTED]]
 Sent: Tuesday, June 11, 2002 4:06 AM
 To: Paul G. Weiss
 Cc: [EMAIL PROTECTED]
 Subject: Re: Perl_Tstack_sp_ptr
 
 
 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?
 
 Confirmed, I've a similar problem on linux with 5.6.1
 
 /home/stas/httpd/prefork/bin/httpd: relocation error: 
 /home/stas/apache.org/mp-5.6.1-prefork/ModPerl-Registry/t/../.
./blib/arch/Apache2/auto/Apache/RequestIO/RequestIO.so: 
 undefined symbol: Perl_sv_2pv
 
 it happens when I run the test suite in:
 
 ModPerl-Registry:
 
 and I've traced it down to:
 print exists $ENV{QUERY_STRING}  $ENV{QUERY_STRING};
 
 Though I don't understand why there is relocation error, the 
 libperl.so
 lib includes the symbol:
 nm 
 /home/stas/perl/5.6.1-ithread/lib/5.6.1/i686-linux-thread-mult
 i/CORE/libperl.so 
 | grep Perl_sv_2pv
 0009ae10 T Perl_sv_2pv
 
 and mod_perl is linked against it:
 ldd src/modules/perl/mod_perl.so
   libperl.so = 
 /home/stas/perl/5.6.1-ithread/lib/5.6.1/i686-linux-thread-mult
 i/CORE/libperl.so 
 (0x40023000)
 
 
 __
 Stas BekmanJAm_pH -- Just Another mod_perl Hacker
 http://stason.org/ mod_perl Guide --- http://perl.apache.org
 mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
 http://modperlbook.org http://apache.org   http://ticketmaster.com
 



RE: Perl_Tstack_sp_ptr

2002-06-11 Thread Doug MacEachern

On Tue, 11 Jun 2002, Paul G. Weiss wrote:

 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.

ok.
 
 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,
 :::65.204.1.133, sin6_addr), sin6_flowinfo=0}, [28]) = 20

could this be a version of freebsd with broken threads support?  i've 
heard many cases of that.  chances are if you rebuild perl without 
-Dusethreads and apache with the prefork mpm, this problem won't be there.




Re: Perl_Tstack_sp_ptr

2002-06-11 Thread Stas Bekman

could this be a version of freebsd with broken threads support?  i've
  heard many cases of that.  chances are if you rebuild perl without
  -Dusethreads and apache with the prefork mpm, this problem won't be 
there.

so the problem that I see on linux is unrelated?

this tested with prefork Apache cvs and perl built as:
./Configure -des -Dprefix=/home/stas/perl/5.6.1-ithread \
-Dusethreads -Doptimize='-g' -Duseshrplib -Dusedevel

Stas Bekman wrote:
 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?
 
 
 Confirmed, I've a similar problem on linux with 5.6.1
 
 /home/stas/httpd/prefork/bin/httpd: relocation error: 
 
/home/stas/apache.org/mp-5.6.1-prefork/ModPerl-Registry/t/../../blib/arch/Apache2/auto/Apache/RequestIO/RequestIO.so:
 
 undefined symbol: Perl_sv_2pv
 
 it happens when I run the test suite in:
 
 ModPerl-Registry:
 
 and I've traced it down to:
 print exists $ENV{QUERY_STRING}  $ENV{QUERY_STRING};
 
 Though I don't understand why there is relocation error, the libperl.so
 lib includes the symbol:
 nm 
 /home/stas/perl/5.6.1-ithread/lib/5.6.1/i686-linux-thread-multi/CORE/libperl.so 
 | grep Perl_sv_2pv
 0009ae10 T Perl_sv_2pv
 
 and mod_perl is linked against it:
 ldd src/modules/perl/mod_perl.so
 libperl.so = 
 /home/stas/perl/5.6.1-ithread/lib/5.6.1/i686-linux-thread-multi/CORE/libperl.so 
 (0x40023000)
 
 
 __
 Stas BekmanJAm_pH -- Just Another mod_perl Hacker
 http://stason.org/ mod_perl Guide --- http://perl.apache.org
 mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
 http://modperlbook.org http://apache.org   http://ticketmaster.com



-- 


__
Stas BekmanJAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide --- http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com




Re: Perl_Tstack_sp_ptr

2002-06-11 Thread dougm

On Wed, 12 Jun 2002, Stas Bekman wrote:

 so the problem that I see on linux is unrelated?

dunno, i built with -Duseshrplib and seems ok linkage wise.  tho 
some ModPerl-Registry are tests failing with the same problem in 
special_blocks:
# testing : ModPerl::Registry is not running BEGIN blocks on the second req
# expected: ''
# received: undef
not ok 6





RE: Perl_Tstack_sp_ptr

2002-06-11 Thread Doug MacEachern

On Tue, 11 Jun 2002, Paul G. Weiss wrote:

 I suspect that pre-fork would work too, but I'm desparately 
 trying to get threads working.

you should try a different os then.  i'm sitting next to the guy who wrote 
worker mpm, he says the freebsd thread library does not work well enough 
for use with apache.  which is why the apache configure is supposed to 
force disabling of threads on freebsd (which is what i saw), not sure how 
you were able to end up with APR_HAVE_THREADS 1.  there is more in the
[EMAIL PROTECTED] mail archive on this subject.




RE: Perl_Tstack_sp_ptr

2002-06-11 Thread Paul G. Weiss

OK, until I can decide whether to take a chance on FreeBSD-current 
or to convince my employers who were so enamored of FreeBSD that
we should rebuild the server with Linux, I'm going prefork.

It still doesn't work precisely as it should though.  I decided
to go with the cvs builds of apache and mod_perl.  I have to 
confess that the installation instructions seem strange (both for
CVS and non-CVS).  You have to build and install Apache in order
to get the include files to build mod_perl.  Then after doing 
a make for mod_perl you are supposed to go back to Apache and
configure, make, make-install -- even though the mod_perl make
touched nothing in the Apache tree!  I assume after all of this
you do make install on both Apache and mod_perl although the
doc doesn't say so.

Even after all of that I *still* get the Perl_Tstack_sp_ptr
error!  Putting in the explicit LoadFile for libperl.so gets
rid of that problem, only to create another:

Cannot load /usr/lib/perl5/5.6.1/i386-freebsd-thread-multi/CORE/libperl.so
into server: /usr/lib/perl5/5.6.1/i386-freebsd-thread-multi/CORE/libperl.so:
Undefined symbol pthread_getspecific

Presumably this is because the Perl I used had thread support.  
My workaround is to edit apachectl to preload libc_r.so:

start|stop|restart|graceful)
LD_PRELOAD=libc_r.so $HTTPD -k $ARGV
ERROR=$?
;;
startssl|sslstart|start-SSL)
LD_PRELOAD=libc_r.so $HTTPD -k start -DSSL
ERROR=$?

and finally everything appears to be working.

I suppose I could have done --enable-threads in Apache 
with --with-mpm=prefork and it might have worked.  Is
that considered kosher?  Anyway this seems good enough
for now.

-P


 -Original Message-
 From: Paul G. Weiss 
 Sent: Tuesday, June 11, 2002 1:22 PM
 To: 'Doug MacEachern'
 Cc: [EMAIL PROTECTED]
 Subject: RE: Perl_Tstack_sp_ptr 
 
 
 I suspect that pre-fork would work too, but I'm desparately 
 trying to get threads working.
 
 Here is apr.h
 
 [/usr/local/apache2/htdocs/perl]# grep -i thread 
 /usr/local/apache2/include/apr.h
 #define APR_HAVE_PTHREAD_H   1
 #define APR_USE_PROC_PTHREAD_SERIALIZE0
 #define APR_USE_PTHREAD_SERIALIZE 1
 #define APR_HAS_PROC_PTHREAD_SERIALIZE0
 #define APR_HAS_THREADS   1
 #define APR_HAS_XTHREAD_FILES 0
 #define APR_THREAD_FUNC
 /* Does the proc mutex lock threads too */
 
 One more odd thing to report:  I've noticed that I have both
 libc.so and libc_r.so in the mix.  That can't be good, can it?
 
 Here is why I think so:
 
 INSTALLATION
  The current FreeBSD POSIX thread implementation is built 
 in the library
  libc_r which contains both thread-safe libc functions 
 and the thread
  functions.  This library replaces libc for threaded applications.
 
  By default, libc_r is built as part of a 'make world'.  
 To disable the
  build of libc_r you must supply the '-DNOLIBC_R' option 
 to make(1).
 
  A FreeBSD specific option has been added to gcc to make 
 linking threaded
  processes simple.  gcc -pthread links a threaded process 
 against libc_r
  instead of libc.
 
 -P
 
 [/usr/local/apache2/htdocs/perl]# LD_TRACE_LOADED_OBJECTS=1 \
/usr/local/apache2/bin/httpd  
 libaprutil.so.0 = 
 /usr/local/apache2/lib/libaprutil.so.0 (0x280a9000)
 libapr.so.0 = /usr/local/apache2/lib/libapr.so.0 (0x280b9000)
 libm.so.2 = /usr/lib/libm.so.2 (0x280d4000)
 libcrypt.so.2 = /usr/lib/libcrypt.so.2 (0x280f)
 libssl.so.3 = /usr/lib/libssl.so.3 (0x28109000)
 libcrypto.so.3 = /usr/lib/libcrypto.so.3 (0x28136000)
 libexpat.so.1 = /usr/local/apache2/lib/libexpat.so.1 
 (0x281ea000)
 libc_r.so.4 = /usr/lib/libc_r.so.4 (0x28206000)
 libc.so.4 = /usr/lib/libc.so.4 (0x282bb000)
 
 
 [/usr/local/apache2/htdocs/perl]# readelf -dD 
 /usr/local/apache2/lib/libapr.so.0
 
 Dynamic segment at offset 0x1941c contains 17 entries:
   TagType Name/Value
  0x0001 (NEEDED) Shared library: [libc.so.4]
  0x000e (SONAME) Library soname: [libapr.so.0]
  0x000c (INIT)   0x5f08
  0x000d (FINI)   0x18164
  0x0004 (HASH)   0x94
  0x0005 (STRTAB) 0x3494
  0x0006 (SYMTAB) 0x1184
  0x000a (STRSZ)  8540 (bytes)
  0x000b (SYMENT) 16 (bytes)
  0x0003 (PLTGOT) 0x19fc8
  0x0002 (PLTRELSZ)   2072 (bytes)
  0x0014 (PLTREL) REL
  0x0017 (JMPREL) 0x56f0
  0x0011 (REL)0x55f0
  0x0012 (RELSZ)  256 (bytes)
  0x0013 (RELENT) 8 (bytes)
  0x (NULL)   0x0
 
 
 
 
  -Original Message-
  From: Doug MacEachern [mailto:[EMAIL PROTECTED

Apache::ASP Undefined symbol Perl_Tstack_sp_ptr

2001-02-22 Thread CioccarelliA

Hi,

I am trying to get Apache ASP to work but haven't had a lot of luck. I
have Apache 1.3.17 compiled with mod_ssl, php3 and mod_perl (which is
as a module). Everyting is working fineexcept ASP pages. I am trying the
demo ones included but each time I try I get the following in the error
log.

/usr/libexec/ld-elf.so.1:
/usr/local/lib/perl5/5.6.0/i386-freebsd-multi/auto/SDBM_File/SDBM_File.so:
Undefined symbol "Perl_Tstack_sp_ptr"

Any ideas?

Regards,
Adam Cioccarelli





Re: Apache::ASP Undefined symbol Perl_Tstack_sp_ptr

2001-02-22 Thread Joshua Chamas

CioccarelliA wrote:
 
 Hi,
 
 I am trying to get Apache ASP to work but haven't had a lot of luck. I
 have Apache 1.3.17 compiled with mod_ssl, php3 and mod_perl (which is
 as a module). Everyting is working fineexcept ASP pages. I am trying the
 demo ones included but each time I try I get the following in the error
 log.
 
 /usr/libexec/ld-elf.so.1:
 /usr/local/lib/perl5/5.6.0/i386-freebsd-multi/auto/SDBM_File/SDBM_File.so:
 Undefined symbol "Perl_Tstack_sp_ptr"
 

There is something wrong with your perl build.  I would recommend
rebuilding it so that SDBM_File works, which is a standard
module that comes with perl  that Apache::ASP uses.  If you
don't wan't to deal with it, you can comment out instances of:

  use MLDBM;
  use SDBM_File;

in ASP.pm and then set PerlSetVar NoState 1, but you won't get 
$Session or $Application objects.  If you wanted a $Session still,
you could then use Apache::Session to initialize $Session in your 
global.asa Script_OnStart and it would be much the same for you
with $Session available to all your scripts.

To test your perl for SDBM_File working, you can do something like 

  perl -MSDBM_File -e ';'

which will at least test the module for loading.

If you want to rebuild your perl, I'd recommend installing it into
another part of your system, so if your old perl were in /usr/...
then I'd install the new perl in /usr/local/..., this way so you
don't have to deal with one perl overlaying another possibly.

Then you'd have to rebuild mod_perl against your new perl.

-- Josh

_
Joshua Chamas   Chamas Enterprises Inc.
NodeWorks  free web link monitoring   Huntington Beach, CA  USA 
http://www.nodeworks.com1-714-625-4051