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