Кросс-компиляция openssh для ARM

Я пытаюсь кросс-компилировать openssh для ARM. Я успешно установил 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'

Я пытался найти то же самое, но не мог понять, в чем ошибка. Я думал изменить LDFLAGS в make-файле, но это тоже не помогло. Моя строка 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

Каким может быть возможное решение того же самого?


person user361537    schedule 24.03.2015    source источник
comment
Эти параметры командной строки должны быть переданы в arm-linux-gnueabi-gcc, который вызовет arm-linux-gnueabi-ld с правильными параметрами командной строки для выполнения ссылки. Попробуйте установить LD=arm-linux-gnueabi-gcc на этапе настройки.   -  person Charles Baylis    schedule 25.03.2015
comment
Спасибо. :) Когда я делаю, как вы предложили, make завершается успешно, но make install завершается со следующей ошибкой: /usr/bin/install -c -m 0755 -s ssh /usr/openssharm/bin/ssh strip: невозможно распознать формат входного файла `/usr/openssharm/bin/ssh' мне было интересно, почему мы устанавливаем LD как gcc. Для gcc уже определены CFLAGS, и поскольку эти флаги начинаются с -L (обычный формат для команды ld), я подумал, что команда LD должна работать с ним. А также, когда я даю LD=arm-linux-gnueabi-gcc, make выполняется успешно. Я не могу понять этот шаг.   -  person user361537    schedule 25.03.2015
comment
Хорошо, я понял. Спасибо! :) Он прошел успешно.   -  person user361537    schedule 25.03.2015