[Lustre-discuss] Can Lustre be built on old IBM pSeries platform?

Andreas Dilger adilger at sun.com
Fri Mar 7 16:06:46 PST 2008


On Mar 07, 2008  14:57 +0300, Grigory Shamov wrote:
> After applying patch 14844 as suggested by email I got from Oleg Drokin
> I've been able to compile it further. (Btw, there are many quite large 
> patches, and quite recent patches -- do I need them all, and if yes, in 
> which order to apply them?)
>
> But I hit the problem (with SLES kernel, 2.6.5) about "#error rdonly 
> patchset must be updated [cfs bz11248]" at lvfs_linux.c" you already 
> answered to another persson in lustre-discuss. Following your  maillist 
> message as above,
> ================
>>> Please try changing lvfs_linux.c:465 as below. This should work, 
> though I haven't tried it myself. This part of the code isn't used on a
> client.
>>> -#ifdef LUSTRE_KERNEL_VERSION
>>> -#ifdef HAVE_CLEAR_RDONLY_ON_PUT
>>> -#error rdonly patchset must be updated [cfs bz11248]
>>> -#endif
>>> +#ifdef HAVE_CLEAR_RDONLY_ON_PUT
> ================
>
> I've been able to compile rather far, but hit the same error:
>
>
>   CC [M]  /root/lustre-1.6.4.2/lustre/obdclass/llog-test.o
>   CC [M]  /root/lustre-1.6.4.2/lustre/obdclass/linux/linux-module.o
> /root/lustre-1.6.4.2/lustre/obdclass/linux/linux-module.c:447:3: #error
> Cannot continue: Your Lustre kernel patch is older than the sources
> make[6]: *** [/root/lustre-1.6.4.2/lustre/obdclass/linux/linux-module.o]
> Error 1
> make[5]: *** [/root/lustre-1.6.4.2/lustre/obdclass] Error 2
> make[4]: *** [/root/lustre-1.6.4.2/lustre] Error 2
> make[3]: *** [_module_/root/lustre-1.6.4.2] Error 2
> make[3]: Leaving directory `/tmp/linux-2.6.5-7.286'
> make[2]: *** [modules] Error 2
> make[2]: Leaving directory `/root/lustre-1.6.4.2'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/root/lustre-1.6.4.2'
> make: *** [all] Error 2
> ========================================

You should apply the "2.6-suse-newer.series" patch series to your
SLES9 kernel.  It fixes a bunch of bugs in the SLES9 kernel.

> I've also tried to build patched Lustre with the RHEL kernel 2.8.16 -- on 
> both SLES9 and YD5 distros -- it seem to compile farther but then hits some 
> library problems -- missing basic objects in liblustre.

You don't need liblustre, configure with --disable-liblustre.  Using
RHEL5 or SLES10 kernel is preferable to SLES9.

