[lustre-discuss] Building lustre on rocky 8.8 fails?

Andreas Dilger adilger at whamcloud.com
Sat Jan 6 01:22:31 PST 2024


Why not download the matching kernel and Lustre RPMs together?  I would recommend RHEL8 servers as the most stable, RHEL9 hasn't been run for very long as a Lustre server.

On Jan 5, 2024, at 02:41, Jan Andersen <jan at comind.io<mailto:jan at comind.io>> wrote:

Hi Xinliang and Andreas,

Thanks for helping with this!

I tried out your suggestions, and it compiled fine; however, things had become quite messy on the server, so I decided to reinstall the Rocky 8.8 and start over. Again, lustre built successfully, but for some reason, when you download the source code package from the repository, you get a slightly different version from the kernel's, with the result that lustre places its modules in a place the running kernel can't find.

So I built the kernel from source with the correct version, rebooted, cloned lustre again, ./configured etc, and now:

[root at mds lustre-release]# make
make  all-recursive
make[1]: Entering directory '/root/lustre-release'
Making all in ldiskfs
make[2]: Entering directory '/root/lustre-release/ldiskfs'
make[2]: *** No rule to make target '../ldiskfs/kernel_patches/series/ldiskfs-', needed by 'sources'.  Stop.
make[2]: Leaving directory '/root/lustre-release/ldiskfs'
make[1]: *** [autoMakefile:680: all-recursive] Error 1
make[1]: Leaving directory '/root/lustre-release'
make: *** [autoMakefile:546: all] Error 2

Which I don't quite understand, because I still have all the necessary packages and tools from before.

Before I barge ahead and try yet another permutation, do you have any advice so I might avoid problems? I can reinstall the OS, which will be a bit of a pain, but not that bad - but then which version; 8.8 or 8.9, or even 9? Or is there a simplish thing I can do to avoid all that?

/jan

