Gefolgt viele Tutorials bisher und hatte verschiedene Fehler. Unten ist die komplette Schritt-für-Schritt-Prozedur, die ich folgte und endete Fehler mit OpenSSH-Kompilierung.Fehler beim Kompilieren OpenSSH (Embedded Linux)
Heruntergeladene Zlib und Quer zusammengestellt ($ HOME/Desktop/Zlib/zlib-1.2.5/Ausgabe)
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
heruntergeladen OpenSSL und Quer zusammengestellt: ($ HOME/Desktop/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
Kreuz OpenSSH Zusammengestellt:
./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
LERNEN CRYPT ERROR:
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
Bitte helfen Sie mir zu lösen. Alles was ich brauche ist SFTP-Server für Remote-Debugging mit gdbserver (via Eclipse-)
Kompilieren auf System läuft: Debian Wheezy
Target Board: Ka-Ro TX6S
Zielprozessor: NXP i.MX6S7
Host-Linux-Version: 3.16.0-0.bpo.4-amd64
Ziel Linux Version: 4.4.0-00118-g26d6b51
Cross: gcc-Arm-cortexa9-linux-gnueabi
Update 1:
die folgenden Leitungsfehler Gave Hinzufügen:
-I/home/armsdk/Desktop/OpenSSL/OpenSSL_CC/include
Fehler
configure: error: unrecognized option: -I/home/armsdk/Desktop/OpenSSL/OpenSSL_CC/include
dies stattdessen versucht, aber die CRYPT Fehler ist noch vorhanden.
--includedir=/home/armsdk/Desktop/OpenSSL/OpenSSL_CC/include
Update 2:
Versuchte -lcrypt Flagge wie hier vorgeschlagen: undefined reference to `crypt' Aber das muß nicht jede Änderung Fehler.
make clean
make -lcrypt
Update 3: Added 'CFLAGS = -lcrypt' und der Fehler jetzt
./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
Fehler
openbsd-compat//libopenbsd-compat.a(xcrypt.o): In function `xcrypt':
xcrypt.c:(.text+0x2c): undefined reference to `crypt'
collect2: error: ld returned 1 exit status
make: *** [sshd] Error 1
geändert
Update 4: die LDFLAGS und CFLAGS aktualisiert, wie unten:
./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
Ausgabe immer noch die gleichen:
openbsd-compat//libopenbsd-compat.a(xcrypt.o): In function `xcrypt':
xcrypt.c:(.text+0x2c): undefined reference to `crypt'
collect2: error: ld returned 1 exit status
make: *** [sshd] Error 1
Update 5:
ich endlich habe es geschafft, 'MAKE' zu machen, aber nicht 'make install'
./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
Fehler beim '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
Update 6: Hoffentlich Finale
So endlich in der Lage, ich bin die Ausgänge zu erzeugen, indem das Flag ‚Hinzufügen - Sperrstreifen '
./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
Ein kleines Problem aber hatte ich diesen Fehler:
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
Mögliches Duplikat von [undefinierter Verweis auf \ 'crypt'] (https://stackoverflow.com/questions/5989444/undefined-reference-to-crypt) – Gaurav
Nach dem Hinzufügen der -lcrypt-Flag zu den Compiler-Flags, Der Fehler stimmt jetzt mit https: // stackoverflow überein.com/questions/5989444/undefined-reference-to-crypt Keine Ahnung, was jetzt zu tun ist, die obige Thread-Lösung war das Hinzufügen der -lcrypt Flag. –
Haben Sie die Libcrypt-Bibliothek für Arm in Ihrem System? Meine ist unter/usr/arm-linux-gnueabi/sowie unter x86-Ordnern –