[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