William McKee wrote:
On Sat, Jun 04, 2005 at 09:29:53PM +1000, Stas Bekman wrote:

/stubs/usr_local/src/mod_perl-2.0.0/src/modules/perl/modperl_util.c:472: undefined reference to `apr_os_thread_current'
*** Error code 1

William, please try:
http://perl.apache.org/docs/2.0/user/troubleshooting/troubleshooting.html#undefined_symbol__apr_table_compress


Stas,

Thanks for the link. Unfortunately the error is occurring during the make
process so I never get a blib/arch/auto/APR/APR.so being created. I
tried running nm on the libapr-0.so.9 in my httpd-2.0.54 source
directory.

  nm /usr/local/src/httpd-2.0.54/srclib/apr/.libs/libapr-0.so.9 | grep 
os_thread_current

However, running that command without _current returns the following:

  00015f3c T apr_os_thread_get
  00015f48 T apr_os_threadkey_get

While debugging last week, I seem to remember reading that
apr_os_thread_get is synonymous with apr_os_thread_current. I wonder why
the later would not be defined?

William, as you can see from the source src/modules/perl/modperl_util.h

#if defined(MP_TRACE) && defined(APR_HAS_THREADS)
#define MP_TRACEf_TID   "/tid 0x%lx"
#define MP_TRACEv_TID   (unsigned long)apr_os_thread_current()

The symbol is available if APR_HAS_THREADS is defined. So the apr header containing this definition found by mod_perl says that APR_HAS_THREADS is defined, whereas the library it tries to link against was compiled with threads disabled. Meaning that you have more than one libapr on your system and the wrong library gets linked.


--
__________________________________________________________________
Stas Bekman            JAm_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

Reply via email to