<div dir="ltr"><div>Hello Fokke,</div><div>Thank you for doing this, it was very helpful. I&#39;ll just add our build notes here too in case someone else finds them useful:</div><div><br></div><div><b><font face="monospace">* AlmaLinux release 9.8, Kernel </font>5.14.0-687.44.1.el9_8.x86_64</b><font face="monospace"><br>git clone git://<a href="http://git.whamcloud.com/fs/lustre-release.git" target="_blank">git.whamcloud.com/fs/lustre-release.git</a> lustre-client<br>cd lustre-client/<br>git checkout tags/2.15.8<br><b>- Fix for &quot;/linux-time.h:238:9: error: implicit declaration of function &#39;from_timer&#39;; did you mean &#39;mod_timer&#39;? [-Werror=implicit-function-declaration]&quot; issue where the from_timer() macro was renamed in recent Linux kernel versions<br></b>git pull <a href="https://review.whamcloud.com/fs/lustre-release" target="_blank">https://review.whamcloud.com/fs/lustre-release</a> refs/changes/97/65797/7<br>sh autogen.sh<br>./configure --disable-iokit --disable-gss --disable-gss-keyring --disable-server --disable-tests --enable-client<br>make rpms<br></font></div><div><br></div><div>Thanks</div><div>Kaizaad</div><div><span style="background-color:transparent;font-family:arial,sans-serif">--</span></div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><span style="color:rgb(34,34,34);background-color:transparent;font-family:arial,sans-serif">Kaizaad Bilimorya<br></span><span style="color:rgb(34,34,34);background-color:transparent;font-family:arial,sans-serif">Systems Administrator - SHARCNET | </span><a href="http://www.sharcnet.ca/" style="color:rgb(17,85,204);background-color:transparent;font-family:arial,sans-serif" target="_blank">http://www.sharcnet.ca</a><br style="color:rgb(34,34,34)"><span style="background-color:transparent;font-family:arial,sans-serif;color:rgb(0,0,0)">Digital Research Alliance of Canada | </span><span style="color:rgb(34,34,34);background-color:transparent"><a href="https://www.alliancecan.ca/" style="color:rgb(17,85,204)" target="_blank">https://www.alliancecan.ca</a></span><br></div></div></div></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jun 29, 2026 at 7:41\u202fAM Fokke Dijkstra via lustre-discuss &lt;<a href="mailto:lustre-discuss@lists.lustre.org" target="_blank">lustre-discuss@lists.lustre.org</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">I managed to create a patched version of the lustre-client-dkms 2.15.8 rpm, which fixes the issue that the kernel modules cannot be compiled on our Alma Linux 9.8 client nodes.<br>Since thousands of users can login on or submit jobs to these clients we absolutely need to be able to quickly fix privilege escalation exploits on these nodes.<br><br>Here is a summary of the way I was able to rebuild the lustre-client-dkms rpm:<br><br>The patches for the new kernels can be found via: <a href="https://jira.whamcloud.com/browse/LU-20071" target="_blank">https://jira.whamcloud.com/browse/LU-20071</a><br>where LU-20071 is the label for the new Red Hat 9.8 release. I assume that a similar procedure can be followed in the future for Red Hat 9.9 and its derivatives.<br>Note that in our case we wanted to fix the LTS release 2.15.8. So look for the branch b2_15 on the LU-20071 page. This specific patch can be found at:<br><a href="https://review.whamcloud.com/c/fs/lustre-release/+/65797" target="_blank">https://review.whamcloud.com/c/fs/lustre-release/+/65797</a><br>Figuring this out took some time, as I did not know the structure of the build system, and I first tried to use the patch for the latest release, which would not apply.<br><br>After this I used the following procedure to build an updated lustre-client-dkms rpm:<br><br>1. Download the Lustre source rpm from <a href="https://downloads.whamcloud.com/public/lustre/latest-release/el9.7/client/SRPMS/lustre-client-dkms-2.15.8-1.el9.src.rpm" target="_blank">https://downloads.whamcloud.com/public/lustre/latest-release/el9.7/client/SRPMS/lustre-client-dkms-2.15.8-1.el9.src.rpm</a><br>2. Install the rpm using:<br>  rpm -i lustre-client-dkms-2.15.8-1.el9.src.rpm<br>3. Go the the ~/rpmbuild/SOURCES directory and unpack the source file<br>  tar xzf lustre-2.15.8.tar.gz<br>4. Download the patch from <a href="https://review.whamcloud.com/c/fs/lustre-release/+/65797" target="_blank">https://review.whamcloud.com/c/fs/lustre-release/+/65797</a>, which can be downloaded using the &quot;DOWNLOAD&quot; link. I selected c131e65.diff.zip<br>5. Unzip the patch into c131e65.diff<br>6. Apply the patch using something like:<br>  cd lustre-2.15.8<br>  patch -p1 &lt; ../c131e65.diff<br>  cd ..<br>7. Create an updated source tar file:<br>  tar czf lustre-2.15.8.tar.gz lustre-2.15.8<br>8. Fix the hardcoded buildid in the spec file, by changing it from 1 to 2, so the line reads:<br>%define buildid 2<br>9. Build the rpm (client without zfs, but with ldiskfs for our use case):<br>rpmbuild -ba rpmbuild/SPECS/lustre-dkms.spec --without servers --without zfs --with ldiskfs<br><br>This results in rpmbuild/RPMS/noarch/lustre-client-dkms-2.15.8-2.el9.noarch.rpm<br><br>Installing this rpm, together with lustre-client-2.15.8-1.el9.x86_64.rpm resulted in a working client on Alma Linux 9.8. I&#39;ve tested some nodes using the IOR benchmark.<br><br>I hope these instructions are helpful to others. Please let me know if you have suggestions to improve the procedure.<div><br></div><div>Kind regards,</div><div><br></div><div>Fokke Dijkstra<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Op di 9 jun 2026 om 19:07 schreef Mohr, Rick &lt;<a href="mailto:mohrrf@ornl.gov" target="_blank">mohrrf@ornl.gov</a>&gt;:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Looking through my scripts, the configure command was run with the following options (with paths to dirs substituted for variables) after the patch had been applied to the source code:<br>
<br>
  configure --with-linux=$KERN_DIR --with-linux-obj=$KERN_OBJ_DIR --with-o2ib=$OFED_DIR --disable-gss --disable-gss-keyring --disable-server --disable-tests --disable-iokit --with-mds-max-threads=8192 --enable-mpitests=yes<br>
