Nish, Nice way out.
If "make BUILDTYPE=NATIVEONLY check" works then perhaps this is what autotest wrapper should do? I will test that with 2.14 in our setup and report back, probably tomorrow. Thanks for quick turnaround. Julius -----Original Message----- From: Nishanth Aravamudan [mailto:[email protected]] Sent: Monday, October 15, 2012 5:17 PM To: Gawlas, Julius Cc: [email protected]; Andrew Hastings Subject: Re: [Autotest] libhugetlbfs tests Hi Julius, On 15.10.2012 [23:21:37 +0000], Gawlas, Julius wrote: > Nish, > > (not knowing much about libhugetlbfs) > > FYI, previous version 2.0 was built in exactly the same way on the same > system and it just worked without 32 bit; the autotest wrapper file actually > does this: > > # make check might fail for 32 bit if the 32 bit compile earlier > # had failed. See if it passes for 64 bit in that case. > try: > utils.make('check') > except Exception: > utils.make('check OBJDIRS=obj64') > > and I could see in the log ion that SUT that 32 bit fails bc there is > no 32 bit and proceeds to 64 bit check; > > For 2.14 we get error as specified below so the behavior changed. Alright, now I see. Andrew (added to Cc), I think commit 319122ba1f31cf5804901ec078dab5491f9202be (tests: add support for static linking) breaks this model. Without 32-bit prereqs installed, OBJDIRS=obj64 (effectively specifying only building the 64-bit versions of tests) still results in an attempt to build the 32-bit static shmoverride_linked test. Confirmed that the following here prevents the build failure: diff --git a/tests/Makefile b/tests/Makefile index cb15767..c36e467 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -82,7 +82,7 @@ endif # dlsym() / rtld_next(). ifdef CC32 #ALLTESTS += $(LIB_TESTS:%=obj32/%_static) $(STRESS_TESTS:%=obj32/%_static) -ALLTESTS += obj32/shmoverride_linked_static +#ALLTESTS += obj32/shmoverride_linked_static endif ifdef CC64 #ALLTESTS += $(LIB_TESTS:%=obj64/%_static) $(STRESS_TESTS:%=obj64/%_static) Maybe what should happen is that you need to test both that CC32 and that obj32 is in OBJDIRS? Similarly for the CC64 test, I suppose, for completeness? That is, the presence of a suitable compiler isn't necessarily an indicator. Ah! Julius, there is another option if libhugetlbfs stays the way it is: make BUILDTYPE=NATIVEONLY check That prevents the definition in the Makefile of the CC32 variable (basically, just says only build the 64-bit versions for 64-bit architectures, 32-bit for 32-bit architectures, afaict). Thanks, Nish > >I guess you can install those 32-bit prereqs to satisfy the build > > Indeed we could, but perhaps it is better (?) if it can be run on 64 bit > system w/o that as it was the case before. > > Thanks for looking into that. > > Julius > > > -----Original Message----- > From: Nishanth Aravamudan [mailto:[email protected]] > Sent: Monday, October 15, 2012 4:01 PM > To: Gawlas, Julius > Cc: [email protected] > Subject: Re: [Autotest] libhugetlbfs tests > > On 15.10.2012 [19:14:04 +0000], Gawlas, Julius wrote: > > We are running nightly tests suite that exercises new kernel and one > > of the tests is libhugetlbfs. We are plugging in into standard > > libhugetlbfs using libhugetlbfs-2.0.tar.gz. We have seen lately > > intermittent problems where the suite will just hang somewhere in > > the middle of > > > > $ make check OBJDIRS=obj64 > > ... > > linkhuge_rw > > > > (Note that we don't really know much about that test, we just picked > > it up as part of regression suite) > > > > After checking the libhugetlbfs site it turns out latest library is > > libhugetlbfs-2.14, so we picked it up and attempted to run tests > > based on that. But on 64 bits this fails as well: > > > > $ make check OBJDIRS=obj64 > > LD64 (lib test) obj64/huge_below_4GB_normal_above > > CC32 obj32/shmoverride_linked.o > > stderr: > > /usr/bin/ld: warning: zero_filesize_segment.ld contains output sections; > > did you forget -T? > > In file included from /usr/include/features.h:385, > > from /usr/include/sys/types.h:26, > > from shmoverride_linked.c:18: > > /usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: No such file or > > directory > > make[1]: *** [obj32/shmoverride_linked.o] Error 1 > > make: *** [tests/all] Error 2 > > So this is a bit confusing, if you look at the output, you specified > you wanted the 64-bit binaries to be built and the 32-bit binaries are > being built as well. But your env doesn't appear to have the 32-bit > requirements. I guess you can install those 32-bit prereqs to satisfy > the build. I'm trying remember my libhuge history, but I don't think > the tests were ever meant to be built only 64-bit. They could be built > only 32-bit (I think), but if you built 64-bit, 32-bit was also > tested. I might be wrong, I will try to look at the source a little > later. > > > Mailing list archive for libhugetlbfs seems to be filled with spam. > > FWIW, yes, filled with spam and very idle, but I think technically still > active. No guarantees, although if you send a message there and I see it, I > will respond immediately so you'll know it got through. > > > Anybody can help or shed any light on this? Any help or pointers > > would be appreciated. Is that test bogus? > > > > Julius > > > > _______________________________________________ > > Autotest-kernel mailing list > > [email protected] > > https://www.redhat.com/mailman/listinfo/autotest-kernel > > > _______________________________________________ Autotest-kernel mailing list [email protected] https://www.redhat.com/mailman/listinfo/autotest-kernel
