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
Expand all | Collapse all

CMVC broken after installing YUM

  • 1.  CMVC broken after installing YUM

    Posted Tue June 18, 2019 10:37 AM

    Originally posted by: wolz


    After running the yum.sh script to download and install rpm.rte and all the packages needed for yum (which completed uneventfully) I am no longer able to run the CMVC daemons:

    $ cmvcd hpcsi 5          
    exec(): 0509-036 Cannot load program cmvcd because of the following errors:
            0509-022 Cannot load module /opt/freeware/lib/libcurl.a(libcurl.so.4).
            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 cmvcd.
            0509-150   Dependent module /opt/freeware/lib/libcurl.a(libcurl.so.4) could not be loaded.
            0509-022 Cannot load module .

    libcypto.a is present on the system:

    $ ls -al /opt/freeware/lib/libcrypto*
    -rw-r--r--    1 root     system     30237924 May 28 2016  /opt/freeware/lib/libcrypto.a
    lrwxrwxrwx    1 root     system           18 Mar 18 2017  /opt/freeware/lib/libcrypto.so@ -> libcrypto.so.1.0.2*
    -rw-r--r--    1 root     system      2012251 May 28 2016  /opt/freeware/lib/libcrypto.so.0.9.7
    -rw-r--r--    1 root     system      2500783 May 28 2016  /opt/freeware/lib/libcrypto.so.0.9.8
    -rw-r--r--    1 root     system      2931691 May 28 2016  /opt/freeware/lib/libcrypto.so.1.0.0
    -rw-r--r--    1 root     system      3053486 May 28 2016  /opt/freeware/lib/libcrypto.so.1.0.1
    -rwxr-xr-x    1 root     system      3322889 May 28 2016  /opt/freeware/lib/libcrypto.so.1.0.2*

    and /opt/freeware/lib is in my LIBPATH:

    $ echo $LIBPATH
    /usr/opt/ibm/gsk8_64/lib64:/opt/freeware/lib:/cmvc/hpcsidb/sqllib/lib64:/cmvc/hpcsidb/sqllib/lib64/gskit:/usr/lib:/lib

    so I'm not sure why this library is no longer able to load.  Any ideas?



  • 2.  Re: CMVC broken after installing YUM

    Posted Tue June 18, 2019 10:56 AM

    Originally posted by: AyappanP


    The curl rpm inside the yum bundle is still linking to the non-versioned shared object file ( libcrypto.so ) inside the archive libcrypto.a. 

    And it is built using the official AIX openssl installp fileset from AIX web download pack programs. 

    Your system has openssl rpm (either from bull or perzl) and it doesn't have the libcrypto.so inside the archive. 

    If you have openssl installp fileset already installed and don't really require openssl rpm , you can remove it . If not possible, then we may have to go with other workarounds. 



  • 3.  Re: CMVC broken after installing YUM

    Posted Tue June 18, 2019 04:38 PM

    Originally posted by: wolz


    # rpm -e openssl
    error: removing these packages would break dependencies:
            openssl >= 0.9.8 is needed by curl-7.27.0-1
            openssl >= 1.0.1 is needed by libssh2-1.4.3-2
            openssl >= 0.9.8 is needed by openldap-2.4.23-0.3
            libcrypto.a(libcrypto.so.1.0.1) is needed by libssh2-1.4.3-2

    I suspect it's the openldap piece that enables the "sign in using your CMVC id and your BluePages password" functionality.



  • 4.  Re: CMVC broken after installing YUM

    Posted Wed June 19, 2019 06:03 AM

    Originally posted by: AyappanP


    Okay.

    You seems to have packages at very older level. 

    Try installing the latest curl from AIX Toolbox manually . https://public.dhe.ibm.com/aix/freeSoftware/aixtoolbox/RPMS/ppc/curl/curl-7.64.0-1.aix6.1.ppc.rpm

    rpm -Uvh curl-7.64.0-1.aix6.1.ppc.rpm

     



  • 5.  Re: CMVC broken after installing YUM

    Posted Thu June 20, 2019 03:58 PM

    Originally posted by: wolz


    The latest curl from the AIX Toolbox wants to drag in the following:

    # rpm -Uvh curl-7.64.0-1.aix6.1.ppc.rpm
    error: Failed dependencies:
            libssh2 >= 1.8.0-3 is needed by curl-7.64.0-1.ppc
            libgcc >= 6.3.0-1 is needed by curl-7.64.0-1.ppc
            openldap >= 2.4.45-1 is needed by curl-7.64.0-1.ppc

    openldap, in turn, wants to drag in cyrus-sasl.

    Of course I downloaded all of these from the AIX Toolbox, but I'm not sure how to deal with the last dependency:

    # ls *rpm
    curl-7.64.0-1.aix6.1.ppc.rpm        libssh2-1.8.2-1.aix6.1.ppc.rpm
    cyrus-sasl-2.1.26-3.aix6.1.ppc.rpm  openldap-2.4.46-1.aix6.1.ppc.rpm
    libgcc-6.3.0-2.aix6.1.ppc.rpm

    # rpm -Uvh *rpm
    error: Failed dependencies:
            AIX-rpm < 6.2.0.0 is needed by libgcc-6.3.0-2.ppc

    I'm at AIX-rpm-7.1.1.15-1, *before* attempting to install yum.



  • 6.  Re: CMVC broken after installing YUM

    Posted Fri June 21, 2019 02:42 AM

    Originally posted by: AyappanP


    gcc rpms are specific to AIX levels.

    So you need to take the libgcc meant for AIX 7.1 release. 

    https://public.dhe.ibm.com/aix/freeSoftware/aixtoolbox/RPMS/ppc-7.1/gcc/libgcc-6.3.0-2.aix7.1.ppc.rpm



  • 7.  Re: CMVC broken after installing YUM

    Posted Fri June 21, 2019 09:33 AM

    Originally posted by: wolz


    All of the "Binary RPM" links at https://www.ibm.com/developerworks/aix/library/aix-toolbox/alpha.html are preset to download the aix6.1 binaries; that's why I downloaded the ones I did.  Even the yum_bundle.tar downloaded by yum.sh included the aix6.1 binaries.  I would venture to guess that every single one of the servers I manage has mostly (if not exclusively) aix6.1 binaries.  

    Is there an option to have yum upgrade to the platform-specific versions of the installed RPMs?  In my case I have 65 servers, each with anywhere from 35 to 60 RPMs installed.



  • 8.  Re: CMVC broken after installing YUM

    Posted Fri June 21, 2019 09:58 AM

    Originally posted by: AyappanP


    Only the libgcc, gcc, g++ and it's related rpms are specific to AIX level. 

    All the other package rpms are built in AIX 6.1 and will work on AIX 7.1 & AIX 7.2. 

    Yum will automatically take care of installing the correct gcc, g++ based on the AIX level.

     



  • 9.  Re: CMVC broken after installing YUM

    Posted Fri June 21, 2019 10:39 AM

    Originally posted by: wolz


    On a test system, I *was* actually able to install yum from the yum_bundle while the CMVC daemons were still running; it wasn't until after I had stopped the CMVC daemons that I discovered I wasn't able to restart them due to the errors reported at the top of this thread. 

    Will yum automatically take care of updating any downlevel gcc and g++ to the correct AIX level, if the downlevel RPMs have already been installed?  If so, I would be willing to try (on a test system) installing yum, then running yum update to pick up the correct platform-specific RPMs, then seeing if I can stop/restart the CMVC daemons (hoping, of course, that the curl depencency will have sorted itself out).



  • 10.  Re: CMVC broken after installing YUM

    Posted Fri June 21, 2019 10:58 AM

    Originally posted by: AyappanP


    Actually one cannot simply install AIX 6.1 libgcc ( and other related) rpms in AIX 7.1 or in AIX 7.2 . They are various protections done for that during the package build. 

    And of course , you can do the testing.



  • 11.  Re: CMVC broken after installing YUM

    Posted Fri June 21, 2019 04:36 PM

    Originally posted by: wolz


    After installing yum and attempting a yum update, I found that I also had to update libgcc  and glib2; after that, the yum update ran to completion and I was able to stop/restart the CMVC daemons.  So... three steps forward.

    However, there was also one step back.  The version of sudo in the AIX Toolbox is 1.8.27, but the version of sudo on my servers is still 1.6.9 (even after the above yum update).  Unfortunately, yum update is now broken (even after an updtvpkg):

    # updtvpkg
    Please wait...
    # yum update
    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]

    Which package provides the libcrypto.so module?  it doesn't appear to be the libgcrypt rpm, as I still get this error even after installing libgcrypt (and its prereq, libgpg-error).

     



  • 12.  Re: CMVC broken after installing YUM

    Posted Mon June 24, 2019 10:57 AM

    Originally posted by: AyappanP


    libcrypto comes from openssl. You have openssl rpm which don't have "libcrypto.so" file inside the libcrypto.a archive.

    Either you need to remove openssl rpm forcefully or take the .so file from /usr/lib/libcrypto.a (openssl fileset) and add it to the /opt/freeware/lib/libcrypto.a (openssl rpm). 

    These are the commands to extract and add it to the archive.

    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

     



  • 13.  Re: CMVC broken after installing YUM

    Posted Mon June 24, 2019 05:21 PM

    Originally posted by: wolz


    By the time I get to the end of all this, there won't be a single "Accept this answer" post, it'll be the entire thread :-)

    I was able to remove the openssl rpm (this time without any complaints about dependencies which would be broken, as was the case at the time of the third post in this thread).

    Afterwards, yum update ran and reported the following:

    Error: Package: cairo-1.14.6-2waixX11.ppc (AIX_Toolbox)
               Requires: libpng16.a(libpng16.so.16)
               Available: libpng-1.6.21-1.ppc (AIX_Toolbox)
                   libpng16.a(libpng16.so.16)
               Available: libpng-1.6.27-2.ppc (AIX_Toolbox)
                   libpng16.a(libpng16.so.16)
               Installed: 2:libpng-1.2.32-2.ppc (installed)
                   Not found
    Error: Package: gdk-pixbuf-2.35.1-2waixX11.ppc (AIX_Toolbox)
               Requires: libpng16.a(libpng16.so.16)
               Available: libpng-1.6.21-1.ppc (AIX_Toolbox)
                   libpng16.a(libpng16.so.16)
               Available: libpng-1.6.27-2.ppc (AIX_Toolbox)
                   libpng16.a(libpng16.so.16)
               Installed: 2:libpng-1.2.32-2.ppc (installed)
                   Not found
     You could try using --skip-broken to work around the problem
     You could try running: rpm -Va --nofiles --nodigest


    I tried "yum update --skip-broken" which ran to completion, but the sudo rpm is still at 1.6.9 (whereas on the AIX Toolbox it's at 1.8.27). 

    That said, after all of this, I am able to stop/start the CMVC daemons, so I suppose I should be thankful for that :-)

     

    # rpm -qa | grep sudo
    sudo-1.6.9p23-2noldap.ppc
    # yum update sudo
    Setting up Update Process
    No Packages marked for Update

     



  • 14.  Re: CMVC broken after installing YUM

    Posted Tue June 25, 2019 02:59 AM

    Originally posted by: AyappanP


    The sudo rpm "sudo-1.6.9p23-2noldap" has bug in it. 

    It has a Epoch tag set to a high value which overrides the version & release numbers. So RPM always considers this as the latest and yum never updates it.

    # rpm -qi sudo-1.6.9p23-2noldap
    Name        : sudo
    Epoch       : 2008050201
    Version     : 1.6.9p23
    Release     : 2noldap
    Architecture: ppc
     

    So in this case i think you need to manually get the latest sudo rpm and install it.

    rpm -Uvh <sudo rpm> --force



  • 15.  Re: CMVC broken after installing YUM

    Posted Wed June 26, 2019 08:37 PM

    Originally posted by: wolz


    As it turns out, "yum distribution-synchronization" seems to have resolved both the sudo issue and the libpng issue identified in the same post:

     

    Dependencies Resolved

    ================================================================================
     Package               Arch     Version                  Repository        Size
    ================================================================================
    Installing:
     libXcursor            ppc      1.1.14-1                 AIX_Toolbox       64 k
         replacing  xcursor.ppc 1.1.7-3
     libXcursor-devel      ppc      1.1.14-1                 AIX_Toolbox       11 k
         replacing  xcursor.ppc 1.1.7-3
    Updating:
     cairo                 ppc      1.14.6-2waixX11          AIX_Toolbox      5.0 M
     gtk2                  ppc      2.24.30-2waixX11         AIX_Toolbox       37 M
     pango                 ppc      1.40.1-2waixX11          AIX_Toolbox      1.5 M
    Downgrading:
     libpng                ppc      1.6.27-2                 AIX_Toolbox      1.6 M
     sudo                  ppc      1.8.27-2                 AIX_Toolbox      1.5 M
    Installing for dependencies:
     gdk-pixbuf            ppc      2.35.1-2waixX11          AIX_Toolbox      3.5 M
     harfbuzz              ppc      1.2.7-2                  AIX_Toolbox      2.0 M
     libxml2               ppc      2.9.9-1                  AIX_Toolbox      5.4 M
     lzo                   ppc      2.10-2                   AIX_Toolbox      123 k
     shared-mime-info      ppc      1.6-2                    AIX_Toolbox      1.0 M
     xz-libs               ppc      5.2.4-1                  AIX_Toolbox      523 k

    Transaction Summary
    ================================================================================
    Install       8 Packages
    Upgrade       3 Packages
    Downgrade     2 Packages

     

    I would like to think that everything is resolved now.  Thanks for all your help!