php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #8913 undefined symbol SQLParamData
Submitted: 2001-01-25 14:34 UTC Modified: 2001-01-27 21:27 UTC
From: lorenb at 420consulting dot com Assigned:
Status: Closed Package: Apache related
PHP Version: 4.0.4pl1 OS: Debian 2.2
Private report: No CVE-ID: None
View Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
If you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
Package:
Bug Type:
Summary:
From: lorenb at 420consulting dot com
New email:
PHP Version: OS:

 

 [2001-01-25 14:34 UTC] lorenb at 420consulting dot com
I compiled PHP 4.0.4p1 today, with the following options:

./configure --with-apxs=/opt/apache/bin/apxs
--with-ibm-db2=/usr/IBMdb2/V7.1

It compiles fine, but when I try and load Apache it fails
with this error:

Cannot load /opt/apache/libexec/libphp4.so into server:
/opt/apache/libexec/libphp4.so: undefined symbol: SQLParamData

When I do an 'ldd' on it, I get the following:

libdb2.so.2 => /usr/lib/libdb2.so.2
libdl.so.2 => /usr/libdl.so.2
libresolv.so.2 => /lib/libresolv.so.2
libm.so.6 => /lib/libm.so.6
libcrypt.so.1 => /lib/libcrypt.so.1
libnsl.so.1 => /lib/libnsl.so.1
libc.so.6 => /lib/libc.so.6
/lib/ld-linux.so.2 => /lib/ld-linux.so.2

I'm not sure what the problem is.  When I tried to
investigate this error, I found some information about this
coming up when compiling PHP with something called 'Solid'.

My system is as follows:

Debian GNU/Linux 2.2
Kernel v2.4.0

apache: v1.3.14
php: v4.0.4p1
gcc: v2.95.3






Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2001-01-25 15:22 UTC] kalowsky@php.net
With regards to the SOLID part.  This has been delt with and corrected since about PHP 4.0.3pl1.  It was basically an incorrect linking of libraries done by PHP to the weird SOLID libraries.  

I'm not totally familiar with the DB2 layout, but it sounds like you did not properly link in your libraries files.  Check your configure log, and double check that they do exist where configure says they do.
 [2001-01-27 03:06 UTC] lorenb at 420consulting dot com
I finally managed to figure out the problem I was having.  I went into my
/usr/IBMdb2/V7.1/lib directory and verified that libdb2.so existed.  It was there,
but it was called libdb2.so.1.

I created a symbolic link from libdb2.so -> libdb2.so.1 in that directory, and then
re-compiled PHP.  apache now loads and everything looks good.   When I do an 'ldd' on the libphp4.so, I now get:

libdb2.so.1 => /usr/IBMdb2/V7.1/lib/libdb2.so.1
libdl.so.2 => /lib/libdl.so.2
libresolv.so.2 => /lib/libresolv.so.2
libm.so.6 => /lib/libm.so.6
libcrypt.so.1 => /lib/libcrypt.so.1
libnsl.so.1 => /lib/libnsl.so.1
libc.so.6 => /lib/libc.so.6
libpthread.so.0 => /lib/pthread.so.0
libstdc++-libc6.1-1.so.2 => /usr/lib/libstdc++-lib6.1-2.so.2
/lib/ld-linux.so.2 => /lib/ld-linux.so.2

I'm not sure if this is a bug in PHP, or was just related to my DB2 installation.  I'm using a Debian system, but DB2 is distributed as in .rpm format.  I just converted the .rpms to .tgz files and then installed it by hand.   







 [2001-01-27 21:27 UTC] sniper@php.net
Broken db2 install -> closed.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Wed Nov 06 02:01:30 2024 UTC