> make[3]: Entering directory `/root/lustre-1.6.4.2/lustre/liblustre'
> Making all in .
> make[4]: Entering directory `/root/lustre-1.6.4.2/lustre/liblustre'
> make[4]: Nothing to be done for `all-am'.
> make[4]: Leaving directory `/root/lustre-1.6.4.2/lustre/liblustre'
> Making all in tests
> make[4]: Entering directory `/root/lustre-1.6.4.2/lustre/liblustre/tests'
> gcc -m64 -g -Wall -fPIC -g -O2   -o sanity  sanity-sanity.o libtestcommon.a 
> ../../../lustre/utils/liblustreapi.a ../../../lustre/liblustre/liblustre.a  
> -lpthread
> /usr/lib/gcc-lib/powerpc-suse-linux/3.3.3/../../../../powerpc-suse-linux/bin/ld: 
> warning: powerpc:common architecture of input file 
> `../../../lustre/liblustre/liblustre.a(inode.o)' is incompatible with 
> powerpc:common64 output
> /usr/lib/gcc-lib/powerpc-suse-linux/3.3.3/../../../../powerpc-suse-linux/bin/ld: 
> warning: powerpc:common architecture of input file 
> `../../../lustre/liblustre/liblustre.a(dev.o)' is incompatible with 
> powerpc:common64 output
> /usr/lib/gcc-lib/powerpc-suse-linux/3.3.3/../../../../powerpc-suse-linux/bin/ld: 
> can not size stub section: Bad value
> /usr/lib/gcc-lib/powerpc-suse-linux/3.3.3/../../../../lib64/crt1.o(.text+0x1c): 
> In function `._start':
> ../sysdeps/powerpc/powerpc64/elf/start.S:58: undefined reference to 
> `.__libc_start_main'
> sanity-sanity.o(.text+0x1c): In function `usage':
> /root/lustre-1.6.4.2/lustre/liblustre/tests/sanity.c:1384: undefined 
> reference to `.printf'
> sanity-sanity.o(.text+0x2c):/root/lustre-1.6.4.2/lustre/liblustre/tests/sanity.c:1387: 
> undefined reference to `.printf'
> sanity-sanity.o(.text+0x38):/root/lustre-1.6.4.2/lustre/liblustre/tests/sanity.c:1388: 
> undefined reference to `.exit'
> sanity-sanity.o(.text+0xb4): In function `main':
> /root/lustre-1.6.4.2/lustre/liblustre/tests/sanity.c:1461: undefined 
> reference to `.getopt_long'
> sanity-sanity.o(.text+0xf4):/root/lustre-1.6.4.2/lustre/liblustre/tests/sanity.c:1461: 
> undefined reference to `.getopt_long'
> sanity-sanity.o(.text+0x108):/root/lustre-1.6.4.2/lustre/liblustre/tests/sanity.c:1465: 
> undefined reference to `.getenv'
> sanity-sanity.o(.text+0x134):/root/lustre-1.6.4.2/lustre/liblustre/tests/sanity.c:1472: 
> undefined reference to `.putchar'
>
> Etc., etc., many pages of it.
> ============================
>
> So, could you please advice me which patch I apply next? Sorry for rather 
> unfocused message, and thank you in advance!
>
> --
> WBR, Grigory Shamov
>
> Andreas Dilger ?????:
>> On Mar 03, 2008  02:19 -0800, gas5x1 wrote:
>>> I'm trying to access my Lustre (1.6.4) filesystem from an old IBM
>>> pSeries cluster(the Linux is SLES9 for PPC64). I've built and started
>>> the patched kernel 2.6.18 and tried to compile the latest Lustre
>>> tarball, 1.6.4.2. It does configure, but dies at compile time saying
>>> following:
>>>
>>> ============
>>>   CC [M]  /root/lustre-1.6.4.2/lnet/klnds/socklnd/socklnd.o
>>> In file included from /root/lustre-1.6.4.2/lnet/klnds/socklnd/socklnd.h:34,
>>>                  from /root/lustre-1.6.4.2/lnet/klnds/socklnd/socklnd.c:26:
>>> /root/lustre-1.6.4.2/lnet/klnds/socklnd/socklnd_lib-linux.h:37:25: asm/segment.h: No such file or directory
>>> In file included from /root/lustre-1.6.4.2/lnet/include/libcfs/kp30.h:14,
>>>                  from /root/lustre-1.6.4.2/lnet/klnds/socklnd/socklnd_lib-linux.h:44,
>>>                  from /root/lustre-1.6.4.2/lnet/klnds/socklnd/socklnd.h:34,
>>>                  from /root/lustre-1.6.4.2/lnet/klnds/socklnd/socklnd.c:26:
>>> /root/lustre-1.6.4.2/lnet/include/libcfs/linux/kp30.h:26:26: asm/
>>> segment.h: No such file or directory
>>> make[7]: *** [/root/lustre-1.6.4.2/lnet/klnds/socklnd/socklnd.o] Error 1
>>>
>>> ============
>>>
>>> Could you please advice me whether there is a possibility to build
>>> Listre on PPC64, and if yes how to workaround the compile problems?
>>> Thank you very much in advance!
>>
>> Please see bug 14752, which tracks a number of issues related to Lustre
>> building on PPC.  The problem you report above is fixed in bug 14844
>> already, and there are some others (e.g. bug 14845) that have patches
>> and others that do not.
>>
>> Feedback here, or in the bugs themselves, is welcomed as our ability
>> to test on PPC hardware is very limited.
>>
>> Cheers, Andreas
>> --
>> Andreas Dilger
>> Sr. Staff Engineer, Lustre Group
>> Sun Microsystems of Canada, Inc.
>>
>>
>
>

Cheers, Andreas
--
Andreas Dilger
Sr. Staff Engineer, Lustre Group
Sun Microsystems of Canada, Inc.




More information about the lustre-discuss mailing list