I faced the same issue recently with 2.12, a 4.14 Kernel and a very custom EL7 distro. I ended up making the tarball by hand and ran the rpmbuild command myself.
Aurélien Le 11/01/2019 05:19, « lustre-discuss au nom de Andreas Dilger » <lustre-discuss-boun...@lists.lustre.org au nom de adil...@whamcloud.com> a écrit : On Jan 10, 2019, at 18:13, Tauferner, Andrew T <andrew.t.taufer...@intel.com> wrote: > >> Does the configure output show lustre.spec being created? You can also check in config.log: > Yes. > config.status:1592: creating lustre.spec > config.status:1592: creating lustre-dkms.spec OK, good. >> If it was created, as requested in my previous email, did you check if >> the lustre.spec file was included into the lustre-2.12.0.tar.gz file >> (that file is created by rpmbuild during the "make rpms" process)? > It was not. The tar file is only 20 bytes. Shouldn't I expect to see directory lustre-release/lustre-2.12.0? > > attaufer@head-2:~/lustre-release> ll > total 3356 > -rw-r--r-- 1 attaufer intelall 17764 Jan 10 13:58 lustre.spec > -rw-r--r-- 1 attaufer intelall 17776 Jan 10 08:29 lustre.spec.in This looks good. > -rw-r--r-- 1 attaufer intelall 20 Jan 10 16:57 lustre-2.12.0.tar.gz This looks clearly broken, and the reason why the rpmbuild is failing to locate the file therein. You aren't running out of space or inodes on this filesystem? Otherwise, you need to dig into why the tar creation is failing. I did notice something strange in your earlier logs: >> tardir=lustre-2.12.0 && false | GZIP=--best gzip -c >lustre-2.12.0.tar.gz so it looks like the lustre-2.12.0.tar.gz file will only contain the line: tardir=lustre-2.12.0 && false | GZIP=--best gzip -c Nowhere in that line is a "tar" command that takes a list of files... >> You never really mentioned it, but what distro are you using? I've >> recently built on both RHEL6 and RHEL7 using this process without >> problems (the build mechanism for the full release packages is somewhat >> different and more complex), so it seems likely that there is something >> strange with your environment. > > I'm running on SLES12 SP3 but I'm trying to build lustre for an experimental kernel that will run on a different node in the cluster. > I wouldn't suspect any strange RPM macros as I'm able to build other RPMs (the kernel RPM, for example) on this system. > I don't have a different system on which to build this. Sorry, I've never used SLES, though we definitely build it in our build farm. Cheers, Andreas > -----Original Message----- > From: Andreas Dilger [mailto:adil...@whamcloud.com] > Sent: Thursday, January 10, 2019 5:16 PM > To: Tauferner, Andrew T <andrew.t.taufer...@intel.com> > Cc: lustre-discuss@lists.lustre.org > Subject: Re: [lustre-discuss] Kernel Module Build > > On Jan 10, 2019, at 15:29, Tauferner, Andrew T <andrew.t.taufer...@intel.com> wrote: >> >> Yes. Here's the proof: >> >> attaufer@head-2:~/lustre-release> sh autogen.sh && ./configure --with-linux=/nfshome/attaufer/kernel/usr/src/kernels/4.14.54-mos-tc3-20181113 >> checking build system type... x86_64-unknown-linux-gnu >> checking host system type... x86_64-unknown-linux-gnu >> checking target system type... x86_64-unknown-linux-gnu >> checking for a BSD-compatible install... /usr/bin/install -c >> checking whether build environment is sane... yes >> checking for a thread-safe mkdir -p... /usr/bin/mkdir -p >> checking for gawk... gawk >> checking whether make sets $(MAKE)... yes >> checking whether make supports nested variables... yes >> >> <snip> >> >> config.status: config.h is unchanged >> config.status: executing depfiles commands >> config.status: executing libtool commands > > Does the configure output show lustre.spec being created? You can also > check in config.log: > > $ grep "\.spec" config.log > config.status:1548: creating lustre.spec > config.status:1548: creating lustre-dkms.spec > > If it was created, as requested in my previous email, did you check if > the lustre.spec file was included into the lustre-2.12.0.tar.gz file > (that file is created by rpmbuild during the "make rpms" process)? > > $ tar tzvf lustre-2.12.0.tar.gz | grep "\.spec" > >> Type 'make' to build Lustre. >> attaufer@head-2:~/lustre-release> make rpms >> make dist-gzip am__post_remove_distdir='@:' >> make[1]: Entering directory '/nfshome/attaufer/lustre-release' >> if test -d "lustre-2.12.0"; then find "lustre-2.12.0" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -rf "lustre-2.12.0" || { sleep 5 && rm -rf "lustre-2.12.0"; }; else :; fi >> test -d "lustre-2.12.0" || mkdir "lustre-2.12.0" >> (cd ldiskfs && make top_distdir=../lustre-2.12.0 distdir=../lustre-2.12.0/ldiskfs \ >> am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) >> make[2]: Entering directory '/nfshome/attaufer/lustre-release/ldiskfs' >> make[2]: Leaving directory '/nfshome/attaufer/lustre-release/ldiskfs' >> (cd lustre-iokit && make top_distdir=../lustre-2.12.0 distdir=../lustre-2.12.0/lustre-iokit \ > > I don't think we need this whole spew each time... Usually the errors > are in the last 20 or so lines. > > You never really mentioned it, but what distro are you using? I've recently built on both RHEL6 and RHEL7 using this process without problems (the build mechanism for the full release packages is somewhat different and more complex), so it seems likely that there is something strange with your environment. > > Based on the 4.14 kernel, I'd assume RHEL7.5 alt? Any strange RPM macros that might be affecting the build? Have you tried on a different system? > > Cheers, Andreas > >> tardir=lustre-2.12.0 && false | GZIP=--best gzip -c >lustre-2.12.0.tar.gz >> make[1]: Leaving directory '/nfshome/attaufer/lustre-release' >> if test -d "lustre-2.12.0"; then find "lustre-2.12.0" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -rf "lustre-2.12.0" || { sleep 5 && rm -rf "lustre-2.12.0"; }; else :; fi >> 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.12.0.tar.gz || exit 1; \ >> cp $rpmbuilddir/SRPMS/lustre-2.12.0-*.src.rpm . || exit 1; \ >> rm -rf $rpmbuilddir >> make[1]: Entering directory '/nfshome/attaufer/lustre-release' >> make[1]: Leaving directory '/nfshome/attaufer/lustre-release' >> error: Failed to read spec file from lustre-2.12.0.tar.gz >> autoMakefile:1189: recipe for target 'srpm' failed > >> make: *** [srpm] Error 1 >> >> Andrew Tauferner >> 1-952-562-4944 (office) >> >> -----Original Message----- >> From: Andreas Dilger [mailto:adil...@whamcloud.com] >> Sent: Thursday, January 10, 2019 3:39 PM >> To: Tauferner, Andrew T <andrew.t.taufer...@intel.com> >> Cc: Degremont, Aurelien <degre...@amazon.com>; lustre-discuss@lists.lustre.org >> Subject: Re: [lustre-discuss] Kernel Module Build >> >> Did you run "sh autogen.sh && ./configure" before your "make rpms"? The lustre.spec file should be generated by configure. You can check this before running the "make rpms", and check the tarball to see if it is included. >> >> Cheers, Andreas >> >>> On Jan 10, 2019, at 14:19, Tauferner, Andrew T <andrew.t.taufer...@intel.com> wrote: >>> >>> Hmm. Same error with v2_12_0. It would seem that the 4.14 kernel isn't the issue. >>> >>> attaufer@head-2:~/lustre-release> git status >>> On branch 2.12.0 >>> nothing to commit, working tree clean >>> attaufer@head-2:~/lustre-release> make rpms >>> make dist-gzip am__post_remove_distdir='@:' >>> make[1]: Entering directory '/nfshome/attaufer/lustre-release' >>> : >>> tardir=lustre-2.12.0 && false | GZIP=--best gzip -c >lustre-2.12.0.tar.gz >>> make[1]: Leaving directory '/nfshome/attaufer/lustre-release' >>> if test -d "lustre-2.12.0"; then find "lustre-2.12.0" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -rf "lustre-2.12.0" || { sleep 5 && rm -rf "lustre-2.12.0"; }; else :; fi >>> 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.12.0.tar.gz || exit 1; \ >>> cp $rpmbuilddir/SRPMS/lustre-2.12.0-*.src.rpm . || exit 1; \ >>> rm -rf $rpmbuilddir >>> make[1]: Entering directory '/nfshome/attaufer/lustre-release' >>> make[1]: Leaving directory '/nfshome/attaufer/lustre-release' >>> error: Failed to read spec file from lustre-2.12.0.tar.gz >>> autoMakefile:1189: recipe for target 'srpm' failed >>> make: *** [srpm] Error 1 >>> >>> Andrew Tauferner >>> 1-952-562-4944 (office) >>> 1-507-696-4609 (mobile) >>> >>> >>> -----Original Message----- >>> From: Degremont, Aurelien [mailto:degre...@amazon.com] >>> Sent: Wednesday, January 9, 2019 11:49 AM >>> To: Tauferner, Andrew T <andrew.t.taufer...@intel.com>; Andreas Dilger <adil...@whamcloud.com> >>> Cc: lustre-discuss@lists.lustre.org >>> Subject: Re: [lustre-discuss] Kernel Module Build >>> >>> 2.10.6 does not support Linux 4.14. >>> There is several patches that needs to be cherry picked to have it working. >>> >>> 2.12 is fine though. >>> >>> >>> Aurélien >>> >>> Le 09/01/2019 18:43, « lustre-discuss au nom de Tauferner, Andrew T » <lustre-discuss-boun...@lists.lustre.org au nom de andrew.t.taufer...@intel.com> a écrit : >>> >>> I configured like so: >>> >>> attaufer@head-2:~/lustre-release> ./configure --disable-server --with-linux=/nfshome/attaufer/kernel/usr/src/kernels/4.14.54-mos-tc3-20181113 >>> >>> The make failed as follows: >>> >>> attaufer@head-2:~/lustre-release> make rpms >>> make dist-gzip am__post_remove_distdir='@:' >>> make[1]: Entering directory '/nfshome/attaufer/lustre-release' >>> grep -v config.h.in config.h.in > undef.h >>> if test -d "lustre-2.10.6"; then find "lustre-2.10.6" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -rf "lustre-2.10.6" || { sleep 5 && rm -rf "lustre-2.10.6"; }; else :; fi >>> test -d "lustre-2.10.6" || mkdir "lustre-2.10.6" >>> : >>> /usr/bin/rpmbuild \ >>> --define "_tmppath $rpmbuilddir/TMP" \ >>> --define "_topdir $rpmbuilddir" \ >>> --define "dist %{nil}" \ >>> -ts lustre-2.10.6.tar.gz || exit 1; \ >>> cp $rpmbuilddir/SRPMS/lustre-2.10.6-*.src.rpm . || exit 1; \ >>> rm -rf $rpmbuilddir >>> make[1]: Entering directory '/nfshome/attaufer/lustre-release' >>> make[1]: Leaving directory '/nfshome/attaufer/lustre-release' >>> error: Failed to read spec file from lustre-2.10.6.tar.gz >>> autoMakefile:1179: recipe for target 'srpm' failed >>> make: *** [srpm] Error 1 >>> >>> Andrew Tauferner >>> 1-952-562-4944 (office) >>> 1-507-696-4609 (mobile) >>> >>> >>> -----Original Message----- >>> From: Andreas Dilger [mailto:adil...@whamcloud.com] >>> Sent: Wednesday, January 9, 2019 1:20 AM >>> To: Tauferner, Andrew T <andrew.t.taufer...@intel.com> >>> Cc: Peter Jones <pjo...@whamcloud.com>; lustre-discuss@lists.lustre.org >>> Subject: Re: [lustre-discuss] Kernel Module Build >>> >>> You can typically do the simple steps: >>> >>> - checkout Lustre release (4.14 probably needs the 2.12.0 release, but maybe >>> 2.10.6 will also work) >>> - sh autogen.sh >>> - ./configure >>> - make rpms >>> >>> You have to have the kernel-headers package installed for the target kernel, >>> along with the proper .config file. >>> >>>> On Jan 7, 2019, at 16:03, Tauferner, Andrew T <andrew.t.taufer...@intel.com> wrote: >>>> >>>> I looked over that documentation before but it wasn’t clear how to build only the Lustre kernel modules (lnet.ko, lustre.ko, libcfs.ko, etc.). I was relying on the 4.14 kernel build but the lustre code in the staging directory there is quite old and disappears completely in 4.18. So now I need to do an out of tree build for Lustre. Also, the target kernel is not running on the build system. >>>> >>>> Andy >>>> >>>>> From: Peter Jones [mailto:pjo...@whamcloud.com] >>>>> Sent: Monday, January 7, 2019 4:44 PM >>>>> >>>>> http://wiki.lustre.org/Compiling_Lustre should hopefully have the info you need >>>>> >>>>> >>>>> From: "Tauferner, Andrew T" <andrew.t.taufer...@intel.com> >>>>>> >>>>>> I’m trying to build Lustre (v2_10_6) kernel modules for a custom x86_64 kernel. Can somebody point me to the proper place for source and build instructions? Thanks. >>>>>> > > Cheers, Andreas > --- > Andreas Dilger > CTO Whamcloud > > > > Cheers, Andreas --- Andreas Dilger CTO Whamcloud _______________________________________________ lustre-discuss mailing list lustre-discuss@lists.lustre.org http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org _______________________________________________ lustre-discuss mailing list lustre-discuss@lists.lustre.org http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org