modXLDAPAuth compilation failure on HPUX 11

From: Publio Quintilio Varo (kickza_at_freemail.it)
Date: 06/28/04


Date: 28 Jun 2004 08:10:11 -0700

Hello,

We are currently trying to get working modXLDAPAuth under an HPUX
B.11.00 machine, using Apache as a webserver, and
tomcat as a servlet engine, with mod_jk2. We are busy implementing
ldap in our systems, and your module seems to be
the only choice on the market for us. After some tries, we managed to
solve every issue except for one, that seems to be
very modXLDAPAuth-specific.

The error given is:
******************************
root@itsv01:/usr/local/mipatsv/apache-2.0.49/bin> ./apachectl startssl
Syntax error on line 56 of
/usr/local/mipatsv/apache-2.0.49/conf/httpd.conf:
Cannot load /usr/local/mipatsv/apache-2.0.49/modules/modXLDAPAuth.sl
into server: Unresolved external
******************************

The configure script run till the end without errors, and it produces
the makefiles.

Other tries with some other modules (mod_auth_ldap module by Muhammad
A. Muquit -- http://www.muquit.com/muquit/software/mod_auth_ldap/mod_auth_ldap_apache2.html
& mod_jk2) configures, compiles & works flawlessy.

Unluckily for us, that modules doesn't handle x509 certificate
requests -- so it isn't an option.

A further investigation by tracing the command with tusc (with "tusc
-f ./apachectl startssl") doesn't produce any useful hint.

Our apachectl looks like this:

******************************
ARGV="$@"
export SHLIB_PATH="/usr/local/mipatsv/apache-2.0.49/modules:/usr/local/mipatsv/apache-2.0.49/src/modXLdapAuth-0.1/openssl-0.9.7d_bin/lib:/usr/local/mipatsv/apache-2.0.49/lib:/usr/local/lib/:$SHLIB_PATH"
export LD_PRELOAD="/usr/lib/libc.sl:/usr/lib/libpthread.sl:/usr/lib/libcl.sl:/usr/local/lib/libldap.sl:"

[...cut...]

startssl|sslstart|start-SSL)
    $HTTPD -k start -DSSL
    ERROR=$?
    ;;

[...cut...]
******************************

the configure script runs properly, and it doesn't warn about any
possible issues, as I show below:

******************************
./configure --with-apxs=/usr/local/mipatsv/apache-2.0.49/bin/apxs \
--with-ldap-dir=/usr/local \
--with-openssl=/usr/local/mipatsv/apache-2.0.49/src/modXLdapAuth-0.1/openssl-0.9.7d_bin
[...cut...]
checking for SSL includes...... yes
The output of /usr/local/mipatsv/apache-2.0.49/src/modXLdapAuth-0.1/openssl-0.9.7d_bin
adding in CPPFLAGS
configure: creating ./config.status
config.status: creating Makefile

======================================================================
You're compiling the module as Dynamic Shared Object (DSO)
Make sure your apache is compiled with DSO support. To test, type
 $ /path_of/httpd -l and make sure mod_so.c is in the list

Final Compilation Flags:
  APXS = /usr/local/mipatsv/apache-2.0.49/bin/apxs
  LDAP_DIR = /usr/local
  LDAP_INCLUDE_DIR = /usr/local/include
  LDAP_LIB_DIR = /usr/local/lib
  CFLAGS = -g -O2
  CPPFLAGS =
-I/usr/local/mipatsv/apache-2.0.49/src/modXLdapAuth-0.1/openssl-0.9.7d_bin/include
-I/usr/local/mipatsv/apache-2.0.49/src/modXLdapAuth-0.1/openssl-0.9.7d_bin/include/openssl
-I/usr/local/include
  LDFLAGS = -L/usr/local/lib
  LIBS = -lldap -llber -lnsl
======================================================================
If everything looks ok, at the shell prompt, type:
make
make install
******************************

By displaying external symbol informations I get this:

******************************
root@itsv01:/usr/local/mipatsv/apache-2.0.49/modules> nm
modXLDAPAuth.sl | grep extern
XLDAPAuth_check_user_id| 6568|extern|entry |
XLDAPAuth_check_user_id| 6640|extern|code |$CODE$
XLDAPAuth_method_handler| 6840|extern|entry |
XLDAPAuth_method_handler| 6984|extern|code |$CODE$
XLDAPAuth_module |1073746876|extern|data |$DATA$
******************************

Ldd complains about some missing references too, but it's still hard
to tell what is missing:

******************************
root@itsv01:/usr/local/mipatsv/apache-2.0.49/modules> ldd -b -r -s -v
modXLDAPAuth.sl

  find library=/usr/lib/libc.2; required by modXLDAPAuth.sl
    search path=/usr/local/mipatsv/apache-2.0.49/modules (RPATH)
    trying path=/usr/local/mipatsv/apache-2.0.49/modules/libc.2
    trying path=/usr/lib/libc.2 (absolute)
        /usr/lib/libc.2 => /usr/lib/libc.2

  find library=/usr/lib/libdld.2; required by /usr/lib/libc.2
    search path=/usr/local/mipatsv/apache-2.0.49/modules (RPATH)
    trying path=/usr/local/mipatsv/apache-2.0.49/modules/libdld.2
    trying path=/usr/lib/libdld.2 (absolute)
        /usr/lib/libdld.2 => /usr/lib/libdld.2

  find library=/usr/lib/libc.2; required by implicit load
    search path=/usr/local/mipatsv/apache-2.0.49/modules (RPATH)
    trying path=/usr/local/mipatsv/apache-2.0.49/modules/libc.2
    trying path=/usr/lib/libc.2 (absolute)
        /usr/lib/libc.2 => /usr/lib/libc.2
        symbol not found: ssl_module (modXLDAPAuth.sl)
        symbol not found: XLDAPAuth_cmds (modXLDAPAuth.sl)
        symbol not found: write_log (modXLDAPAuth.sl)
        symbol not found: _end (/usr/lib/libc.2)
        symbol not found: _SYSTEM_ID (/usr/lib/libc.2)
        symbol not found: scan_line (modXLDAPAuth.sl)
        symbol not found: ap_hook_handler (modXLDAPAuth.sl)
        symbol not found: ap_get_basic_auth_pw (modXLDAPAuth.sl)
        symbol not found: findLDAP (modXLDAPAuth.sl)
        symbol not found: write_config_rec (modXLDAPAuth.sl)
        symbol not found: XLDAPAuth_create_dir_config
(modXLDAPAuth.sl)
        symbol not found: XLDAPAuth_merge_dir_config
(modXLDAPAuth.sl)
        symbol not found: __dld_loc (/usr/lib/libdld.2)
******************************

Any help would be greatly apreciated.

Thanks in advance,

D. A., InfoTN.it Administrator



Relevant Pages

  • Re: Apache2 gives PHP source, wont excuted
    ... Jaz forgot to take the pills and typed: ... After 3 compiles of Apache & PHP I finally gave up. ...
    (alt.php)
  • RewriteMap and db-Files
    ... im trying to get Apache 2.2.4 working with mod_rewrite and DB-Rewrite ... Maps. ... All compiles well, without error but if I try to start apache it ... complains that "RewriteMap: ...
    (comp.infosystems.www.servers.unix)