> 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
> 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 588298 Jan 10 08:33 aclocal.m4 -rw-r--r-- 1 attaufer intelall 282 Jan 10 08:29 autogen.sh drwxr-xr-x 2 attaufer intelall 4096 Jan 10 13:52 autom4te.cache -rw-r--r-- 1 attaufer intelall 49285 Jan 10 13:58 autoMakefile -rw-r--r-- 1 attaufer intelall 11698 Jan 10 08:33 autoMakefile.am -rw-r--r-- 1 attaufer intelall 47802 Jan 10 13:52 autoMakefile.in drwxr-xr-x 3 attaufer intelall 4096 Jan 10 13:58 build -rw-r--r-- 1 attaufer intelall 48 Jan 10 08:29 ChangeLog drwxr-xr-x 2 attaufer intelall 4096 Jan 10 13:58 config -rw-r--r-- 1 attaufer intelall 25704 Jan 10 09:06 config.h -rw-r--r-- 1 attaufer intelall 24118 Jan 10 08:33 config.h.in -rw-r--r-- 1 attaufer intelall 720216 Jan 10 13:58 config.log -rwxr-xr-x 1 attaufer intelall 87442 Jan 10 13:58 config.status -rwxr-xr-x 1 attaufer intelall 1266492 Jan 10 08:33 configure -rw-r--r-- 1 attaufer intelall 489 Jan 10 08:29 configure.ac drwxr-xr-x 6 attaufer intelall 4096 Jan 10 08:29 contrib -rw-r--r-- 1 attaufer intelall 18483 Jan 10 08:29 COPYING drwxr-xr-x 3 attaufer intelall 4096 Jan 10 08:33 debian drwxr-xr-x 2 attaufer intelall 4096 Jan 10 08:29 Documentation -rw-r--r-- 1 attaufer intelall 113 Jan 10 16:57 kmp-lustre.files -rw-r--r-- 1 attaufer intelall 146 Jan 10 16:57 kmp-lustre-osd-ldiskfs.files -rw-r--r-- 1 attaufer intelall 298 Jan 10 16:57 kmp-lustre-osd-ldiskfs.preamble -rw-r--r-- 1 attaufer intelall 78 Jan 10 16:57 kmp-lustre-osd-zfs.files -rw-r--r-- 1 attaufer intelall 162 Jan 10 16:57 kmp-lustre-osd-zfs.preamble -rw-r--r-- 1 attaufer intelall 45 Jan 10 16:57 kmp-lustre.preamble -rw-r--r-- 1 attaufer intelall 56 Jan 10 16:57 kmp-lustre-tests.files drwxr-xr-x 3 attaufer intelall 4096 Jan 10 13:58 ldiskfs drwxr-xr-x 5 attaufer intelall 4096 Jan 10 13:58 libcfs -rwxr-xr-x 1 attaufer intelall 339169 Jan 10 13:58 libtool drwxr-xr-x 9 attaufer intelall 4096 Jan 10 13:58 lnet drwxr-xr-x 35 attaufer intelall 4096 Jan 10 13:58 lustre -rw-r--r-- 1 attaufer intelall 20 Jan 10 16:57 lustre-2.12.0.tar.gz -rwxr-xr-x 1 attaufer intelall 1076 Jan 10 08:29 lustre-dkms_post-build.sh -rwxr-xr-x 1 attaufer intelall 2420 Jan 10 08:29 lustre-dkms_pre-build.sh -rw-r--r-- 1 attaufer intelall 4661 Jan 10 13:58 lustre-dkms.spec -rw-r--r-- 1 attaufer intelall 4751 Jan 10 08:29 lustre-dkms.spec.in drwxr-xr-x 8 attaufer intelall 4096 Jan 10 13:58 lustre-iokit -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 -rw-r--r-- 1 attaufer intelall 24 Jan 10 08:33 LUSTRE-VERSION-FILE -rwxr-xr-x 1 attaufer intelall 749 Jan 10 08:33 LUSTRE-VERSION-GEN -rw-r--r-- 1 attaufer intelall 13167 Jan 10 08:29 MAINTAINERS -rw-r--r-- 1 attaufer intelall 99 Jan 10 13:58 Makefile -rw-r--r-- 1 attaufer intelall 86 Jan 10 08:29 Makefile.in -rw-r--r-- 1 attaufer intelall 924 Jan 10 08:29 README drwxr-xr-x 2 attaufer intelall 4096 Jan 10 08:29 rpm -rw-r--r-- 1 attaufer intelall 1254 Jan 10 13:58 Rules drwxr-xr-x 4 attaufer intelall 4096 Jan 10 13:58 snmp -rw-r--r-- 1 attaufer intelall 23 Jan 10 13:58 stamp-h1 -rw-r--r-- 1 attaufer intelall 24054 Jan 10 13:13 undef.h > 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. Thanks. Andrew Tauferner 1-952-562-4944 (office) -----Original Message----- From: Andreas Dilger [mailto:[email protected]] Sent: Thursday, January 10, 2019 5:16 PM To: Tauferner, Andrew T <[email protected]> Cc: [email protected] Subject: Re: [lustre-discuss] Kernel Module Build On Jan 10, 2019, at 15:29, Tauferner, Andrew T <[email protected]> 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:[email protected]] > Sent: Thursday, January 10, 2019 3:39 PM > To: Tauferner, Andrew T <[email protected]> > Cc: Degremont, Aurelien <[email protected]>; [email protected] > 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 >> <[email protected]> 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:[email protected]] >> Sent: Wednesday, January 9, 2019 11:49 AM >> To: Tauferner, Andrew T <[email protected]>; Andreas Dilger >> <[email protected]> >> Cc: [email protected] >> 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 » >> <[email protected] au nom de >> [email protected]> 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:[email protected]] >> Sent: Wednesday, January 9, 2019 1:20 AM >> To: Tauferner, Andrew T <[email protected]> >> Cc: Peter Jones <[email protected]>; [email protected] >> 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 >>> <[email protected]> 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:[email protected]] >>>> 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" <[email protected]> >>>>> >>>>> 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 _______________________________________________ lustre-discuss mailing list [email protected] http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org
