Hi,
I am trying to install PHP 4.1.2as a shared module with with Apache
1.3.22, and OpenLDAP 2.0.23.
When I try to start Apache, I get the following error:
apachectl sslstart
Syntax error on line 239 of /usr/local/apache/conf/httpd.conf:
Cannot load /usr/local/apache/libexec/libphp4.so into server: undefined
symbol: ldap_value_free
/usr/bin/apachectl sslstart: httpd could not be started
I have seen this problem appear many times in this forum, and others,
but so far, none of the remedies suggested have worked on my system(SuSE
7.1).
My php configure is as follows:
./configure
--with-apxs=/usr/local/apache/bin/apxs
--with-config-file-path=/usr/local/apache/conf
--enable-versioning
--with-mysql
--enable-ftp
--with-gd=/usr/local/gd-1.8.4
--enable-bcmath
--disable-debug
--enable-memory-limit
--with-ldap=/usr/local/src/openldap-2.0.23
--with-sablot=/usr/src/Sablot-0.44
Configure, make clean, make, and make install all work without error.
LDAP(by the way, I tried 4 different versions), installs, and passes all
tests, and I can access it from another machine.
Following some of the suggestions in the mailing lists, I checked the
ld.cache, with ldconfig --verbose, and the appropriate lines in the
output were
/usr/local/lib:
liblber.so.2 -> liblber.so.2.0.15
libldap.so.2 -> libldap.so.2.0.15
libldap_r.so.2 -> libldap_r.so.2.0.15
. . .
This seems to indicate that the LDAP libraries are loaded in the cache.
I then checked the built libphp4.so, with ldd, and got the following
ldd /usr/local/apache/libexec/libphp4.so
libdl.so.2 => /lib/libdl.so.2 (0x40175000)
libttf.so.2 => /usr/lib/libttf.so.2 (0x40178000)
libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x401a0000)
libpng.so.2 => /usr/lib/libpng.so.2 (0x401bf000)
libz.so.1 => /lib/libz.so.1 (0x401ea000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x401f9000)
libXpm.so.4 => /usr/X11R6/lib/libXpm.so.4 (0x402dc000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x402ec000)
libresolv.so.2 => /lib/libresolv.so.2 (0x4031a000)
libpam.so.0 => /lib/libpam.so.0 (0x4032b000)
libgd.so.4 => /usr/lib/libgd.so.4 (0x40333000)
libm.so.6 => /lib/libm.so.6 (0x40364000)
libnsl.so.1 => /lib/libnsl.so.1 (0x40382000)
libc.so.6 => /lib/libc.so.6 (0x40398000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x2aaaa000)
If I have correctly understood(which may not be the case), the linux
loader, I think I should have expected to see somewhere a reference in
libphp4.so to the ldap libraries, as I think that they should be loaded
when libphp4.so is loaded. If they are not loaded during
initialisation, they could perhaps be loaded at first call, but if they
are, I am a little out of my depth here.
So it would seem to me that the the PHP configure/make/make install
cycle is not correctly building libphp4.so. This could be a problem
with the configure, or with my machine setup. I can think of two ways
to solve the problem, - fix the configurations script, or manually add
something to the make file, to force the loading of the libraries, but I
have to say that I think this might be a little beyond me at the moment.
Any suggestions would be gratefully appreciated. Sorry for the long append.
Best regards. . . Fred
--
PHP Install Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php