symbol ap_get_server_banner: referenced symbol not found

Shigeru Yanagibayashi <[email protected]>
Newsgroups gmane.comp.apache.mod-perl
Message-ID <[email protected]>
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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.