我正在尝试为 ARM 交叉编译 openssh。我已经成功安装了 zlib 和 openssl。我将openssh包配置如下:
./configure --prefix=/usr/openssharm --host=arm -- oldincludedir=/usr/opensslarm/include --includedir=/usr/opensslarm/include --with-libs --with-zlib=/usr/zlibArm --with-ssl-dir=/usr/opensslarm --disable-etc-default-login CC=arm-linux-gnueabi-gcc AR=arm-linux-gnueabi-ar
现在,当我尝试实现它时,出现以下错误:
arm-linux-gnueabi-ld -o ssh ssh.o readconf.o clientloop.o sshtty.o sshconnect.o sshconnect1.o sshconnect2.o mux.o roaming_common.o roaming_client.o -L。-Lopenbsd-compat/ -L/usr/opensslarm/lib -L/usr/zlibArm/lib -Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack -shared-fstack-protector-all -lssh -lopenbsd-compat -lcrypto -ldl -lutil -lz -lnsl -lresolv arm-linux-gnueabi-ld:无法识别的选项 '-Wl,-z,relro'
我尝试搜索相同的内容,但无法了解错误是什么。我想过修改makefile中的LDFLAGS,但也没有用。我的 LDFLAGS 线看起来像:
LDFLAGS=-L. -Lopenbsd-compat/ -L/usr/opensslarm/lib -L/usr/zlibArm/lib -Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack -fstack-protector-all
可能的解决方案是什么?