make时出错:
报错内容:cc1: warning: include location "/usr/include" is unsafe for cross-compilation [-Wpoison-system-directories]
In file included from cryptlib.h:62:0,
from cryptlib.c:117:
/usr/include/stdlib.h:759:34: fatal error: bits/stdlib-bsearch.h: No such file or directory
compilation terminated.
make[1]: *** [cryptlib.o] Error 1
make: *** [build_crypto] Error 1
具体编译安装过程如下:
安装文件: openssl-1.0.2h.tar.gz
参考网址: http://blog.csdn.net/zy799894671/article/details/22289039
1、 arm-config.sh :
./config no-asm shared --prefix=/usr/local/arm-openssl
解决1:./config no-asm shared --prefix=/usr/local/arm-openssl --host=arm-xilinx-linux-gnueabi
解决4:CC=arm-xilinx-linux-gnueabi-gcc ./config no-asm shared --prefix=/usr/local/arm-openssl
2、修改MakeFile:
#CC= gcc
CC= arm-xilinx-linux-gnueabi-gcc
#CFLAG= -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -march=pentium -DL_ENDIAN -O3 -fomit-frame-pointer -Wall
CFLAG= -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_N -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall
DEPFLAG= -DOPENSSL_NO_EC_NISTP_64_GCC_128 -DOPENSSL_NO_GMP -DOPENSSL_NO_JPAKE -DOPENSSL_NO_LIBUNBOUND -DOPENSSL_NO_MD2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SCTP -DOPENSSL_NO_SSL_TRACE -DOPENSSL_NO_SSL2 -DOPENSSL_NO_STORE -DOPENSSL_NO_UNIT_TEST -DOPENSSL_NO_WEAK_SSL_CIPHERS
PEX_LIBS=
EX_LIBS= -ldl
EXE_EXT=
ARFLAGS=
#AR= ar $(ARFLAGS) r
AR= arm-xilinx-linux-gnueabi-ar $(ARFLAGS) r
#RANLIB= /usr/bin/ranlib
RANLIB= arm-xilinx-linux-gnueabi-ranlib
#NM= nm
NM= arm-xilinx-linux-gnueabi-nm
PERL= /usr/bin/perl
TAR= tar
TARFLAGS= --no-recursion
#MAKEDEPPROG= gcc
MAKEDEPPROG= arm-xilinx-linux-gnueabi-gcc
LIBDIR=lib
make depend后出现错误:
cc1: error: include location "/usr/include" is unsafe for cross-compilation [-Werror=poison-system-directories]
cc1: all warnings being treated as errors
错误分析原因:
这种错误在网上有两种可能:
1、不能交叉编译到默认目录下,需要编译到单独的文件夹中(之前已经那么做了)
2、依赖库需要先交叉编译,这里错误目录是"/usr/include" 故也不是这个问题。
错误解决尝试1:
将配置后增加--host=arm-xilinx-linux-gnueabi ,详看1点
然后修改 makefile
错误不变
错误解决尝试2:
1步骤后 增加一步 # ./config -t
错误不变
错误尝试解决3
2步骤 多修改Makefile文件一处
#PLATFORM=linux-elf
PLATFORM=arm-xilinx-linux-gnueabi
错误不变
错误尝试解决4
1步骤 将arm-config.sh前增加为:CC=arm-xilinx-linux-gnueabi-gcc
错误不变
错误尝试解决5
增加arm的环境变量
export ARCH=arm
export CROSS_COMPILE=arm-xilinx-linux-gnueabi-
错误不变