dirty hack to solve: 0509-150 Dependent modulelibcrypto.a(libcrypto.so.0.9.7) could not be loaded
Scott Neugroschl
scott_n at xypro.com
Wed Feb 24 09:36:39 EST 2010
You need OpenSSL 0.9.7
> -----Original Message-----
> From: openssh-unix-dev-bounces+scott_n=xypro.com at mindrot.org
> [mailto:openssh-unix-dev-bounces+scott_n=xypro.com at mindrot.org] On
> Behalf Of phoebus phoebus
> Sent: Tuesday, February 23, 2010 2:32 PM
> To: openssh-unix-dev at mindrot.org
> Subject: dirty hack to solve: 0509-150 Dependent
> modulelibcrypto.a(libcrypto.so.0.9.7) could not be loaded
>
> Hi all,
>
> I build openssh for aix with a dirty hack.
>
> This is my configure:
> export CC=cc
> export CFLAGS="-I/usr/local/include"
> export LDFLAGS="-L/opt/freeware/lib/ -L/usr/local/lib"
> export CPP="cc -E"
> ./configure --prefix=/usr/local
--sysconfdir=/usr/local/etc/ssh
> \
> --with-cflags="-O -D__STR31__ -qmaxmem=-1" --
> with-cflags="-DBROKEN_GETADDRINFO" \
> --with-tcp-wrappers=/usr/local/lib \
> --with-zlib=/opt/freeware \
> --with-ssl-dir=/opt/freeware \
> --with-xauth=/usr/bin/X11/xauth \
> --with-md5-passwords \
> --with-pam \
> --with-pid-dir=/var/run
>
> The summary of the configure ouput:
> OpenSSH has been configured with the following options:
> User binaries: /usr/local/bin
> System binaries: /usr/local/sbin
> Configuration files: /usr/local/etc/ssh
> Askpass program: /usr/local/libexec/ssh-
> askpass
> Manual pages: /usr/local/share/man/manX
> PID file: /var/run
> Privilege separation chroot path: /var/empty
> sshd default user PATH:
> /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
> Manpage format: man
> PAM support: yes
> OSF SIA support: no
> KerberosV support: no
> SELinux support: no
> Smartcard support: no
> S/KEY support: no
> TCP Wrappers support: yes
> MD5 password support: yes
> libedit support: no
> Solaris process contract support: no
> IP address in $DISPLAY hack: no
> Translate v4 in v6 hack: no
> BSD Auth support: no
> Random number source: OpenSSL internal ONLY
>
> Host: powerpc-ibm-aix5.3.0.0
> Compiler: cc -qlanglvl=extc89
> Compiler flags: -I/usr/local/include -DBROKEN_GETADDRINFO
> Preprocessor flags: -I/opt/freeware/include -I/usr/local/lib -
> I/opt/freeware/include
> Linker flags: -L/opt/freeware/lib -L/usr/local/lib -
> L/opt/freeware/lib -L/opt/freeware/lib/ -L/usr/local/lib -
> blibpath:/usr/lib:/lib
> Libraries: -lcrypto -lz
> +for sshd: -lwrap -lpam -ldl
>
> PAM is enabled. You may need to install a PAM control file
> for sshd, otherwise password authentication may fail.
> Example PAM control files can be found in the contrib/
> subdirectory
>
> I run "make" with success. When i run "make install" it failed with
the
> following output.
> exec(): 0509-036 Cannot load program ./ssh-keygen because of
> the following errors:
> 0509-150 Dependent module
> libcrypto.a(libcrypto.so.0.9.7) could not be loaded.
> 0509-022 Cannot load module
> libcrypto.a(libcrypto.so.0.9.7).
> 0509-026 System error: A file or directory in the path
> name does not exist.
> make: 1254-004 The error code from the last command is 255.
>
> I try to understand this message.
> ca06:/home/frphoebus/openssh/openssh-5.3p1# ldd ./ssh-keygen
> ./ssh-keygen needs:
> /usr/lib/libc.a(shr.o)
> /usr/lib/libcrypto.a(libcrypto.so.0.9.7)
> /unix
> /usr/lib/libcrypt.a(shr.o)
> ca06:/home/frphoebus/openssh/openssh-5.3p1#
>
> The library libcrypto.a is from openssl and libcrypt.a from the
fileset
> bos.rte.security. The both files exist.
> ca06:/root# rpm -qf /opt/freeware/lib/libcrypto.a
> openssl-0.9.7l-2
> ca06:/root# rpm -qf /opt/freeware/lib/libcrypto.a
> openssl-0.9.7l-2
> ca06:/root#
> ca06:/root# lslpp -Jw /usr/lib/libcrypt.a
> File Fileset
> Type
>
-------------------------------------------------------------
> ---------------
> /usr/lib/libcrypt.a bos.rte.security
> File
> ca06:/root#
> ca06:/usr/local/etc/ssh# ls -l /opt/freeware/lib/libcrypto.a
> -rwxr-xr-x 1 root system 6210482 04 Sep 2007
> /opt/freeware/lib/libcrypto.a
> ca06:/usr/local/etc/ssh# ls -l /usr/lib/libcrypt.a
> -r-xr-xr-x 1 bin bin 10993 04 Aug 2009
> /usr/lib/libcrypt.a
> ca06:/usr/local/etc/ssh#
>
> I trying to update my path for look in /opt/freeware/lib before
> /usr/lib
> or /usr/lib before /opt/freeware/lib. The make install failed with the
> same output in the 2 case.
>
> I copied libcrypto.a in a temp directory and extracted its content.
> Everything is ok.
> ca06:/home/frphoebus/libcrypto# ar -xv ./libcrypto.a
> x - libcrypto.so.0.9.7
> x - libcrypto.so.0
>
> I dumped part of the object files:
> ca06:/home/frphoebus/openssh/openssh-5.3p1# dump -H ./ssh-
> keygen
>
> ./ssh-keygen:
>
> ***Loader Section***
> Loader Header Information
> VERSION# #SYMtableENT #RELOCent LENidSTR
> 0x00000001 0x000000cd 0x000001f5 0x0000003e
>
> #IMPfilID OFFidSTR LENstrTBL OFFstrTBL
> 0x00000003 0x00002ad4 0x000005fe 0x00002b12
>
>
> ***Import File Strings***
> INDEX PATH BASE
MEMBER
> 0 /usr/lib:/lib
> 1 libc.a shr.o
> 2 libcrypto.a
> libcrypto.so.0.9.7
>
> After i copied libcrypto.a in /usr/lib because it's the path indicated
> by the dump
> for the object.
> Now, make install is succesfull.
>
> Could you explain me how to do a clean "make install" without doing a
> dirty hack ?
>
> Thanks in advance.
>
> Regards,
> Frphoebus
>
>
>
> _______________________________________________
> openssh-unix-dev mailing list
> openssh-unix-dev at mindrot.org
> https://lists.mindrot.org/mailman/listinfo/openssh-unix-dev
More information about the openssh-unix-dev
mailing list