跟着很多教程到目前爲止,並有各種錯誤。下面是完整的一步一步的過程,我跟着並最終出現OpenSSH編譯錯誤。錯誤交叉編譯OpenSSH(嵌入式Linux)
下載的zlib和交叉編譯($ HOME /桌面/ zlib的/ zlib的-1.2.5 /輸出)
cd /home/armsdk/Desktop/
mkdir zlib
cd Zlib
wget http://www.zlib.net/fossils/zlib-1.2.5.tar.gz
tar xzvf zlib-1.2.5.tar.gz
cd zlib-1.2.5
mkdir output
./configure --prefix=/home/armsdk/Desktop/Zlib/zlib-1.2.5/output CC=arm-cortexa9-linux-gnueabi-gcc
make
make install
下載OpenSSL和交叉編譯:($ HOME /桌面/ OpenSSL的/ OpenSSL_CC )
mkdir OpenSSL
cd OpenSSL
wget http://www.openssl.org/source/openssl-1.0.1g.tar.gz
tar xzvf openssl-1.0.1g.tar.gz
cd openssl-1.0.1g/
export cross=arm-cortexa9-linux-gnueabi-
./Configure dist --prefix=$HOME/Desktop/OpenSSL/OpenSSL_CC
make CC="${cross}gcc" AR="${cross}ar r" RANLIB="${cross}ranlib"
make install
交叉編譯的OpenSSH:
./configure --prefix=$HOME/Desktop/OpenSSH/OpenSSH_CC --host=arm --with-libs --with-zlib=$HOME/Desktop/Zlib/zlib-1.2.5/output --with-ssl-dir=$HOME/Desktop/OpenSSL/OpenSSL_CC --disable-etc-default-login CC=arm-cortexa9-linux-gnueabi-gcc AR=arm-cortexa9-linux-gnueabi-ar
make
抵達CRYPT錯誤:
openbsd-compat//libopenbsd-compat.a(xcrypt.o): In function `xcrypt':
/home/armsdk/Desktop/OpenSSH/openssh-5.2p1/openbsd-compat/xcrypt.c:78: undefined reference to `crypt'
collect2: error: ld returned 1 exit status
請幫我解決。我需要的是使用GDBSERVER(通過Eclipse)
編譯的系統運行 SFTP服務器爲遠程調試:Debian的喘息
目標板:嘉滾裝TX6S
目標處理器:恩智浦i.MX6S7
主機Linux版本:3.16.0-0.bpo.4-AMD64
目標Linux版本:4.4.0-00118-g26d6b51
交叉編譯:GCC-ARM-cortexa9-Linux的gnueabi
更新1:
添加下面線都給錯誤:
-I/home/armsdk/Desktop/OpenSSL/OpenSSL_CC/include
錯誤
configure: error: unrecognized option: -I/home/armsdk/Desktop/OpenSSL/OpenSSL_CC/include
試過這種替代,但地穴錯誤依然存在。
--includedir=/home/armsdk/Desktop/OpenSSL/OpenSSL_CC/include
更新2:
試圖-lcrypt標誌如下建議:undefined reference to `crypt'但這並不有錯誤的任何變化。
make clean
make -lcrypt
更新3: 加入 'CFLAGS = -lcrypt' 和現在的誤差變
./configure --prefix=$HOME/Desktop/OpenSSH/OpenSSH_CC --host=arm --with-libs --with-zlib=$HOME/Desktop/Zlib/zlib-1.2.5/output --with-ssl-dir=$HOME/Desktop/OpenSSL/OpenSSL_CC --disable-etc-default-login CC=arm-cortexa9-linux-gnueabi-gcc AR=arm-cortexa9-linux-gnueabi-ar CFLAGS=-lcrypt
錯誤
更新4: 更新了LDFLAGS和CFLAGS如下:
./configure --prefix=$HOME/Desktop/OpenSSH/OpenSSH_CC --host=arm --with-libs --with-zlib=$HOME/Desktop/Zlib/zlib-1.2.5/output --with-ssl-dir=$HOME/Desktop/OpenSSL/OpenSSL_CC --disable-etc-default-login CC=arm-cortexa9-linux-gnueabi-gcc AR=arm-cortexa9-linux-gnueabi-ar LDFLAGS=-L/home/cross-gcc-4.9.1-2.19-18-armv7a-soft/x86_64-pc-linux-gnu/arm-cortexa9-linux-gnueabi/sys-root/lib CFLAGS=-lcrypt
問題仍然是相同的:
更新5:
我終於它成功地'MAKE',但不能'安裝'
./configure --prefix=$HOME/Desktop/OpenSSH/OpenSSH_CC --host=arm --with-libs --with-zlib=$HOME/Desktop/Zlib/zlib-1.2.5/output --with-ssl-dir=$HOME/Desktop/OpenSSL/OpenSSL_CC --disable-etc-default-login CC=arm-cortexa9-linux-gnueabi-gcc AR=arm-cortexa9-linux-gnueabi-ar LDFLAGS='-L/home/cross-gcc-4.9.1-2.19-18-armv7a-soft/x86_64-pc-linux-gnu/arm-cortexa9-linux-gnueabi/sys-root/lib -lcrypt'
make
make install
錯誤時, 'make install' 命令
(umask 022 ; ./mkinstalldirs /var/empty)
/usr/bin/install -c -m 0755 -s ssh /home/armsdk/Desktop/OpenSSH/OpenSSH_CC/bin/ssh
strip: Unable to recognise the format of the input file `/home/armsdk/Desktop/OpenSSH/OpenSSH_CC/bin/ssh'
/usr/bin/install: strip process terminated
更新6:希望最終
所以最後我能夠通過添加標誌產生輸出「 - 禁用帶'
./configure --prefix=$HOME/Desktop/OpenSSH/OpenSSH_CC --host=arm --disable-strip --with-libs --with-zlib=$HOME/Desktop/Zlib/zlib-1.2.5/output --with-ssl-dir=$HOME/Desktop/OpenSSL/OpenSSL_CC --disable-etc-default-login CC=arm-cortexa9-linux-gnueabi-gcc AR=arm-cortexa9-linux-gnueabi-ar LDFLAGS='-L/home/cross-gcc-4.9.1-2.19-18-armv7a-soft/x86_64-pc-linux-gnu/arm-cortexa9-linux-gnueabi/sys-root/lib -lcrypt'
make
make install
雖然
一個小問題,我有這個錯誤:
mkdir /home/armsdk/Desktop/OpenSSH/OpenSSH_CC/etc
./ssh-keygen: 1: ./ssh-keygen: Syntax error: word unexpected (expecting ")")
./ssh-keygen: 1: ./ssh-keygen: Syntax error: word unexpected (expecting ")")
./ssh-keygen: 1: ./ssh-keygen: Syntax error: word unexpected (expecting ")")
make: *** [host-key] Error 2
的可能的複製[未定義參照\'隱窩'](https://stackoverflow.com/questions/5989444/undefined-reference-to-crypt) – Gaurav
添加-lcrypt標誌提供給編譯器標誌後,該錯誤現在與https:// stackoverflow匹配。com/questions/5989444/undefined-reference-to-crypt 不知道現在該做什麼,上面線程的解決方案是添加-lcrypt標誌。 –
你的系統中是否有用於arm的libcrypt庫?我在/ usr/arm-linux-gnueabi /以及在x86文件夾下 –