On 03/01/2024 02:17, Xinliang Liu wrote:
On Wed, 3 Jan 2024 at 10:08, Xinliang Liu <xinliang.liu at linaro.org<mailto:xinliang.liu at linaro.org> <mailto:xinliang.liu at linaro.org>> wrote:
   Hi Jan,
   On Tue, 2 Jan 2024 at 22:29, Jan Andersen <jan at comind.io<mailto:jan at comind.io> <mailto:jan at comind.io>> wrote:
       I have installed Rocky 8.8 on a new server (Dell PowerEdge R640):
       [root at mds 4.18.0-513.9.1.el8_9.x86_64]# cat /etc/*release*
       Rocky Linux release 8.8 (Green Obsidian)
       NAME="Rocky Linux"
       VERSION="8.8 (Green Obsidian)"
       ID="rocky"
       ID_LIKE="rhel centos fedora"
       VERSION_ID="8.8"
       PLATFORM_ID="platform:el8"
       PRETTY_NAME="Rocky Linux 8.8 (Green Obsidian)"
       ANSI_COLOR="0;32"
       LOGO="fedora-logo-icon"
       CPE_NAME="cpe:/o:rocky:rocky:8:GA"
       HOME_URL="https://rockylinux.org/ <https://rockylinux.org/>"
       BUG_REPORT_URL="https://bugs.rockylinux.org/ <https://bugs.rockylinux.org/>"
       SUPPORT_END="2029-05-31"
       ROCKY_SUPPORT_PRODUCT="Rocky-Linux-8"
       ROCKY_SUPPORT_PRODUCT_VERSION="8.8"
       REDHAT_SUPPORT_PRODUCT="Rocky Linux"
       REDHAT_SUPPORT_PRODUCT_VERSION="8.8"
       Rocky Linux release 8.8 (Green Obsidian)
       Rocky Linux release 8.8 (Green Obsidian)
       Derived from Red Hat Enterprise Linux 8.8
       Rocky Linux release 8.8 (Green Obsidian)
       cpe:/o:rocky:rocky:8:GA
       I downloaded the kernel source (I don't remember the exact command):
       [root at mds 4.18.0-513.9.1.el8_9.x86_64]# ll /usr/src/kernels
       total 8
       drwxr-xr-x. 24 root root 4096 Jan  2 13:49 4.18.0-513.9.1.el8_9.x86_64/
       drwxr-xr-x. 23 root root 4096 Jan  2 11:41 4.18.0-513.9.1.el8_9.x86_64+debug/
       Copied the config from /boot and ran:
       yes "" | make oldconfig
       After that I cloned the Lustre source and configured (according to my notes):
       git clone git://git.whamcloud.com/fs/lustre-release.git <http://git.whamcloud.com/fs/lustre-release.git>
       cd lustre-release
       git checkout 2.15.3
       dnf install libtool
       dnf install flex
       dnf install bison
       dnf install openmpi-devel
       dnf install python3-devel
       dnf install python3
       dnf install kernel-devel kernel-headers
       dnf install elfutils-libelf-devel
       dnf install keyutils keyutils-libs-devel
       dnf install libmount
       dnf --enablerepo=powertools install libmount-devel
       dnf install libnl3 libnl3-devel
       dnf config-manager --set-enabled powertools
       dnf install libyaml-devel
       dnf install patch
       dnf install e2fsprogs-devel
       dnf install kernel-core
       dnf install kernel-modules
       dnf install rpm-build
       dnf config-manager --enable devel
       dnf config-manager --enable powertools
       dnf config-manager --set-enabled ha
       dnf install kernel-debuginfo
       sh autogen.sh
       ./configure
       This appeared to finish without errors:
       ...
       config.status: executing libtool commands
       CC:            gcc
       LD:            /usr/bin/ld -m elf_x86_64
       CPPFLAGS:      -include /root/lustre-release/undef.h -include /root/lustre-release/config.h -I/root/lustre-release/lnet/include/uapi -I/root/lustre-release/lustre/include/uapi -I/root/lustre-release/libcfs/include -I/root/lustre-release/lnet/utils/ -I/root/lustre-release/lustre/include
       CFLAGS:        -g -O2 -Wall -Werror
       EXTRA_KCFLAGS: -include /root/lustre-release/undef.h -include /root/lustre-release/config.h  -g -I/root/lustre-release/libcfs/include -I/root/lustre-release/libcfs/include/libcfs -I/root/lustre-release/lnet/include/uapi -I/root/lustre-release/lnet/include -I/root/lustre-release/lustre/include/uapi -I/root/lustre-release/lustre/include -Wno-format-truncation -Wno-stringop-truncation -Wno-stringop-overflow
       Type 'make' to build Lustre.
       However, when I run make:
       [root at mds lustre-release]# make
       make  all-recursive
       make[1]: Entering directory '/root/lustre-release'
       Making all in ldiskfs
       make[2]: Entering directory '/root/lustre-release/ldiskfs'
       make[2]: *** No rule to make target '../ldiskfs/kernel_patches/series/ldiskfs-', needed by 'sources'.  Stop.
   This looks like it can't detect the ldiskfs-4.18-rhel8.8.series property.  Most probably the ext4 kernel source rpm (kernel-debuginfo-common-x86_64) hasn't been installed yet.
   And like Andreas said try latest 2.15.4.
   Best,
   Xinliang
       make[2]: Leaving directory '/root/lustre-release/ldiskfs'
       make[1]: *** [autoMakefile:649: all-recursive] Error 1
       make[1]: Leaving directory '/root/lustre-release'
       make: *** [autoMakefile:521: all] Error 2
       Alternatively, I tried make rpms which results in:
       ...
       rpmbuilddir=`mktemp -t -d rpmbuild-lustre-$USER-XXXXXXXX`; \
       make  \
                 rpmbuilddir="$rpmbuilddir" rpm-local || exit 1; \
       cp ./rpm/* .; \
       /usr/bin/rpmbuild \
                 --define "_tmppath $rpmbuilddir/TMP" \
                 --define "_topdir $rpmbuilddir" \
                 --define "dist %{nil}" \
                 -ts lustre-2.15.3.tar.gz || exit 1; \
       cp $rpmbuilddir/SRPMS/lustre-2.15.3-*.src.rpm . || exit 1; \
       rm -rf $rpmbuilddir
       make[1]: Entering directory '/root/lustre-release'
       make[1]: Leaving directory '/root/lustre-release'
       error: line 239: Dependency tokens must begin with alpha-numeric, '_' or '/': BuildRequires: %kernel_module_package_buildreqs
And this might caused by lacking of rpm kernel-rpm-macros.
Usually,  sudo dnf builddep -y lustre.spec should install all the build required RPMs.
       make: *** [autoMakefile:1237: srpm] Error 1
       So, I'm stuck - it seems this is something I do a lot; how do I move forward from here?
       _______________________________________________
       lustre-discuss mailing list
       lustre-discuss at lists.lustre.org<mailto:lustre-discuss at lists.lustre.org> <mailto:lustre-discuss at lists.lustre.org>
       http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org <http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org>
_______________________________________________
lustre-discuss mailing list
lustre-discuss at lists.lustre.org<mailto:lustre-discuss at lists.lustre.org>
http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org

Cheers, Andreas
--
Andreas Dilger
Lustre Principal Architect
Whamcloud







-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lustre.org/pipermail/lustre-discuss-lustre.org/attachments/20240106/c5aa8f1f/attachment-0001.htm>


More information about the lustre-discuss mailing list