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

Jan Andersen jan at comind.io
Fri Jan 5 01:41:57 PST 2024


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>> wrote:
> 
>     Hi Jan,
> 
>     On Tue, 2 Jan 2024 at 22:29, Jan Andersen <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>
>         http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org <http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org>
> 


More information about the lustre-discuss mailing list