I have basically the same on my working system:
dist dist-all: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c
>$(distdir).tar.gz
So it looks like the issue is in setting am__tar. I have:
am__tar = tar --format=ustar -chf - "$$tardir"
Cheers, Andreas
On Jan 11, 2019, at 10:52, Tauferner, Andrew T <[email protected]>
wrote:
>> 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?
> No
>
>> 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
>> Nowhere in that line is a "tar" command that takes a list of files...
> I agree that is wrong. It's coming from the following in the generated
> autoMakefile:
> dist-gzip: distdir
> tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c
> >$(distdir).tar.gz
> $(am__post_remove_distdir)
>
> It might be helpful if I could see an example of a correct line in
> autoMakefile.
>
> Andrew Tauferner
> 1-952-562-4944 (office)
>
> -----Original Message-----
> From: Andreas Dilger [mailto:[email protected]]
> Sent: Thursday, January 10, 2019 10:19 PM
> To: Tauferner, Andrew T <[email protected]>
> Cc: [email protected]
> Subject: Re: [lustre-discuss] Kernel Module Build
>
>> On Jan 10, 2019, at 18:13, Tauferner, Andrew T
>> <[email protected]> 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:[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
>>
>>
>>
>>
>
> Cheers, Andreas
> ---
> Andreas Dilger
> CTO Whamcloud
>
>
>
>
_______________________________________________
lustre-discuss mailing list
[email protected]
http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org