<br>
Then I just ran &quot;make rpms&quot; to create the packages.  Everything was pretty straightforward, although not all the options I used would necessarily be needed at another site.<br>
<br>
--Rick<br>
<br>
<br>
\ufeffOn 6/4/26, 12:35 PM, &quot;Mohr, Rick&quot; &lt;<a href="mailto:mohrrf@ornl.gov" target="_blank">mohrrf@ornl.gov</a> &lt;mailto:<a href="mailto:mohrrf@ornl.gov" target="_blank">mohrrf@ornl.gov</a>&gt;&gt; wrote:<br>
<br>
<br>
Well, I actually built the client using a wrapper script that James Simmons wrote to manage git checkouts, patch application, etc. so the steps were hidden by that process. I&#39;ll see if I can dig out the underlying commands and post them here.<br>
<br>
<br>
--Rick<br>
<br>
<br>
<br>
<br>
</blockquote></div><div><br clear="all"></div><div><br></div><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr">Fokke Dijkstra <a href="mailto:f.dijkstra@rug.nl" target="_blank">&lt;f.dijkstra@rug.nl&gt;</a>
<br>Team High Performance Computing</div><div dir="ltr">Center for Information Technology, University of Groningen
<br>Postbus 11044, 9700 CA  Groningen, The Netherlands
<br><br>
</div></div></div></div>
_______________________________________________<br>
lustre-discuss mailing list<br>
<a href="mailto:lustre-discuss@lists.lustre.org" target="_blank">lustre-discuss@lists.lustre.org</a><br>
<a href="http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org" rel="noreferrer" target="_blank">http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org</a><br>
</blockquote></div>