|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2009-12-28 20:26 UTC] Steve dot Cleveland at orst dot edu
Description:
------------
Starting with PHP 5.2.12, the final part of the 'make' process fails. It appears if a system has both 32bit and 64bit libraries, building the apache1 module tries to link to the 32bit library and fails with "File in wrong format".
The issue doesn't happen with the CGI/CLI versions.
The apache version is 1.3.41
Reproduce code:
---------------
# locate libdb-4.3.so
/lib/libdb-4.3.so
/lib64/libdb-4.3.so
/usr/lib/libdb-4.3.so
/usr/lib64/libdb-4.3.so
# rpm -q --qf "%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n" db4
db4-4.3.29-10.el5.x86_64
db4-4.3.29-10.el5.i386
./configure --enable-dba --with-db4 --with-apxs=/private/httpd/bin/apxs
make
Expected result:
----------------
successful build
Actual result:
--------------
/usr/bin/ld: skipping incompatible /usr/lib/libcrypt.so when searching for -lcrypt
/usr/bin/ld: skipping incompatible /usr/lib/libcrypt.a when searching for -lcrypt
/usr/bin/ld: skipping incompatible /usr/lib/libcrypt.so when searching for -lcrypt
/usr/bin/ld: skipping incompatible /usr/lib/libcrypt.a when searching for -lcrypt
/usr/bin/ld: skipping incompatible /usr/lib/librt.so when searching for -lrt
/usr/bin/ld: skipping incompatible /usr/lib/librt.a when searching for -lrt
/usr/lib/libdb-4.3.so: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
make: *** [libphp5.la] Error 1
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2026 The PHP GroupAll rights reserved. |
Last updated: Tue Mar 24 13:00:01 2026 UTC |
I also get the same error with libltdl.so and the --with-mcrypt option: # rpm -q --qf "%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n" mcrypt mcrypt-2.6.4-3.el5.i386 mcrypt-2.6.4-3.el5.x86_64 # rpm -q --qf "%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n" libtool-ltdl libtool-ltdl-1.5.22-7.el5_4.x86_64 libtool-ltdl-1.5.22-7.el5_4.i386 # locate libltdl.so /usr/lib/libltdl.so /usr/lib/libltdl.so.3 /usr/lib/libltdl.so.3.1.4 /usr/lib64/libltdl.so /usr/lib64/libltdl.so.3 /usr/lib64/libltdl.so.3.1.4 ./configure --with-apxs=/private/httpd/bin/apxs --with-mcrypt make ... sapi/apache/mod_php5.lo sapi/apache/php_apache.lo main/internal_functions.lo -lcrypt -lcrypt -lrt -lmcrypt -lltdl -lresolv -lm -ldl -lnsl -lxml2 -lz -lm -lxml2 -lz -lm -lxml2 -lz -lm -lcrypt -lxml2 -lz -lm -lxml2 -lz -lm -lxml2 -lz -lm -lcrypt -o libphp5.la /usr/bin/ld: skipping incompatible /usr/lib/libcrypt.so when searching for -lcrypt /usr/bin/ld: skipping incompatible /usr/lib/libcrypt.a when searching for -lcrypt /usr/bin/ld: skipping incompatible /usr/lib/libcrypt.so when searching for -lcrypt /usr/bin/ld: skipping incompatible /usr/lib/libcrypt.a when searching for -lcrypt /usr/bin/ld: skipping incompatible /usr/lib/librt.so when searching for -lrt /usr/bin/ld: skipping incompatible /usr/lib/librt.a when searching for -lrt /usr/bin/ld: skipping incompatible /usr/lib/libmcrypt.so when searching for -lmcrypt /usr/bin/ld: skipping incompatible /usr/lib/libmcrypt.a when searching for -lmcrypt /usr/lib/libltdl.so: could not read symbols: File in wrong format collect2: ld returned 1 exit status make: *** [libphp5.la] Error 1