Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-12395

Failed dependencies while installing lustre-client-tests and lustre-iokit rpms on RHEL 8.0 client

Details

    • 3
    • 9223372036854775807

    Description

      While installing lustre-client-tests and lustre-iokit rpms on RHEL 8.0 client, they hit the following dependency issues:

      error: Failed dependencies:
      	libmpi.so.40()(64bit) is needed by lustre-client-tests-2.12.54-1.el8.x86_64
      	python > 2.2 is needed by lustre-iokit-2.12.54-1.el8.x86_64
      

      On RHEL 8.0, openmpi provides "libmpi.so.40()(64bit)(openmpi-x86_64)", not "libmpi.so.40()(64bit)". There are python2 and python3 on RHEL 8.0, no python.

      Attachments

        Issue Links

          Activity

            [LU-12395] Failed dependencies while installing lustre-client-tests and lustre-iokit rpms on RHEL 8.0 client
            pjones Peter Jones added a comment -

            Now I think this is complete for 2.13

            pjones Peter Jones added a comment - Now I think this is complete for 2.13

            Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/35374/
            Subject: LU-12395 build: build mpitests for el8
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: 3c7aca74729edb5339d2b84259ba042bf83c214a

            gerrit Gerrit Updater added a comment - Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/35374/ Subject: LU-12395 build: build mpitests for el8 Project: fs/lustre-release Branch: master Current Patch Set: Commit: 3c7aca74729edb5339d2b84259ba042bf83c214a

            Minh Diep (mdiep@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/35374
            Subject: LU-12395 build: build mpitests for el8
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: edb4cd7414988cb7fdce3aa2332876377131d764

            gerrit Gerrit Updater added a comment - Minh Diep (mdiep@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/35374 Subject: LU-12395 build: build mpitests for el8 Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: edb4cd7414988cb7fdce3aa2332876377131d764

            Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/35251/
            Subject: LU-12395 build: require python2 for lustre-iokit
            Project: fs/lustre-release
            Branch: b2_12
            Current Patch Set:
            Commit: 9ffeaac8ec9ad338f6d2639fd5a2d7fafb6725c6

            gerrit Gerrit Updater added a comment - Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/35251/ Subject: LU-12395 build: require python2 for lustre-iokit Project: fs/lustre-release Branch: b2_12 Current Patch Set: Commit: 9ffeaac8ec9ad338f6d2639fd5a2d7fafb6725c6
            mdiep Minh Diep added a comment -

            this issue has not completed. we still need to split the lustre-client-tests rpm

            mdiep Minh Diep added a comment - this issue has not completed. we still need to split the lustre-client-tests rpm

            Jian Yu (yujian@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/35251
            Subject: LU-12395 build: require python2 for lustre-iokit
            Project: fs/lustre-release
            Branch: b2_12
            Current Patch Set: 1
            Commit: 58fc7991c903e15d49b814130f663667d01a24b5

            gerrit Gerrit Updater added a comment - Jian Yu (yujian@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/35251 Subject: LU-12395 build: require python2 for lustre-iokit Project: fs/lustre-release Branch: b2_12 Current Patch Set: 1 Commit: 58fc7991c903e15d49b814130f663667d01a24b5
            pjones Peter Jones added a comment -

            Landed for 2.13

            pjones Peter Jones added a comment - Landed for 2.13

            Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/35094/
            Subject: LU-12395 build: require python2 for lustre-iokit
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: 6f0fcc289887737f45687b5f8a15835aeab32ef4

            gerrit Gerrit Updater added a comment - Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/35094/ Subject: LU-12395 build: require python2 for lustre-iokit Project: fs/lustre-release Branch: master Current Patch Set: Commit: 6f0fcc289887737f45687b5f8a15835aeab32ef4
            dongyang Dongyang Li added a comment -

            Yes we should still have the lustre-client-tests rpm which has the common binary and scripts,

            and 2 additional lustre-client-tests-openmpi and lustre-client-tests-mpich for the mpt tests only, like the example listed in the fedora wiki:

            https://fedoraproject.org/wiki/Packaging:MPI

            Still we need to make sure changing the specs won't break the build for old distros like CentOS7

            dongyang Dongyang Li added a comment - Yes we should still have the lustre-client-tests rpm which has the common binary and scripts, and 2 additional lustre-client-tests-openmpi and lustre-client-tests-mpich for the mpt tests only, like the example listed in the fedora wiki: https://fedoraproject.org/wiki/Packaging:MPI Still we need to make sure changing the specs won't break the build for old distros like CentOS7

            Does it make sense to split out the MPI tests into a separate RPM, namely lustre-client-tests-openmpi and lustre-client-tests-mpich, but keep the rest of the test binaries/scripts in lustre-client-tests? That avoids increasing the size of the build products. Alternately, we just build one or the other MPI RPMs, but name them appropriately and add the appropriate Requires: line so that it will refuse to install with the wrong packages.

            Since very few users beyond autotest will ever install lustre-client-tests-*mpi I don't think we need to spend too much time making this work everywhere.

            adilger Andreas Dilger added a comment - Does it make sense to split out the MPI tests into a separate RPM, namely lustre-client-tests-openmpi and lustre-client-tests-mpich , but keep the rest of the test binaries/scripts in lustre-client-tests ? That avoids increasing the size of the build products. Alternately, we just build one or the other MPI RPMs, but name them appropriately and add the appropriate Requires: line so that it will refuse to install with the wrong packages. Since very few users beyond autotest will ever install lustre-client-tests-*mpi I don't think we need to spend too much time making this work everywhere.
            dongyang Dongyang Li added a comment -

            I think I know what's going on with the MPI dependencies now.

            RHEL8 has rpm-mpi-hooks, which will generate the provides/requires for different mpi libs.

            https://fedoraproject.org//wiki/Changes/RpmMPIReqProv

            This is done to distinguish e.g. libmpi.so from openmpi and mpich. What that means is we should have 2 additional lutre-client-tests rpms, like lustre-client-tests-openmpi and lustre-client-tests-mpich to package the mpi tests, and they will have different dependencies on libmpi.so

            According to https://fedoraproject.org/wiki/Packaging:MPI

            the binary should be placed under /usr/lib64/openmpi/bin or /usr/lib64/mpich/bin

            This means we need to change the rpm build spec and maybe the test scripts assuming the location of the mpi tests.

            The same should also be done for the IOR package.

            Before that happens a walkaround is disabling the mpi tests, can be achieved by removing the openmpi/mpich packages from the build system, or use --enable-mpitests=no configure option.

            dongyang Dongyang Li added a comment - I think I know what's going on with the MPI dependencies now. RHEL8 has rpm-mpi-hooks, which will generate the provides/requires for different mpi libs. https://fedoraproject.org//wiki/Changes/RpmMPIReqProv This is done to distinguish e.g. libmpi.so from openmpi and mpich. What that means is we should have 2 additional lutre-client-tests rpms, like lustre-client-tests-openmpi and lustre-client-tests-mpich to package the mpi tests, and they will have different dependencies on libmpi.so According to  https://fedoraproject.org/wiki/Packaging:MPI the binary should be placed under /usr/lib64/openmpi/bin or /usr/lib64/mpich/bin This means we need to change the rpm build spec and maybe the test scripts assuming the location of the mpi tests. The same should also be done for the IOR package. Before that happens a walkaround is disabling the mpi tests, can be achieved by removing the openmpi/mpich packages from the build system, or use --enable-mpitests=no configure option.

            People

              dongyang Dongyang Li
              yujian Jian Yu
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: