phoebus phoebus
2010-Feb-23  22:32 UTC
dirty hack to solve: 0509-150 Dependent module libcrypto.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
Scott Neugroschl
2010-Feb-23  22:36 UTC
dirty hack to solve: 0509-150 Dependent modulelibcrypto.a(libcrypto.so.0.9.7) could not be loaded
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 withthe> 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 thefileset> 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 BASEMEMBER> 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
Apparently Analagous Threads
- "../openbsd-compat/port-aix.h", line 92.44: 1506-046 (S) Syntax error. openssh-5.3p1 on aix 5.3
- : "../openbsd-compat/port-aix.h", line 92.44: 1506-046 (S) Syntax error. openssh-5.3p1 on aix 5.3
- ssh client Symbol getpeereid (number 34) is not exported from dependent module /usr/lib/libc.a(shr.o).
- Compiling 3.8p1 on AIX with IBM OpenSSL RPMs
- OpenSSH + chroot + SELinux = broke