Problems after having crosscompiled for XScale

Rogier Stam rogier at tw.reverze.net
Sun Jun 11 03:05:47 EST 2006


Dear OpenSSH developers,

I tried porting OpenSSH-4.3p2 to arm-linux (IXP425 Xscale platform) 
using openssl-0.9.8b and uClibc. This on the snapgear 3.2.0 
distribution. It all compiles without problems, but when i run any 
openssh executable it will always show output similar to the following:
# ssh
sh: /usr/bin/ssh: No such file or directory
#

I checked for the libraries, they are all in /lib. To give you an ls:
lrwxrwxrwx    1 0        0              24 Jun 10 12:38 ld-linux.so.2 -> 
/lib/ld-uClibc-0.9.27.so
-rwxr-xr-x    1 0        0           20008 Jun 10 12:38 ld-uClibc-0.9.27.so
-rwxr-xr-x    1 0        0           20008 Jun 10 12:38 ld-uClibc.so.0
-rw-r--r--    1 0        0          269016 Jun 10 12:38 libc.so.0
-rw-r--r--    1 0        0            9992 Jun 10 12:37 libcrypt-0.9.27.so
-rw-r--r--    1 0        0            9992 Jun 10 12:38 libcrypt.so.0
lrwxrwxrwx    1 0        0              18 Jun 10 12:38 libcrypto.so -> 
libcrypto.so.0.9.8
-rwxr-xr-x    1 0        0         1186860 Jun 10 12:38 libcrypto.so.0.9.8
-rw-r--r--    1 0        0            7132 Jun 10 12:37 libdl-0.9.27.so
-rw-r--r--    1 0        0            7132 Jun 10 12:38 libdl.so.0
-rwxr-xr-x    1 0        0           36436 Jun 10 12:38 libeap-1.1.2.so
lrwxrwxrwx    1 0        0              20 Jun 10 12:38 libeap.so -> 
/lib/libeap-1.1.2.so
lrwxrwxrwx    1 0        0              21 Jun 10 12:38 libltdl.so -> 
/lib/libltdl.so.3.1.0
lrwxrwxrwx    1 0        0              21 Jun 10 12:38 libltdl.so.3 -> 
/lib/libltdl.so.3.1.0
-rwxr-xr-x    1 0        0           36508 Jun 10 12:38 libltdl.so.3.1.0
-rw-r--r--    1 0        0           55104 Jun 10 12:38 libm-0.9.27.so
-rw-r--r--    1 0        0           55104 Jun 10 12:38 libm.so.0
-rw-r--r--    1 0        0            1472 Jun 10 12:38 libnsl-0.9.27.so
-rw-r--r--    1 0        0            1472 Jun 10 12:38 libnsl.so.0
-rw-r--r--    1 0        0           68464 Jun 10 12:38 libpthread-0.9.27.so
-rw-r--r--    1 0        0           68464 Jun 10 12:38 libpthread.so.0
-rwxr-xr-x    1 0        0          131484 Jun 10 12:38 libradius-1.1.2.so
lrwxrwxrwx    1 0        0              23 Jun 10 12:38 libradius.so -> 
/lib/libradius-1.1.2.so
-rw-r--r--    1 0        0            1480 Jun 10 12:38 libresolv-0.9.27.so
-rw-r--r--    1 0        0            1480 Jun 10 12:38 libresolv.so.0
-rw-r--r--    1 0        0            3288 Jun 10 12:38 librt-0.9.27.so
-rw-r--r--    1 0        0            3288 Jun 10 12:38 librt.so.0
lrwxrwxrwx    1 0        0              15 Jun 10 12:38 libssl.so -> 
libssl.so.0.9.8
-rwxr-xr-x    1 0        0          230568 Jun 10 12:38 libssl.so.0.9.8
-rw-r--r--    1 0        0          269016 Jun 10 12:38 libuClibc-0.9.27.so
-rw-r--r--    1 0        0            4212 Jun 10 12:38 libutil-0.9.27.so
-rw-r--r--    1 0        0            4212 Jun 10 12:38 libutil.so.0

I used the following options for configure:
./configure --host=arm-linux --disable-etc-default-login 
--with-ssl-dir=/tmp/uClinux-dist/snapgear/modules/openssl-0.9.8b/ 
--with-md5-passwords --enable-shared --disable-static 
--without-kereberos5 --without-x --without-pam --without-bsd-auth 
CC="arm-linux-gcc" CFLAGS="-mbig-endian -g -O2 
-I/tmp/uClinux-dist/snapgear/lib/zlib 
-I/tmp/uClinux-dist/snapgear/uClibc/include" LDFLAGS="-g 
-L/tmp/uClinux-dist/snapgear/uClibc/lib -nostdlib 
-L/tmp/uClinux-dist/snapgear/modules/openssl-0.9.8b 
-L/tmp/uClinux-dist/snapgear/lib/zlib -EB -lc -ldl 
/tmp/uClinux-dist/snapgear/uClibc/lib/crt0.o $(arm-linux-gcc 
-mbig-endian --print-libgcc-file-name)" LD=arm-linux-ld

I know the openssl libraries are working since radiusd works without 
problems, as does the openssl binary. I needed to make a very small 
modification to the Makefile, to change the order of the libraries to 
let it compile (-lssl had to be put before LDFLAGS in order for it to 
compile).
Can anyone give me any idea why it shows file not found ? Even executing 
it from /usr/bin where ssh resides (by ./ssh) will show this error. All 
binaries are in the PATH. Even gdbserver immediately on starting shows 
this error message. Yet the binaries are there, and are not empty 
(hexdump -C shows an ELF header).

I hope you can help me.

Regards,

Rogier Stam




More information about the openssh-unix-dev mailing list