0
爲armv5l執行openssl的交叉編譯版本會導致以下錯誤消息。 如何解決這個問題?-fPIC錯誤交叉編譯openssl
Can't modify /usr/local/ssl/lib/libcrypto.so.1.0.0's text section. Use GCC option -fPIC for shared objects, please.
詳情:
我用下面的交叉編譯: http://uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-armv5l.tar.bz2
我使用comipled爲armv5l的OpenSSL:
export PATH=/home/toff/workspaces/armv5l/cross-compiler-armv5l/bin:$PATH
export cross=armv5l-
export CFLAGS=-fPIC
./Configure linux-generic32 -DL_ENDIAN --openssldir=/lib -fPIC
make CC="${cross}gcc" AR="${cross}ar r" RANLIB="${cross}ranlib" LD="${cross}ld" MAKEDEFPROG="${cross}gcc" PROCESSOR=ARM
make CC="${cross}gcc" AR="${cross}ar r" RANLIB="${cross}ranlib" LD="${cross}ld" MAKEDEFPROG="${cross}gcc" PROCESSOR=ARM INSTALL_PREFIX=/tmp/package-root install
如果我查找Makefile,-fPIC似乎被配置爲:
CFLAG= -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -fPIC -DTERMIO -O3 -fomit-frame-pointer -Wall
好的,謝謝。所以出口CFLAGS = -fPIC是無用的。但仍然通過./Configure -fPIC在Makefile中定義CFLAG(請參閱最後一個引用)。要麼 ? –
你只是做了一遍。你甚至讀過我的回答嗎? –