AIX Open Source

AIX Open Source

Share your experiences and connect with fellow developers to discover how to build and manage open source software for the AIX operating system

 View Only
  • 1.  yum command error

    Posted Tue June 25, 2019 09:27 AM

    Originally posted by: Tin_Cup


    After installing yum on AIX server that should act as AIX repo-server, i get these errors:

    # yum repolist
    There was a problem importing one of the Python modules
    required to run yum. The error leading to this problem was:

            0509-022 Cannot load module /opt/freeware/lib/python2.7/site-packages/pycurl.so.
            0509-150   Dependent module /opt/freeware/lib/libcrypto.a(libcrypto.so) could not be loaded.
            0509-152   Member libcrypto.so is not found in archive
            0509-022 Cannot load module /opt/freeware/lib/python2.7/site-packages/pycurl.so.
            0509-150   Dependent module /opt/freeware/lib/python2.7/site-packages/pycurl.so could not be loaded.

    Please install a package which provides this module, or
    verify that the module is installed correctly.

    It's possible that the above module doesn't match the
    current version of Python, which is:
    2.7.16 (default, Mar 12 2019, 21:23:24)
    [GCC 6.3.0]

    If you cannot solve this problem yourself, please go to
    the yum faq at:
      http://yum.baseurl.org/wiki/Faq

    some info:

    # dump -Hv /opt/freeware/lib/python2.7/site-packages/pycurl.so

    /opt/freeware/lib/python2.7/site-packages/pycurl.so:

                            ***Loader Section***
                          Loader Header Information
    VERSION#         #SYMtableENT     #RELOCent        LENidSTR
    0x00000001       0x0000007b       0x0000015c       0x00000083

    #IMPfilID        OFFidSTR         LENstrTBL        OFFstrTBL
    0x00000006       0x00001bf8       0x000008e3       0x00001c7b


                            ***Import File Strings***
    INDEX  PATH                          BASE                MEMBER
    0      /opt/freeware/lib:/usr/vac/lib:/usr/lib:/lib
    1                                    libcurl.a           libcurl.so.4
    2                                    libcrypto.a         libcrypto.so
    3                                    libc.a              shr.o
    4                                    librtl.a            shr.o
    5                                    .

    # rpm -qf /opt/freeware/lib/python2.7/site-packages/pycurl.so
    python-pycurl-7.19.3-1.ppc

    # rpm -qi python-pycurl-7.19.3-1.ppc
    Name        : python-pycurl
    Version     : 7.19.3
    Release     : 1
    Architecture: ppc
    Install Date: Tue Jun 25 13:04:07 CEST 2019
    Group       : Development/Languages
    Size        : 529412
    License     : LGPLv2+
    Signature   : (none)
    Source RPM  : python-pycurl-7.19.3-1.src.rpm
    Build Date  : Mon Jun 13 13:31:00 CEST 2016
    Build Host  : green52.in.ibm.com
    Relocations : (not relocatable)
    URL         : http://pycurl.sourceforge.net/
    Summary     : A Python interface to libcurl
    Description :
    PycURL is a Python interface to libcurl. PycURL can be used to fetch
    objects identified by a URL from a Python program, similar to the
    urllib Python module. PycURL is mature, very fast, and supports a lot
    of features.

    # rpm -qa|sort
    AIX-rpm-7.2.3.15-10.ppc
    a21910071410d103-0400401800009-1.noarch
    bash-4.4-3.ppc
    bzip2-1.0.6-2.ppc
    ca-certificates-2016.10.7-2.ppc
    cloud-init-0.7.5-4.3.ppc
    createrepo-0.10.3-3.noarch
    curl-7.52.1-1.ppc
    cyrus-sasl-2.1.26-3.ppc
    db-6.2.32-2.ppc
    deltarpm-3.6-1.ppc
    df1000f114108a03-210301-1.noarch
    expat-2.2.6-1.ppc
    fdupes-1.51-1.ppc
    gdbm-1.12-1.ppc
    gettext-0.19.8.1-3.ppc
    glib2-2.56.1-2.ppc
    gmp-6.1.2-1.ppc
    info-6.4-1.ppc
    libffi-3.2.1-2.ppc
    libgcc-8.1.0-2.ppc
    libiconv-1.14-22.ppc
    libstdc++-8.1.0-2.ppc
    libxml2-2.9.9-1.ppc
    libxml2-python-2.9.9-1.ppc
    libyaml-0.1.4-2.ppc
    ncurses-6.1-2.ppc
    openldap-2.4.45-3.ppc
    openssl-1.0.2n-1.ppc
    puppet-agent-5.5.1-1.ppc
    pysqlite-1.1.7-2.ppc
    python-2.7.16-1.ppc
    python-PyYAML-3.11-2.ppc
    python-argparse-1.2.1-1.noarch
    python-boto-2.34.0-1.noarch
    python-cheetah-2.4.4-2.ppc
    python-configobj-5.0.5-1.noarch
    python-deltarpm-3.6-1.ppc
    python-devel-2.7.16-1.ppc
    python-iniparse-0.4-1.noarch
    python-jsonpatch-1.8-1.noarch
    python-jsonpointer-1.0-1.noarch
    python-oauth-1.0.1-1.ppc
    python-prettytable-0.7.2-1.noarch
    python-pycurl-7.19.3-1.ppc
    python-pyserial-2.7-1.ppc
    python-requests-2.4.3-1.noarch
    python-setuptools-0.9.8-2.noarch
    python-six-1.10.0-1.noarch
    python-tools-2.7.16-1.ppc
    python-urlgrabber-3.10.1-1.noarch
    python-xml-0.8.4-1.ppc
    readline-7.0-5.ppc
    sqlite-3.27.1-1.ppc
    sudo-1.8.21p2-1.ppc
    unzip-5.51-1.ppc
    xz-5.2.4-1.ppc
    xz-libs-5.2.4-1.ppc
    yum-3.4.3-7.noarch
    yum-metadata-parser-1.1.4-2.ppc
    yum-utils-1.1.31-2.noarch
    zip-2.3-3.ppc
    zlib-1.2.11-1.ppc
     

    How to fix this?

     

     



  • 2.  Re: yum command error

    Posted Tue June 25, 2019 09:54 AM

    Originally posted by: AyappanP


    AIX Toolbox python-pycurl is not compatible with openssl rpm (coming from bull freeware or perzl ). 

    It needs the presence of only openssl installp fileset. 

    We are planning to update python-pycurl rpm soon to avoid this problem. 

    For time being , you can either remove the openssl rpm or execute the below commands (if you have openssl installp fileset installed) to avoid the above issue. 

    mkdir temp_extract

    cd temp_extract

    ar -x /usr/lib/libcrypto.a libcrypto.so

    ar -q /opt/freeware/lib/libcrypto.a libcrypto.so

    ar -X64 -x /usr/lib/libcrypto.a libcrypto.so

    ar -X64 -q /opt/freeware/lib/libcrypto.a libcrypto.so



  • 3.  Re: yum command error

    Posted Tue June 25, 2019 10:18 AM

    Originally posted by: Tin_Cup


    thanks, that did the trick ;-)

    # rpm -e  openssl-1.0.2n-1.ppc
    # yum repolist
    anonymous@public.dhe.ibm.com/aix/freeSoftware/aixtoolbox/RPMS/ppc/repodata/repomd.xml">https://anonymous:anonymous@public.dhe.ibm.com/aix/freeSoftware/aixtoolbox/RPMS/ppc/repodata/repomd.xml: [Errno 14] curl#6 - "Couldn't resolve host 'public.dhe.ibm.com'"
    Trying other mirror.
    repo id                                                                            repo name                                                                                   status
    AIX_Toolbox                                                                        AIX generic repository                                                                      0
    AIX_Toolbox_72                                                                     AIX 7.2 specific repository                                                                 0
    AIX_Toolbox_noarch                                                                 AIX noarch repository                                                                       0
    repolist: 0
     



  • 4.  Re: yum command error

    Posted Thu June 27, 2019 08:04 AM

    Originally posted by: Tin_Cup


    removing the openssl RPM worked fine.

    I wanted to test the circunvention as well, but where make the temp_extract directory?

    what do i have to do after the last command with libcrypto.so to make this work?

    i think some actions are missing to get this working with openssl rpm still installed.

     



  • 5.  Re: yum command error

    Posted Thu June 27, 2019 09:55 AM

    Originally posted by: AyappanP


    You can create the temp_extract directory anywhere.

    We are actually extracting the libcrypto.so file from openssl installp fileset provided archive file and copying into the openssl rpm provided archive file. 

    This has to be done for both 32 bit and 64 bit. 

    After that one can remove the temp_extract directory. 

    And also it's better these steps can be done for libssl.so file as well. 



  • 6.  Re: yum command error

    Posted Tue July 02, 2019 08:48 AM

    Originally posted by: Tin_Cup


    Hi,

    i did :
    cd /tmp
    mkdir temp_extract
    cd temp_extract
    ar -x /usr/lib/libcrypto.a libcrypto.so
    ar -q /opt/freeware/lib/libcrypto.a libcrypto.so
    ar -X64 -x /usr/lib/libcrypto.a libcrypto.so
    ar -X64 -q /opt/freeware/lib/libcrypto.a libcrypto.so
    ar -x /usr/lib/libssl.a libssl.so
    ar -q /opt/freeware/lib/libssl.a libssl.so
    ar -X64 -x /usr/lib/libssl.a libssl.so
    ar -X64 -q /opt/freeware/lib/libssl.a libssl.so

    yum works and i was able to do yum update, but curl won't work:

    # rpm -qa curl
    curl-7.64.0-1.ppc
    # rpm -qi curl
    Name        : curl
    Version     : 7.64.0
    Release     : 1
    Architecture: ppc
    Install Date: Tue Jul  2 13:45:43 2019
    Group       : Applications/Internet
    Size        : 4014085
    License     : MIT/X derivate
    Signature   : (none)
    Source RPM  : curl-7.64.0-1.src.rpm
    Build Date  : Thu Mar  7 07:44:50 2019
    Build Host  : pokndd5.pok.stglabs.ibm.com
    Relocations : /opt/freeware
    URL         : http://curl.haxx.se/
    Summary     : get a file from a FTP or HTTP server.
    Description :
    curl is a client to get documents/files from servers, using any of the
    supported protocols.  The command is designed to work without user
    interaction or any kind of interactivity.

    curl offers many useful tricks like proxy support, user authentication,
    ftp upload, HTTP post, file transfer resume and more.


    Note: this version is compiled with SSL support.

    # curl -h
    Could not load program curl:
    Could not load module /opt/freeware/lib64/libldap.a(libldap-2.4.so.2).
            Dependent module /opt/freeware/lib/libssl.a(libssl64.so.1.0.0) could not be loaded.
            Member libssl64.so.1.0.0 is not found in archive
    Could not load module curl_64.
            Dependent module /opt/freeware/lib64/libldap.a(libldap-2.4.so.2) could not be loaded.

    sadbay001:/etc# ldd /usr/bin/curl
    /usr/bin/curl needs:
             /usr/lib/libc.a(shr_64.o)
             /usr/lib/libpthreads.a(shr_xpg5_64.o)
             /opt/freeware/lib64/libcurl.a(libcurl.so.4)
             /opt/freeware/lib/libz.a(libz.so.1)
             /opt/freeware/lib64/libssh2.a(libssh2.so.1)
             /opt/freeware/lib64/libldap.a(libldap-2.4.so.2)
             /opt/freeware/lib64/liblber.a(liblber-2.4.so.2)
             /unix
             /usr/lib/libcrypt.a(shr_64.o)
             /opt/freeware/lib64/libgcc_s.a(shr.o)
             /opt/freeware/lib/libcrypto.a(libcrypto.so.1.0.2)
             /opt/freeware/lib/libssl.a(libssl.so.1.0.2)
             /opt/freeware/lib64/libsasl2.a
             /usr/lib/libs.a(shr_64.o)
             /opt/freeware/lib/libssl.a(libssl64.so.1.0.0)
    ar: 0707-109 Member name libssl64.so.1.0.0 does not exist.
    dump: /tmp/tmpdir25166248/extract/libssl64.so.1.0.0: 0654-106 Cannot open the specified file.
             /opt/freeware/lib/libcrypto.a(libcrypto64.so.1.0.0)
    ar: 0707-109 Member name libcrypto64.so.1.0.0 does not exist.
    dump: /tmp/tmpdir25166248/extract/libcrypto64.so.1.0.0: 0654-106 Cannot open the specified file.
             /usr/lib/libdl.a(shr_64.o)

    /opt/freeware/lib64# ls -als libldap*
     564 -rwxr-xr-x    1 root     system       577344 Nov 14 2018  libldap-2.4.a
     536 -rwxr-xr-x    1 root     system       545151 Nov 14 2018  libldap-2.4.so.2
       0 lrwxrwxrwx    1 root     system           13 Jul  2 13:44 libldap.a -> libldap-2.4.a
     636 -rwxr-xr-x    1 root     system       649531 Nov 14 2018  libldap_r-2.4.a
     600 -rwxr-xr-x    1 root     system       610822 Nov 14 2018  libldap_r-2.4.so.2

    /opt/freeware/lib# ls -als libssl*
    7448 -rw-r--r--    1 root     system      7622972 Jul  2 13:29 libssl.a
       0 lrwxrwxrwx    1 root     system           15 May 13 13:16 libssl.so -> libssl.so.1.0.2
     356 -rw-r--r--    1 root     system       362538 Dec  8 2017  libssl.so.0.9.7
     516 -rw-r--r--    1 root     system       528217 Dec  8 2017  libssl.so.0.9.8
     568 -rw-r--r--    1 root     system       580716 Dec  8 2017  libssl.so.1.0.0
     616 -rw-r--r--    1 root     system       629701 Dec  8 2017  libssl.so.1.0.1
     688 -rwxr-xr-x    1 root     system       701169 Dec  8 2017  libssl.so.1.0.2
       0 lrwxrwxrwx    1 root     system           26 Jul  2 13:21 libssl3.a -> /usr/opt/rpm/lib/libssl3.a
       0 lrwxrwxrwx    1 root     system           27 Jul  2 13:21 libssl3.so -> /usr/opt/rpm/lib/libssl3.so
     

    How to solve this?

     



  • 7.  Re: yum command error

    Posted Tue July 02, 2019 10:39 AM

    Originally posted by: AyappanP


    We will fix this incompatibility ( with openssl rpm by perzl or bull ) by releasing a new openldap rpm. 

    For the time being you can use the same logic (Either remove openssl rpm or the below commands)

    cd /tmp
    mkdir temp_extract
    cd temp_extract
    ar -X64 -x /usr/lib/libcrypto.a libcrypto64.so.1.0.0
    ar -X64 -q /opt/freeware/lib/libcrypto.a libcrypto64.so.1.0.0
    ar -X64 -x /usr/lib/libssl.a libssl64.so.1.0.0
    ar -X64 -q /opt/freeware/lib/libssl.a libssl64.so.1.0.0

     



  • 8.  Re: yum command error

    Posted Wed July 03, 2019 03:39 AM

    Originally posted by: Tin_Cup


    Thanks that worked ;-)