Hi - Building openssl-1.0.0d for my native x86_64 linux platform enables defining the AES_* symbols in /usr/include/openssl/ ; then when I build the i686 libssl and libcrypto libraries (only) for i686, using the same Configure arguments with only --libdir changed from lib64 to lib32 , these symbols are declared in the headers but not defined in the i686 version of the libraries , so that, for instance, the openssh configure succeeds for x86_64 but fails for i686 :
configure:10105: /usr/bin/gcc -m32 -o conftest -march=i686 -mtune=generic -g -O2 -fPIC -DPIC -Wa,--compress-debug-sections -Wall -Wpointer-arith -Wuninitialized -Wsi\ gn-compare -Wformat-security -Wno-pointer-sign -Wno-unused-result -fno-strict-aliasing -fno-builtin-memset -fstack-protector-all -I/usr/include -L/usr/lib -Wl,-L/us\ r/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32,-L/usr/lib64/gcc/x86_64-pc-linux-gnu/lib32,-L/usr/lib32,-L/lib32,-R/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32:/usr/lib64/gc\ c/x86_64-pc-linux-gnu/4.6.0/lib32:/usr/lib32:/lib32,--dynamic-linker,/lib32/ld-linux.so.2 -fstack-protector-all conftest.c -lcrypto -lssl -ldl -lutil -lz -lnsl >&5 /usr/bin/ld: skipping incompatible /usr/lib/libcrypto.so when searching for -lcrypto /usr/bin/ld: skipping incompatible /usr/lib/libcrypto.a when searching for -lcrypto /usr/bin/ld: skipping incompatible /usr/lib/libssl.so when searching for -lssl /usr/bin/ld: skipping incompatible /usr/lib/libssl.a when searching for -lssl /usr/bin/ld: skipping incompatible /usr/lib/libdl.so when searching for -ldl /usr/bin/ld: skipping incompatible /usr/lib/libdl.a when searching for -ldl /usr/bin/ld: skipping incompatible /usr/lib/libutil.so when searching for -lutil /usr/bin/ld: skipping incompatible /usr/lib/libutil.a when searching for -lutil /usr/bin/ld: skipping incompatible /usr/lib/libz.so when searching for -lz /usr/bin/ld: skipping incompatible /usr/lib/libz.a when searching for -lz /usr/bin/ld: skipping incompatible /usr/lib/libnsl.so when searching for -lnsl /usr/bin/ld: skipping incompatible /usr/lib/libnsl.a when searching for -lnsl /usr/bin/ld: skipping incompatible /usr/lib/libc.so when searching for -lc /usr/bin/ld: skipping incompatible /usr/lib/libc.a when searching for -lc /usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/../../../../lib32/libcrypto.so: undefined reference to `AES_unwrap_key' /usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/../../../../lib32/libcrypto.so: undefined reference to `AES_set_decrypt_key' /usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/../../../../lib32/libcrypto.so: undefined reference to `ENGINE_load_gost' /usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/../../../../lib32/libcrypto.so: undefined reference to `AES_ofb128_encrypt' /usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/../../../../lib32/libcrypto.so: undefined reference to `AES_cbc_encrypt' /usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/../../../../lib32/libcrypto.so: undefined reference to `AES_cfb128_encrypt' /usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/../../../../lib32/libcrypto.so: undefined reference to `AES_cfb1_encrypt' /usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/../../../../lib32/libcrypto.so: undefined reference to `AES_set_encrypt_key' /usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/../../../../lib32/libcrypto.so: undefined reference to `AES_ecb_encrypt' /usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/../../../../lib32/libcrypto.so: undefined reference to `AES_wrap_key' /usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/../../../../lib32/libcrypto.so: undefined reference to `AES_cfb8_encrypt' collect2: ld returned 1 exit status I suggest wrapping those declarations in /usr/include/openssl/aes.h with #if ! defined( __i386__ ) #endif or something. Any advice would be much appreciated - how can I best get the same headers and --enable-* Configure options to work for both i686 and x86_64 Linux platforms so that one set of headers can be used for both ? Thanks & Regards, Jason Vas Dias <[email protected]> ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List [email protected] Automated List Manager [email protected]
