Linux ARM的openssh交叉编译

Linux ARM的openssh交叉编译,linux,openssh,ldflags,Linux,Openssh,Ldflags,我正在尝试为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/ope

我正在尝试为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-共享fstack保护器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

相同的解决方案可能是什么?

这些命令行选项应该传递给arm linux gnueabi gcc,它将使用正确的命令行选项调用arm linux gnueabi ld来执行链接。尝试在配置步骤中设置LD=arm-linux-gnueabi-gcc(谢谢):当我按照您的建议执行时,make成功完成,但make安装失败,出现以下错误:/usr/bin/install-c-m 0755-s ssh/usr/openssharm/bin/ssh strip:无法识别输入文件“/usr/openssharm/bin/ssh”的格式,我想知道为什么要将LD设置为gcc。已经为gcc定义了cflag,由于这些标志以-L(ld命令的常用格式)开头,我认为ld命令应该使用它。而且,当我给出LD=arm-linux-gnueabi-gcc时,make成功了。我无法理解这一步。好的,我理解了。谢谢!:)它成功地运行了。