gas5x1
2008-Mar-03 10:19 UTC
[Lustre-discuss] Can Lustre be built on old IBM pSeries platform?
Dear All, 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! -- WBR, Grigory Shamov Kazan Science Centre of RAS Kazan, Russian Federation
Andreas Dilger
2008-Mar-05 07:40 UTC
[Lustre-discuss] Can Lustre be built on old IBM pSeries platform?
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.
Andreas Dilger
2008-Mar-08 00:06 UTC
[Lustre-discuss] Can Lustre be built on old IBM pSeries platform?
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.