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

build: packaging doesn't honor o2ib configuration from configure

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Medium Medium
    • None
    • None
    • None
    • 3
    • 9223372036854775807

      The rpm and deb packaging don't use the o2ib (OFED) configuration detected by ./configure, but determine it again on their own, which is unreliable: lustre.spec searches /usr/src/ofa_kernel/ with find -H, which misses the symlinked OFED directories of DOCA-OFED DKMS packages, and the deb ext_o2ib/int_o2ib build profiles depend on DPKG_EXT_O2IB and DPKG_INT_O2IB, which configure never substitutes.

      For example, on Rocky Linux 10.1 with DOCA-OFED 3.5.0 (mlnx-ofa_kernel-dkms), ./configure without --with-o2ib (or with --with-o2ib=yes) detects the external OFED correctly, but make rpms fails:

      # rpm -qa | grep doca
      doca-host-3.5.0-082000_26.07_rhel10.x86_64
      doca-sosreport-4.9.0-8.el10.noarch
      doca-ofed-3.5.0-082000.x86_64
      doca-ofed-userspace-3.5.0-082000.x86_64
      
      # ll /usr/src/ofa_kernel/
      total 4
      lrwxrwxrwx 1 root root   36 Sep  7 05:52 default -> /etc/alternatives/ofa_kernel_headers
      drwxr-xr-x 2 root root 4096 Sep  7 06:02 x86_64
      # ll -d /usr/src/ofa_kernel/default
      lrwxrwxrwx 1 root root 36 Sep  7 05:52 /usr/src/ofa_kernel/default -> /etc/alternatives/ofa_kernel_headers
      # realpath /usr/src/ofa_kernel/default
      /usr/src/ofa_kernel-dkms/x86_64/6.12.0-124.28.1.el10_1.x86_64
      # ll -d /usr/src/ofa_kernel/x86_64/6.12.0-124.28.1.el10_1.x86_64
      lrwxrwxrwx 1 root root 61 Sep  7 06:02 /usr/src/ofa_kernel/x86_64/6.12.0-124.28.1.el10_1.x86_64 -> /usr/src/ofa_kernel-dkms/x86_64/6.12.0-124.28.1.el10_1.x86_64
      # realpath /usr/src/ofa_kernel/x86_64/6.12.0-124.28.1.el10_1.x86_64
      /usr/src/ofa_kernel-dkms/x86_64/6.12.0-124.28.1.el10_1.x86_64
      
      # ./autogen.sh && ./configure && make rpms
      ...
      + CONFIGURE_ARGS=
      + '[' -n '' ']'
      + WITH_KFI=
      + WITH_O2IB=
      ++ find -H /usr/src/ofa_kernel/ -type d -name ofed_scripts
      ++ xargs dirname
      dirname: missing operand
      Try 'dirname --help' for more information.
      + o2ib_path=
      error: Bad exit status from /tmp/rpmbuild-lustre-root-xKpIArvl/TMP/rpm-tmp.egix0J (%build)RPM build errors:
          Bad exit status from /tmp/rpmbuild-lustre-root-xKpIArvl/TMP/rpm-tmp.egix0J (%build) 

       

      Also, make dkms-debs builds all kernel modules on the build host, which are never used, as DKMS rebuilds them on the target, and it never generates lustre-tests.install, so lustre-tests is empty on a clean tree. Skip the kernel modules for dkms-debs and generate lustre-tests.install without the test modules, which are left to DKMS as for dkms-rpm.

      # ./autogen.sh && ./configure && make dkms-debs
      ...
      # cd debs/
      # dpkg -c lustre-tests_2.17.58-40-g7b6f742-1_amd64.deb
      drwxr-xr-x root/root         0 2026-10-06 04:56 ./
      drwxr-xr-x root/root         0 2026-10-06 04:56 ./usr/
      drwxr-xr-x root/root         0 2026-10-06 04:56 ./usr/share/
      drwxr-xr-x root/root         0 2026-10-06 04:56 ./usr/share/doc/
      drwxr-xr-x root/root         0 2026-10-06 04:56 ./usr/share/doc/lustre-tests/
      -rw-r--r-- root/root       362 2026-10-06 04:56 ./usr/share/doc/lustre-tests/changelog.Debian.gz
      -rw-r--r-- root/root     84083 2026-09-10 02:06 ./usr/share/doc/lustre-tests/changelog.gz
      -rw-r--r-- root/root     19180 2026-09-10 02:06 ./usr/share/doc/lustre-tests/copyright

            xyang Xiao Yang
            xyang Xiao Yang
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: