perl-modperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Shigeru Yanagibayashi <yan...@kf7.so-net.ne.jp>
Subject symbol ap_get_server_banner: referenced symbol not found
Date Mon, 01 Feb 2010 15:38:21 GMT
Hello,

I installed the following on my Solaris10 box.

perl-5.8.8.tar.gz
openssl-0.9.8l.tar.gz
httpd-2.0.63.tar.gz
mod_auth_cookie-0.1-apache2.tar.gz
mod_perl-2.0.4.tar.gz

perl:

% /usr/local/bin/perl -V
Summary of my perl5 (revision 5 version 8 subversion 8) configuration:
  Platform:
    osname=solaris, osvers=2.8, archname=sun4-solaris
    uname='sunos dcwww01 5.8 generic_108528-18 sun4u sparc sunw,ultraax-i2 '
    config_args='-des -Dcc=gcc -Dinstallusrbinperl
-Dldflags=-L/usr/local/lib -R/usr/local/lib
-Dotherlibdirs=/usr/local/lib/perl5/5.8.1'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=undef use5005threads=undef useithreads=undef
usemultiplicity=undef
    useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
    use64bitint=undef use64bitall=undef uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='gcc', ccflags ='-fno-strict-aliasing -pipe -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-O',
    cppflags='-fno-strict-aliasing -pipe -I/usr/local/include'
    ccversion='', gccversion='3.3.2', gccosandvers='solaris2.8'
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='gcc', ldflags ='-L/usr/local/lib -R/usr/local/lib '
    libpth=/usr/local/lib /usr/lib /usr/ccs/lib
    libs=-lsocket -lnsl -lgdbm -ldb -ldl -lm -lc
    perllibs=-lsocket -lnsl -ldl -lm -lc
    libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
    cccdlflags='-fPIC', lddlflags='-G -L/usr/local/lib -R/usr/local/lib'


Characteristics of this binary (from libperl):
  Compile-time options: PERL_MALLOC_WRAP USE_LARGE_FILES USE_PERLIO
  Built under solaris
  Compiled at Jan 30 2010 18:24:59
  @INC:
    /usr/local/lib/perl5/5.8.8/sun4-solaris
    /usr/local/lib/perl5/5.8.8
    /usr/local/lib/perl5/site_perl/5.8.8/sun4-solaris
    /usr/local/lib/perl5/site_perl/5.8.8
    /usr/local/lib/perl5/site_perl/5.8.1/sun4-solaris
    /usr/local/lib/perl5/site_perl/5.8.1
    /usr/local/lib/perl5/site_perl
    /usr/local/lib/perl5/5.8.1/sun4-solaris
    /usr/local/lib/perl5/5.8.1
    .

mod_perl:

% LDFLAGS='-L/usr/local/lib -R/usr/local/lib' perl Makefile.PL
MP_USE_STATIC=1 MP_AP_PREFIX=../httpd-2.0.63
MP_AP_CONFIGURE="--prefix=/usr/local/apache --with-mpm=prefork --enable-ssl
--enable-rewrite --enable-proxy --disable-so --disable-proxy-connect
--disable-proxy-ftp --with-module=aaa:auth_cookie"

Make change in modperl_exports.c as follows:
-----
http://www.gossamer-threads.com/lists/modperl/modperl/97982?do=post_view_threaded#97982

I have installed httpd-2.2.9 and static mod_perl2.0.5-dev, i had the same
problem, well, i had many problems, but when this problem appeared, you
just have to comment the lines where appear these headers of functions that
are never used in the file modperl_exports.c

1164 #ifndef modperl_threads_started
1165 const void *modperl_hack_threads_started = (const void
*)modperl_threads_started;
1166 #endif
1167
1168 /*#ifndef modperl_thx_interp_get
1169 const void *modperl_hack_thx_interp_get = (const void
*)modperl_thx_interp_get;
1170 #endif
1171
1172 #ifndef modperl_thx_interp_set
1173 const void *modperl_hack_thx_interp_set = (const void
*)modperl_thx_interp_set;
1174 #endif*/
1175
1176 #ifndef modperl_tls_create
1177 const void *modperl_hack_tls_create = (const void *)modperl_tls_create;
1178 #endif

then try to do make again.

so I installed it and I have not had any problems.
-----

Then make & make install.

apache:

% /usr/local/apache/bin/httpd -V
Server version: Apache/2.0.63
Server built:   Jan 30 2010 19:07:44
Server's Module Magic Number: 20020903:13
Server loaded:  APR 0.9.17, APR-UTIL 0.9.15
Compiled using: APR 0.9.17, APR-UTIL 0.9.15
Architecture:   32-bit
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/prefork"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_FCNTL_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D HTTPD_ROOT="/usr/local/apache"
 -D SUEXEC_BIN="/usr/local/apache/bin/suexec"
 -D DEFAULT_PIDLOG="logs/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="logs/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"

% /usr/local/apache/bin/httpd -l
Compiled in modules:
  core.c
  mod_perl.c
  mod_access.c
  mod_auth.c
  mod_include.c
  mod_log_config.c
  mod_env.c
  mod_setenvif.c
  mod_proxy.c
  proxy_http.c
  mod_ssl.c
  prefork.c
  http_core.c
  mod_mime.c
  mod_auth_cookie.c
  mod_status.c
  mod_autoindex.c
  mod_asis.c
  mod_cgi.c
  mod_negotiation.c
  mod_dir.c
  mod_imap.c
  mod_actions.c
  mod_userdir.c
  mod_alias.c
  mod_rewrite.c

But apache can not start;

ld.so.1: /usr/local/apache/bin/httpd: fatal: relocation error: file
/usr/local/lib/perl5/site_perl/5.8.8/sun4-solaris/auto/Apache2/ServerUtil/ServerUtil.so: symbol
ap_get_server_banner: referenced symbol not found

I checked httpd;

% nm httpd|grep ap_get_server_
[10924] |   1890324|      24|FUNC |GLOB |0    |9      |ap_get_server_built
[10640] |   1920648|     352|FUNC |GLOB |0    |9      |ap_get_server_name
[6488]  |   1921124|     380|FUNC |GLOB |0    |9      |ap_get_server_port
[10616] |   1938924|      64|FUNC |GLOB |0    |9      |ap_get_server_revision
[5500]  |   1938988|      72|FUNC |GLOB |0    |9      |ap_get_server_version
[7123]  |   3385828|       4|OBJT |GLOB |0    |16
|ap_hack_ap_get_server_built
[7494]  |   3385184|       4|OBJT |GLOB |0    |16
|ap_hack_ap_get_server_name
[10522] |   3385188|       4|OBJT |GLOB |0    |16
|ap_hack_ap_get_server_port
[9882]  |   3385816|       4|OBJT |GLOB |0    |16
|ap_hack_ap_get_server_revision
[10252] |   3385820|       4|OBJT |GLOB |0    |16
|ap_hack_ap_get_server_version

there is no ap_get_server_banner.

Does anyone know how to resolve this? Static is not good?

I made DSO version also and it works fine;

apache error_log;
ap_get_server_banner() not available until httpd/2.2.4 falling back to
ap_get_server_version() at
/usr/local/lib/perl5/5.8.8/sun4-solaris/XSLoader.pm line 94.
ap_get_server_description() not available until httpd/2.2.4 falling back to
ap_get_server_version() at
/usr/local/lib/perl5/5.8.8/sun4-solaris/XSLoader.pm line 94.
ap_get_server_banner() not available until httpd/2.2.4 falling back to
ap_get_server_version() at
/usr/local/lib/perl5/5.8.8/sun4-solaris/XSLoader.pm line 94.
ap_get_server_description() not available until httpd/2.2.4 falling back to
ap_get_server_version() at
/usr/local/lib/perl5/5.8.8/sun4-solaris/XSLoader.pm line 94.
[Sun Jan 31 14:37:05 2010] [notice] Apache configured -- resuming normal
operations


Thank you.

Mime
View raw message