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@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 <[email protected] <mailto:[email protected]>> wrote: Hi Jan, On Tue, 2 Jan 2024 at 22:29, Jan Andersen <[email protected] <mailto:[email protected]>> wrote: I have installed Rocky 8.8 on a new server (Dell PowerEdge R640): [root@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@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@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 [email protected] <mailto:[email protected]> http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org <http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org>
_______________________________________________ lustre-discuss mailing list [email protected] http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org
