On 21.08.2012 19:45, John Adamski wrote:
Apache 2.22 on HPUX 11v3 Integrity (Itanium) server

Our ERP is updating which version of apache httpd they use from 2.2.15 to 2.2.22.  
We have a local process that uses mod_ldap & mod_authnz.  The ERP provides a 
script that does all the setup and compiling for us.  I'm trying to get httpd to 
compile on our test/dr server prior to doing it on our production server.

Last time when we upgraded to 2.2.15 I just had to add these three lines into 
the script to get things to compile with the added modules.

  set config_options="${config_options} --enable-ldap=static"
  set config_options="${config_options} --enable-authnz-ldap=static"
  set config_options="${config_options} --with-ldap=ldap"


when the script runs I get this:

./apache2_install | & tee install4.Out
"/home/carsids/adamski/.redo" 1 line, 40 characters
Directory: /opt/apache2/src/httpd-2.2.22
Command: ./configure --prefix=/opt/apache2 --enable-authn-dbm=shared 
--with-mpm=prefork --with-included-apr --without-berkeley-db --enable-expires=shared 
--enable-headers=shared --enable-rewrite=shared --enable-mime-magic=shared 
--enable-info=shared --enable-status=shared --enable-userdir=shared --enable-http 
--enable-so --enable-ssl=shared --with-ssl=/opt/openssl101 --with-perl=/opt/perl514 
--with-ndbm --with-expat=/opt/gnu --enable-dumpio=shared --enable-ldap=static 
--enable-authnz-ldap=static --with-ldap=ldap >& config.out
Command: make >& make.out
./apache2_install: Error: See errors in the .out file.

The make.out file has this at the end:

/bin/sh /opt/apache2/src/httpd-2.2.22/srclib/apr/libtool --silent --mode=link 
cc  +Onoprocelim +DD32 -Ae +Z -mt  +Onoprocelim +DD32   -Wl,+b -Wl,/opt/apache2
/lib:/opt/openssl101/lib:/opt/openssl101/lib/hpux32:/opt/gnu/lib:/opt/apache2/src/httpd-2.2.22/srclib/apr/.libs
 -L/opt/gnu/lib -release 1 -module -rpath /opt
/apache2/lib/apr-util-1 -o dbm/apr_dbm_ndbm.la dbm/apr_dbm_ndbm.lo -lc
/bin/sh /opt/apache2/src/httpd-2.2.22/srclib/apr/libtool --silent 
--mode=compile cc +Onoprocelim +DD32 -Ae +Z -mt  +Onoprocelim +DD32 
-DHAVE_CONFIG_H -DHPUX1
1 -D_REENTRANT -D_HPUX_SOURCE -D_LARGEFILE64_SOURCE   
-I/opt/apache2/src/httpd-2.2.22/srclib/apr-util/include 
-I/opt/apache2/src/httpd-2.2.22/srclib/apr-util
/include/private  -I/opt/apache2/src/httpd-2.2.22/srclib/apr/include  
-I/opt/gnu/include  -o ldap/apr_ldap_init.lo -c ldap/apr_ldap_init.c && touch 
ldap/apr_
ldap_init.lo
"ldap/apr_ldap_init.c", line 168: warning #2223-D: function "ldapssl_init" 
declared implicitly
       *ldap = ldapssl_init(hostname, portno, 0);
               ^

"ldap/apr_ldap_init.c", line 168: warning #2513-D: a value of type "int" cannot be 
assigned to an entity of type "LDAP *"
       *ldap = ldapssl_init(hostname, portno, 0);
             ^

/bin/sh /opt/apache2/src/httpd-2.2.22/srclib/apr/libtool --silent 
--mode=compile cc +Onoprocelim +DD32 -Ae +Z -mt  +Onoprocelim +DD32 
-DHAVE_CONFIG_H -DHPUX1
1 -D_REENTRANT -D_HPUX_SOURCE -D_LARGEFILE64_SOURCE   
-I/opt/apache2/src/httpd-2.2.22/srclib/apr-util/include 
-I/opt/apache2/src/httpd-2.2.22/srclib/apr-util
/include/private  -I/opt/apache2/src/httpd-2.2.22/srclib/apr/include  
-I/opt/gnu/include  -o ldap/apr_ldap_option.lo -c ldap/apr_ldap_option.c && 
touch ldap/
apr_ldap_option.lo
"ldap/apr_ldap_option.c", line 446: warning #2223-D: function 
"ldapssl_enable_clientauth" declared implicitly
               result->rc = ldapssl_enable_clientauth(ldap, "",
                            ^

"ldap/apr_ldap_option.c", line 456: warning #2223-D: function 
"ldapssl_advclientauth_init" declared implicitly
               result->rc = ldapssl_advclientauth_init(cert7db, NULL,
                            ^

"ldap/apr_ldap_option.c", line 458: error #2020: identifier 
"LDAPSSL_AUTH_CNCHECK" is undefined
                                                       1, secmod, 
LDAPSSL_AUTH_CNCHECK);
                                                                  ^

"ldap/apr_ldap_option.c", line 465: warning #2223-D: function 
"ldapssl_clientauth_init" declared implicitly
               result->rc = ldapssl_clientauth_init(cert7db, NULL,
                            ^

"ldap/apr_ldap_option.c", line 473: warning #2223-D: function 
"ldapssl_client_init" declared implicitly
               result->rc = ldapssl_client_init(cert7db, NULL);
                            ^

1 error detected in the compilation of "ldap/apr_ldap_option.c".
make[3]: *** [ldap/apr_ldap_option.lo] Error 1
make[3]: Leaving directory `/opt/apache2/src/httpd-2.2.22/srclib/apr-util'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/opt/apache2/src/httpd-2.2.22/srclib/apr-util'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/opt/apache2/src/httpd-2.2.22/srclib'
make: *** [all-recursive] Error 1

Since I now get this 2020 error, I assume I don't have some other mod_* that I 
need to add to get it to compile.

I have also removed the '=static' and '=ldap' on the lines and get same error.

Does anyone know what is causing this error and how to correct it?

Part of the compilation of the web server is the compilation of the budnled APR und APR-UTIL libraries. The code that errs here is part of APR-UTIL.

During the configure run of the web server, it calls the configure script of APR-UTIL. That in turn detects whether your build system does support ldapssl_init() in its system provided ldap lib.

The result is output during the configure run (search for ldapssl_init) and also contained in the produced file config.log.

Furthermore the file include/apr_ldap.h generated during configure will contain the line

#define APR_HAS_LDAPSSL_INIT 1

if the function could be found. If so, the Apache code will try to use it. During compilation it fails, since ldapssl_init is not part of any system provided include (.h) file.

In short: your system is in inconsistent state for a build system. The libraries contain thefunction ldapssl_init(), but the header files don't tell the compiler about its definition. Maybe you need to install an additional system provided header file related to ldap? Or you have more than one set of ldap libraries installed and the first one found is not the one that belongs to the header files? Check the configure output and maybe the config.log whether you find any indication of an unwanted ldap library. You can also search your system provided header files (e.g. in /usr/include ?) for the definition of ldapssl_init().

Regards,

Rainer

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
For additional commands, e-mail: users-h...@httpd.apache.org

Reply via email to