为armv7编译openssl

时间:2017-01-22 16:45:28

标签: c makefile openssl cross-compiling

我正在尝试为armv7编译openssl。我在这个构建机器上交叉编译了一些其他库。使用openssl我收到一个我无法理解的错误。

这就是我所做的

1)Ran配置如下

./Configure --prefix=/home/sridhar/openssl-arm -march=armv7-a -L/armhome/sysroot/usr/lib -L/armhome/sysroot/lib --cross-compile-prefix=/armhome/gcc/bin/arm-linux-gnueabi- linux-armv4

/ armhome有交叉编译工具和arm

的sysroot

2)make

它运行一段时间,最后因以下输出而失败。它无法找到 /lib/libpthread.so.0 /usr/lib/libpthread_nonshared.a 文件,但我使用-L选项指定了不同的库位置。我很困惑为什么/ lib和/ usr / lib在搜索路径中

 make[2]: Entering directory '/home/sridhar/openssl/openssl'
LD_LIBRARY_PATH=/armhome/sysroot/usr/lib:/armhome/sysroot/lib: /armhome/gcc/bin/arm-linux-gnueabi-gcc -DDSO_DLFCN -DHAVE_DLFCN_H -DNDEBUG -DOPENSSL_THREADS -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -DOPENSSLDIR="/home/sridhar/openssl-arm/ssl" -DENGINESDIR="/home/sridhar/openssl-arm/lib/engines-1.1" -Wall -O3 -pthread -march=armv7-a -fPIC -DOPENSSL_USE_NODELETE -Wl,-znodelete -shared -Wl,-Bsymbolic -Wl,-soname=libcrypto.so.1.1 -o ./libcrypto.so.1.1 -Wl,--whole-archive,--version-script=crypto.map ./libcrypto.a -Wl,--no-whole-archive -ldl -L/armhome/sysroot/usr/lib -L/armhome/sysroot/lib

/armhome/gcc/bin/../lib/gcc/arm-linux-gnueabi/5.3.1/../../../../arm-linux-gnueabi/bin/ld: cannot find /lib/libpthread.so.0
/armhome/gcc/bin/../lib/gcc/arm-linux-gnueabi/5.3.1/../../../../arm-linux-gnueabi/bin/ld: cannot find /usr/lib/libpthread_nonshared.a
collect2: error: ld returned 1 exit status
Makefile.shared:197: recipe for target 'link_shlib.linux-shared' failed
make[2]: *** [link_shlib.linux-shared] Error 1
make[2]: Leaving directory '/home/sridhar/openssl/openssl'
Makefile:732: recipe for target 'libcrypto.so' failed
make[1]: *** [libcrypto.so] Error 2
make[1]: Leaving directory '/home/sridhar/openssl/openssl'
Makefile:133: recipe for target 'all' failed
make: *** [all] Error 2

0 个答案:

没有答案