Hello all,
I tried to cross compile a 32bit-Version of PHP 4.3.11 and 5.1.2 on my
AMD64-System with GCC.
Here the used configure-script:
CFLAGS="-m32 -fPIC" ; export CFLAGS
LIBRARY_PATH=/usr/lib; export LIBRARY_PATH
../configure
--prefix=/webdienste/webservers/apache/ugv.intranet.eon-energie.com-https/php/4.3.11\
--with-config-file-path=/webdienste/webservers/apache/ugv.intranet.eon-energie.com-https/2.0.55/conf\
--with-apxs2=/webdienste/webservers/apache/ugv.intranet.eon-energie.com-https/2.0.55/bin/apxs\
--without-mysql \
--disable-cli \
--enable-sigchild \
--without-pear \
--enable-memory-limit \
--with-pic \
--with-gd \
--with-gettext \
--enable-track-vars \
--with-zlib \
--with-jpeg \
--with-png \
--with-freetype \
--enable-libgcc \
--build=x86_64-unknown-linux-gnu \
--target=i686-pc-linux-gnu
at Make-step (I think in Linking) the following messages occure:
....
/bin/sh /webdienste/install/src/php-4.3.11/libtool --silent
--preserve-dup-deps --mode=link gcc -m32 -fPIC -prefer-pic -rpa
th /webdienste/install/src/php-4.3.11/libs -avoid-version -module
-L/usr/lib64/gcc/x86_64-suse-linux/4.0.2 -L/webdienste/web
servers/apache/ugv.intranet.eon-energie.com-https/libs/openssl/0.9.8a/lib
-L/webdienste/webservers/apache/ugv.intranet.eon-e
nergie.com-https/libs/openssl/0.9.8a/lib
-L/webdienste/oracle/product/32/instantclient_10_2 -R
/usr/lib64/gcc/x86_64-suse-li
nux/4.0.2 ext/zlib/zlib.lo ext/zlib/zlib_fopen_wrapper.lo
ext/ctype/ctype.lo ext/gd/gd.lo ext/gd/gdttf.lo ext/gd/libgd/gd.lo
ext/gd/libgd/gd_gd.lo ext/gd/libgd/gd_gd2.lo ext/gd/libgd/gd_io.lo
ext/gd/libgd/gd_io_dp.lo ext/gd/libgd/gd_io_file.lo ext/
gd/libgd/gd_ss.lo ext/gd/libgd/gd_io_ss.lo ext/gd/libgd/gd_png.lo
ext/gd/libgd/gd_jpeg.lo ext/gd/libgd/gdxpm.lo ext/gd/libgd
/gdfontt.lo ext/gd/libgd/gdfonts.lo ext/gd/libgd/gdfontmb.lo
ext/gd/libgd/gdfontl.lo ext/gd/libgd/gdfontg.lo ext/gd/libgd/gd
tables.lo ext/gd/libgd/gdft.lo ext/gd/libgd/gdcache.lo
ext/gd/libgd/gdkanji.lo ext/gd/libgd/wbmp.lo ext/gd/libgd/gd_wbmp.lo
ext/gd/libgd/gdhelpers.lo ext/gd/libgd/gd_topal.lo
ext/gd/libgd/gd_gif_in.lo ext/gd/libgd/xbm.lo ext/gd/libgd/gd_gif_out.lo
ext/gettext/gettext.lo ext/overload/overload.lo
ext/pcre/pcrelib/maketables.lo ext/pcre/pcrelib/get.lo ext/pcre/pcrelib/stud
y.lo ext/pcre/pcrelib/pcre.lo ext/pcre/php_pcre.lo ext/posix/posix.lo
ext/session/session.lo ext/session/mod_files.lo ext/se
ssion/mod_mm.lo ext/session/mod_user.lo regex/regcomp.lo
regex/regexec.lo regex/regerror.lo regex/regfree.lo ext/standard/ar
ray.lo ext/standard/base64.lo ext/standard/basic_functions.lo
ext/standard/browscap.lo ext/standard/crc32.lo ext/standard/cr
ypt.lo ext/standard/cyr_convert.lo ext/standard/datetime.lo
ext/standard/dir.lo ext/standard/dl.lo ext/standard/dns.lo ext/s
tandard/exec.lo ext/standard/file.lo ext/standard/filestat.lo
ext/standard/flock_compat.lo ext/standard/formatted_print.lo e
xt/standard/fsock.lo ext/standard/head.lo ext/standard/html.lo
ext/standard/image.lo ext/standard/info.lo ext/standard/iptc.
lo ext/standard/lcg.lo ext/standard/link.lo ext/standard/mail.lo
ext/standard/math.lo ext/standard/md5.lo ext/standard/metap
hone.lo ext/standard/microtime.lo ext/standard/pack.lo
ext/standard/pageinfo.lo ext/standard/parsedate.lo ext/standard/quot_
print.lo ext/standard/rand.lo ext/standard/reg.lo
ext/standard/soundex.lo ext/standard/string.lo ext/standard/scanf.lo ext/s
tandard/syslog.lo ext/standard/type.lo ext/standard/uniqid.lo
ext/standard/url.lo ext/standard/url_scanner.lo ext/standard/v
ar.lo ext/standard/versioning.lo ext/standard/assert.lo
ext/standard/strnatcmp.lo ext/standard/levenshtein.lo ext/standard/i
ncomplete_class.lo ext/standard/url_scanner_ex.lo
ext/standard/ftp_fopen_wrapper.lo ext/standard/http_fopen_wrapper.lo ext/s
tandard/php_fopen_wrapper.lo ext/standard/credits.lo ext/standard/css.lo
ext/standard/var_unserializer.lo ext/standard/ftok.
lo ext/standard/aggregation.lo ext/standard/sha1.lo
ext/tokenizer/tokenizer.lo ext/xml/xml.lo ext/xml/expat/xmlparse.lo ext/
xml/expat/xmlrole.lo ext/xml/expat/xmltok.lo TSRM/TSRM.lo
TSRM/tsrm_strtok_r.lo TSRM/tsrm_virtual_cwd.lo main/main.lo main/s
nprintf.lo main/spprintf.lo main/php_sprintf.lo main/safe_mode.lo
main/fopen_wrappers.lo main/alloca.lo main/php_scandir.lo
main/php_ini.lo main/SAPI.lo main/rfc1867.lo main/php_content_types.lo
main/strlcpy.lo main/strlcat.lo main/mergesort.lo mai
n/reentrancy.lo main/php_variables.lo main/php_ticks.lo main/streams.lo
main/network.lo main/php_open_temporary_file.lo main
/php_logos.lo main/output.lo main/memory_streams.lo main/user_streams.lo
Zend/zend_language_parser.lo Zend/zend_language_sca
nner.lo Zend/zend_ini_parser.lo Zend/zend_ini_scanner.lo
Zend/zend_alloc.lo Zend/zend_compile.lo Zend/zend_constants.lo Zend
/zend_dynamic_array.lo Zend/zend_execute_API.lo Zend/zend_highlight.lo
Zend/zend_llist.lo Zend/zend_opcode.lo Zend/zend_oper
ators.lo Zend/zend_ptr_stack.lo Zend/zend_stack.lo
Zend/zend_variables.lo Zend/zend.lo Zend/zend_API.lo Zend/zend_extensions
..lo Zend/zend_hash.lo Zend/zend_list.lo Zend/zend_indent.lo
Zend/zend_builtin_functions.lo Zend/zend_sprintf.lo Zend/zend_in
i.lo Zend/zend_qsort.lo Zend/zend_multibyte.lo Zend/zend_strtod.lo
Zend/zend_execute.lo sapi/apache2handler/sapi_apache2.lo
sapi/apache2handler/apache_config.lo
sapi/apache2handler/php_functions.lo main/internal_functions.lo -lcrypt
-lcrypt -lpng -
lz -lz -lresolv -lm -ldl -lnsl -lgcc -lcrypt -lcrypt -o libphp4.la
/usr/lib64/gcc/x86_64-suse-linux/4.0.2/../../../../x86_64-suse-linux/bin/ld:
warning: i386 architecture of input file `ext/z
lib/zlib.lo' is incompatible with i386:x86-64 output
/usr/lib64/gcc/x86_64-suse-linux/4.0.2/../../../../x86_64-suse-linux/bin/ld:
warning: i386 architecture of input file `ext/z
lib/zlib_fopen_wrapper.lo' is incompatible with i386:x86-64 output
/usr/lib64/gcc/x86_64-suse-linux/4.0.2/../../../../x86_64-suse-linux/bin/ld:
warning: i386 architecture of input file `ext/c
type/ctype.lo' is incompatible with i386:x86-64 output
....
The same I done with OpenLDAP, mod_jk, apache2 and a little bit
different for OpenSSL. With all these I was able to create 32-bit
binaries and libs, but only with PHP this doesn't work.
Any ideas?
regards
joerg
mailto:[EMAIL PROTECTED]