From: [EMAIL PROTECTED] Operating system: RedHat 6.2 PHP version: 4.1.2 PHP Bug Type: Compile Failure Bug description: SAPDB Compile Failure
I'm trying to compile PHP 4.1.1 on RH 6.2 w/SAPDB. Configure line: Note that I have a compile system set up, so the directory vars below are available during compile: ./configure \ --prefix=${PHP_CGI_PREFIX_DIR} \ --with-config-file-path=${APACHE_PREFIX_DIR}/conf \ --enable-discard-path \ --disable-shared \ --enable-ftp \ --with-zlib \ --enable-bcmath \ --enable-calendar \ --with-imlib=/usr/local/lib/ \ --with-iconv=/usr/local/lib \ --with-jpeg-dir=/usr/lib \ --with-tiff-dir=/usr/lib \ --with-sapdb=/opt/sapdb/interfaces/odbc \ --with-oci8=${ORACLE_DIR} \ --with-mhash=${MHASH_PREFIX_DIR} \ --with-mcrypt=${MCRYPT_PREFIX_DIR} \ --with-dom=${LIBXML2_PREFIX_DIR} \ --enable-xslt --with-xslt-sablot=${SAB_PREFIX_DIR} \ --with-curl=${CURL_PREFIX_DIR} \ --with-expat-dir=${EXPAT_PREFIX_DIR} \ --enable-wddx \ --enable-memory-limit \ --enable-debug=no I use a shell include to set paths, thus the ${foo} Configure is fine, make fails with: /usr/bin/ld: cannot find -lsqlrte collect2: ld returned 1 exit status make[1]: *** [php] Error 1 make[1]: Leaving directory `/root/bc_install/packages/php-4.1.1.cgi' make: *** [all-recursive] Error 1 So... /usr/bin/ld: cannot find -lsqlrte despite my having included the correct path(s) in ld.so.conf: /opt/sapdb/interfaces/odbc/lib /opt/sapdb/depend/lib and having run ldconfig... I still get /usr/bin/ld: cannot find -lsqlrte ------------------ So went looking for the lib: root@core lib> ld -v |grep sql /// i.e. no results from this search, which lists all known libs root@core lib> ldconfig -v |grep sql libsqlod.so => libsqlod.so libsqlrte.so => libsqlrte.so libsqlcls.so => libsqlcls.so // note that ldconfig _is_ tracking these libs. confusing I have never seen an instance where ldconfig knows about something ld doesn't. --------------- I then got this mail from a guy at SAP: I think, I've found the solution. Facts: - libsqlod is the driver - libsqlrte is some lib of our runtime env - libsqlrte is added to the libs in the configure file Therefore, php wants to link with -lsqlrte which is actually not necessary. Solution: - quick and dirty: cp libsqlod.so libsqlrte.so - edit php's ext/odbc/config.m4: delete the line "AC_ADD_LIBRARY(sqlrte)" in the sapdb section. Then autoconf, configure, make ... The problem is a remainder of the ancestor ADABAS. Please tell me, whether it now works for you. I will then inform the list about this. Greetings Thomas -- Edit bug report at http://bugs.php.net/?id=16100&edit=1 -- Fixed in CVS: http://bugs.php.net/fix.php?id=16100&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=16100&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=16100&r=needtrace Try newer version: http://bugs.php.net/fix.php?id=16100&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=16100&r=support Expected behavior: http://bugs.php.net/fix.php?id=16100&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=16100&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=16100&r=submittedtwice