|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2000-06-14 18:01 UTC] dshafer at cvs dot php dot net
[2000-08-20 03:50 UTC] sniper@php.net
[2000-09-01 13:56 UTC] dshafer@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Thu Nov 06 05:00:01 2025 UTC |
Problem with proposed fix below: The file ext/oci8/config.m4 (version 1.18) assumes that all entries in $OCI8_DIR/lib/sysliblist and $OCI8_DIR/rdbms/lib/sysliblist begin with "-l", though this is not always the case. On an AIX 4.3.3 system running Oracle 8.0.5 (IBM C compiler 5.0), I have the following in sysliblist: $ cat $ORACLE_HOME/lib/sysliblist /lib/crt0_r.o -lc_r -lpthreads -lodm -lm The OCI8 config.m4 strips any existing "-l" flags, and then passes the bare filenames to AC_ADD_LIBRARY_WITH_PATH(). As a result, a library list such as the following is generated: -l/lib/crt0_r.o -lc_r -lpthread -lodm -lm This generates the following error upon compiling: ld: 0706-006 Cannot find or open library file: -l /lib/crt0_r.o ld:open(): A file or directory in the path name does not exist. I fixed the problem as follows: $ diff config.m4_1.18 config.m4_new 55c55,56 < OCI8_SYSLIB="`cat $OCI8_DIR/lib/sysliblist | sed -e 's/-l//g'`" --- > AC_ADD_LIBPATH("$OCI8_DIR/lib") > OCI8_SYSLIB="`cat $OCI8_DIR/lib/sysliblist`" 57c58,59 < OCI8_SYSLIB="`cat $OCI8_DIR/rdbms/lib/sysliblist | sed -e 's/-l//g'`" --- > AC_ADD_LIBPATH("$OCI8_DIR/rdbms/lib") > OCI8_SYSLIB="`cat $OCI8_DIR/rdbms/lib/sysliblist`" 60,64c62 < if test -n "$OCI8_SYSLIB"; then < for oci8_slib in `echo $OCI8_SYSLIB`; do < AC_ADD_LIBRARY_WITH_PATH($oci8_slib, "", OCI8_SHARED_LIBADD) < done < fi --- > OCI8_SHARED_LIBADD="$OCI8_SHARED_LIBADD $OCI8_SYSLIB"