tagarsi, arun
2006-Nov-28 11:10 UTC
[Lustre-discuss] Please help!! PPC64 compiling failure
Hello
I am trying to get lustre 1.4.7.3 running on our PPC64 IBM JS21''s. I
have managed to compile the luster kernel 1.4.7.3 for it but failed to compile
the lustre tools as it failed with the following problem.
make[4]: Entering directory `/scr2/src/lustre-1.4.7.3/lustre/utils''
gcc -m64 -g -Wall -fPIC -g -O2 -L../../lnet/utils -o llverfs llverfs.o
-lext2fs -le2p
/usr/bin/ld: skipping incompatible
/usr/lib/gcc/ppc64-redhat-linux/3.4.6/../../../libext2fs.so when searching for
-lext2fs
/usr/bin/ld: skipping incompatible
/usr/lib/gcc/ppc64-redhat-linux/3.4.6/../../../libext2fs.a when searching for
-lext2fs
/usr/bin/ld: skipping incompatible /usr/lib/libext2fs.so when searching for
-lext2fs
/usr/bin/ld: skipping incompatible /usr/lib/libext2fs.a when searching for
-lext2fs
/usr/bin/ld: cannot find -lext2fs
collect2: ld returned 1 exit status
make[4]: *** [llverfs] Error 1
make[4]: Leaving directory `/scr2/src/lustre-1.4.7.3/lustre/utils''
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/scr2/src/lustre-1.4.7.3/lustre/utils''
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/scr2/src/lustre-1.4.7.3/lustre''
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/scr2/src/lustre-1.4.7.3''
make: *** [all] Error 2
It was suggested I needed to compile a version of e2fsprogs from lustre itself
which I have tried to do , as you can see from the listing below it is not
happy, any suggestions would be very welcome .
CC prof_err.c
CC pass6.c
pass6.c: In function `lfsck_get_last_id'':
pass6.c:738: warning: implicit declaration of function `ext2fs_swab64''
CC lfsck_common.c
lfsck_common.c: In function `cputole_mds_hdr'':
lfsck_common.c:184: warning: implicit declaration of function
`ext2fs_swab64''
LD e2fsck.static
pass6.o(.text+0x1894): In function `lfsck_set_last_id'':
/usr/src/lustre-1.4.7.3/e2fsprogs-1.39.cfs1/e2fsck/pass6.c:771: undefined
reference to `ext2fs_swab64''
pass6.o(.text+0x2b58): In function `e2fsck_pass6_ost'':
/usr/src/lustre-1.4.7.3/e2fsprogs-1.39.cfs1/e2fsck/pass6.c:738: undefined
reference to `ext2fs_swab64''
lfsck_common.o(.text+0x54c): In function `cputole_mds_hdr'':
/usr/src/lustre-1.4.7.3/e2fsprogs-1.39.cfs1/e2fsck/lfsck_common.c:184: undefined
reference to `ext2fs_swab64''
lfsck_common.o(.text+0x56c):/usr/src/lustre-1.4.7.3/e2fsprogs-1.39.cfs1/e2fsck/lfsck_common.c:185:
undefined reference to `ext2fs_swab64''
lfsck_common.o(.text+0x58c):/usr/src/lustre-1.4.7.3/e2fsprogs-1.39.cfs1/e2fsck/lfsck_common.c:186:
undefined reference to `ext2fs_swab64''
lfsck_common.o(.text+0x5a8):/usr/src/lustre-1.4.7.3/e2fsprogs-1.39.cfs1/e2fsck/lfsck_common.c:187:
more undefined references to `ext2fs_swab64'' follow
collect2: ld returned 1 exit status
make[2]: *** [e2fsck.static] Error 1
make[2]: Leaving directory
`/scr2/src/lustre-1.4.7.3/e2fsprogs-1.39.cfs1/e2fsck''
make[1]: *** [all-progs-recursive] Error 1
make[1]: Leaving directory
`/scr2/src/lustre-1.4.7.3/e2fsprogs-1.39.cfs1''
make: *** [all] Error 2
Thanks for any help ...prod....:-)
Arun
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
http://mail.clusterfs.com/pipermail/lustre-discuss/attachments/20061128/23e765d7/attachment.html
Jean-Marc Saffroy
2006-Nov-28 11:28 UTC
[Lustre-discuss] Please help!! PPC64 compiling failure
On Tue, 28 Nov 2006, tagarsi, arun wrote:> It was suggested I needed to compile a version of e2fsprogs from lustre > itself which I have tried to do , as you can see from the listing below > it is not happy, any suggestions would be very welcome . > > CC prof_err.c > CC pass6.c > pass6.c: In function `lfsck_get_last_id'': > pass6.c:738: warning: implicit declaration of function `ext2fs_swab64'' > CC lfsck_common.c > lfsck_common.c: In function `cputole_mds_hdr'': > lfsck_common.c:184: warning: implicit declaration of function `ext2fs_swab64'' > LD e2fsck.static > pass6.o(.text+0x1894): In function `lfsck_set_last_id'': > /usr/src/lustre-1.4.7.3/e2fsprogs-1.39.cfs1/e2fsck/pass6.c:771: undefined reference to `ext2fs_swab64'' > pass6.o(.text+0x2b58): In function `e2fsck_pass6_ost'': > /usr/src/lustre-1.4.7.3/e2fsprogs-1.39.cfs1/e2fsck/pass6.c:738: undefined reference to `ext2fs_swab64'' > lfsck_common.o(.text+0x54c): In function `cputole_mds_hdr'': > /usr/src/lustre-1.4.7.3/e2fsprogs-1.39.cfs1/e2fsck/lfsck_common.c:184: undefined reference to `ext2fs_swab64'' > lfsck_common.o(.text+0x56c):/usr/src/lustre-1.4.7.3/e2fsprogs-1.39.cfs1/e2fsck/lfsck_common.c:185: undefined reference to `ext2fs_swab64'' > lfsck_common.o(.text+0x58c):/usr/src/lustre-1.4.7.3/e2fsprogs-1.39.cfs1/e2fsck/lfsck_common.c:186: undefined reference to `ext2fs_swab64'' > lfsck_common.o(.text+0x5a8):/usr/src/lustre-1.4.7.3/e2fsprogs-1.39.cfs1/e2fsck/lfsck_common.c:187: more undefined references to `ext2fs_swab64'' follow > collect2: ld returned 1 exit status > make[2]: *** [e2fsck.static] Error 1 > make[2]: Leaving directory `/scr2/src/lustre-1.4.7.3/e2fsprogs-1.39.cfs1/e2fsck'' > make[1]: *** [all-progs-recursive] Error 1 > make[1]: Leaving directory `/scr2/src/lustre-1.4.7.3/e2fsprogs-1.39.cfs1'' > make: *** [all] Error 2 > > > Thanks for any help ...prod....:-)You may need the patch below. -- Jean-Marc Saffroy - jean-marc.saffroy@ext.bull.net Index: e2fsprogs-source/lib/ext2fs/bitops.h diff -u e2fsprogs-source/lib/ext2fs/bitops.h:1.1.1.3 e2fsprogs-source/lib/ext2fs/bitops.h:1.1.1.3.4.1 --- e2fsprogs-source/lib/ext2fs/bitops.h:1.1.1.3 Fri Nov 17 20:15:03 2006 +++ e2fsprogs-source/lib/ext2fs/bitops.h Mon Nov 20 15:12:13 2006 @@ -351,6 +351,12 @@ ((val<<8)&0xFF0000) | (val<<24)); } +_INLINE_ __u64 ext2fs_swab64(__u64 val) +{ + return (ext2fs_swab32(val >> 32) | + (((__u64)ext2fs_swab32(val & 0xFFFFFFFFUL)) << 32)); +} + #endif /* !_EXT2_HAVE_ASM_SWAB */ #if !defined(_EXT2_HAVE_ASM_FINDBIT_)
tagarsi, arun
2006-Nov-29 02:45 UTC
[Lustre-discuss] Please help!! PPC64 compiling failure
Hello Jean-Marc
Thanks for the patch , that did fix it, many thanks. It seems I may have other
issues as it then breaks further on :-(.
CC lfsck_common.c
LD e2fsck.static
CP e2fsck
CC lfsck.c
lfsck.c: In function `get_response'':
lfsck.c:1553: warning: comparison is always false due to limited range of data
type
LD lfsck
cc -pthread -I /usr/src/lustre/lustre/include -Wall lfsck_common.o lfsck.o -o
lfsck -L /usr/src/lustre/lustre/utils -llustreapi ../lib/libext2fs.a
../lib/libcom_err.a ../lib/libblkid.a ../lib/libuuid.a -ldb-4.2
/usr/bin/ld: skipping incompatible /usr/src/lustre/lustre/utils/liblustreapi.a
when searching for -llustreapi
/usr/bin/ld: cannot find -llustreapi
collect2: ld returned 1 exit status
make[2]: *** [lfsck] Error 1
make[2]: Leaving directory
`/scr2/src/lustre-1.4.7.3/e2fsprogs-1.39.cfs1/e2fsck''
make[1]: *** [all-progs-recursive] Error 1
make[1]: Leaving directory
`/scr2/src/lustre-1.4.7.3/e2fsprogs-1.39.cfs1''
make: *** [all] Error 2
I can locate the lusterapi , I have the source for the e2fsprogs in the main
directory of the lustre-1.4.7.3 source.
[root@r210n055 e2fsprogs-1.39.cfs1]# locate lustreapi
/scr2/src/lustre-1.4.7.3/lustre/include/lustre/liblustreapi.h
/scr2/src/lustre-1.4.7.3/lustre/utils/liblustreapi.c
/scr2/src/lustre-1.4.7.3/lustre/utils/liblustreapi.a
/scr2/src/lustre-1.4.7.3/lustre/utils/.deps/liblustreapi.Po
/scr2/src/lustre-1.4.7.3/lustre/utils/liblustreapi.o
Do I have to set up my environments in some way to enable the make to find all
the relevant libraries/ headers ?
Thanks
Arun
-----Original Message-----
From: Jean-Marc Saffroy [mailto:jean-marc.saffroy@ext.bull.net]
Sent: Tuesday, November 28, 2006 6:29 PM
To: tagarsi, arun
Cc: lustre-discuss@clusterfs.com
Subject: Re: [Lustre-discuss] Please help!! PPC64 compiling failure
On Tue, 28 Nov 2006, tagarsi, arun wrote:
> It was suggested I needed to compile a version of e2fsprogs from lustre
> itself which I have tried to do , as you can see from the listing below
> it is not happy, any suggestions would be very welcome .
>
> CC prof_err.c
> CC pass6.c
> pass6.c: In function `lfsck_get_last_id'':
> pass6.c:738: warning: implicit declaration of function
`ext2fs_swab64''
> CC lfsck_common.c
> lfsck_common.c: In function `cputole_mds_hdr'':
> lfsck_common.c:184: warning: implicit declaration of function
`ext2fs_swab64''
> LD e2fsck.static
> pass6.o(.text+0x1894): In function `lfsck_set_last_id'':
> /usr/src/lustre-1.4.7.3/e2fsprogs-1.39.cfs1/e2fsck/pass6.c:771: undefined
reference to `ext2fs_swab64''
> pass6.o(.text+0x2b58): In function `e2fsck_pass6_ost'':
> /usr/src/lustre-1.4.7.3/e2fsprogs-1.39.cfs1/e2fsck/pass6.c:738: undefined
reference to `ext2fs_swab64''
> lfsck_common.o(.text+0x54c): In function `cputole_mds_hdr'':
> /usr/src/lustre-1.4.7.3/e2fsprogs-1.39.cfs1/e2fsck/lfsck_common.c:184:
undefined reference to `ext2fs_swab64''
>
lfsck_common.o(.text+0x56c):/usr/src/lustre-1.4.7.3/e2fsprogs-1.39.cfs1/e2fsck/lfsck_common.c:185:
undefined reference to `ext2fs_swab64''
>
lfsck_common.o(.text+0x58c):/usr/src/lustre-1.4.7.3/e2fsprogs-1.39.cfs1/e2fsck/lfsck_common.c:186:
undefined reference to `ext2fs_swab64''
>
lfsck_common.o(.text+0x5a8):/usr/src/lustre-1.4.7.3/e2fsprogs-1.39.cfs1/e2fsck/lfsck_common.c:187:
more undefined references to `ext2fs_swab64'' follow
> collect2: ld returned 1 exit status
> make[2]: *** [e2fsck.static] Error 1
> make[2]: Leaving directory
`/scr2/src/lustre-1.4.7.3/e2fsprogs-1.39.cfs1/e2fsck''
> make[1]: *** [all-progs-recursive] Error 1
> make[1]: Leaving directory
`/scr2/src/lustre-1.4.7.3/e2fsprogs-1.39.cfs1''
> make: *** [all] Error 2
>
>
> Thanks for any help ...prod....:-)
You may need the patch below.
--
Jean-Marc Saffroy - jean-marc.saffroy@ext.bull.net
Index: e2fsprogs-source/lib/ext2fs/bitops.h
diff -u e2fsprogs-source/lib/ext2fs/bitops.h:1.1.1.3
e2fsprogs-source/lib/ext2fs/bitops.h:1.1.1.3.4.1
--- e2fsprogs-source/lib/ext2fs/bitops.h:1.1.1.3 Fri Nov 17 20:15:03 2006
+++ e2fsprogs-source/lib/ext2fs/bitops.h Mon Nov 20 15:12:13 2006
@@ -351,6 +351,12 @@
((val<<8)&0xFF0000) | (val<<24));
}
+_INLINE_ __u64 ext2fs_swab64(__u64 val)
+{
+ return (ext2fs_swab32(val >> 32) |
+ (((__u64)ext2fs_swab32(val & 0xFFFFFFFFUL)) << 32));
+}
+
#endif /* !_EXT2_HAVE_ASM_SWAB */
#if !defined(_EXT2_HAVE_ASM_FINDBIT_)
Jean-Marc Saffroy
2006-Nov-29 07:54 UTC
[Lustre-discuss] Please help!! PPC64 compiling failure
On Wed, 29 Nov 2006, tagarsi, arun wrote:> LD lfsck > cc -pthread -I /usr/src/lustre/lustre/include -Wall lfsck_common.o lfsck.o -o lfsck -L /usr/src/lustre/lustre/utils -llustreapi ../lib/libext2fs.a ../lib/libcom_err.a ../lib/libblkid.a ../lib/libuuid.a -ldb-4.2 > /usr/bin/ld: skipping incompatible /usr/src/lustre/lustre/utils/liblustreapi.a when searching for -llustreapi > /usr/bin/ld: cannot find -llustreapi > collect2: ld returned 1 exit status > make[2]: *** [lfsck] Error 1 > make[2]: Leaving directory `/scr2/src/lustre-1.4.7.3/e2fsprogs-1.39.cfs1/e2fsck'' > make[1]: *** [all-progs-recursive] Error 1 > make[1]: Leaving directory `/scr2/src/lustre-1.4.7.3/e2fsprogs-1.39.cfs1'' > make: *** [all] Error 2 > > > I can locate the lusterapi , I have the source for the e2fsprogs in the > main directory of the lustre-1.4.7.3 source. > > [root@r210n055 e2fsprogs-1.39.cfs1]# locate lustreapi > /scr2/src/lustre-1.4.7.3/lustre/include/lustre/liblustreapi.h > /scr2/src/lustre-1.4.7.3/lustre/utils/liblustreapi.c > /scr2/src/lustre-1.4.7.3/lustre/utils/liblustreapi.a > /scr2/src/lustre-1.4.7.3/lustre/utils/.deps/liblustreapi.Po > /scr2/src/lustre-1.4.7.3/lustre/utils/liblustreapi.o > > > Do I have to set up my environments in some way to enable the make to find all the relevant libraries/ headers ?Did you use --with-lustre=/scr2/src/lustre-1.4.7.3/ with the e2fsprogs configure? -- Jean-Marc Saffroy - jean-marc.saffroy@ext.bull.net
tagarsi, arun
2006-Nov-29 08:22 UTC
[Lustre-discuss] Please help!! PPC64 compiling failure
Hello Jean-Marc,
Yes I tried that , what I do not understand is why it complains
of :---
/usr/bin/ld: skipping incompatible /usr/src/lustre/lustre/utils/liblustreapi.a
May be I need to get the utils built first? but then I am back to why the utils
fails with :--
make[3]: Leaving directory `/scr2/src/lustre-1.4.7.3/lustre/obdecho''
Making all in doc
make[3]: Entering directory `/scr2/src/lustre-1.4.7.3/lustre/doc''
make[3]: Nothing to be done for `all''.
make[3]: Leaving directory `/scr2/src/lustre-1.4.7.3/lustre/doc''
Making all in utils
make[3]: Entering directory `/scr2/src/lustre-1.4.7.3/lustre/utils''
Making all in Lustre
make[4]: Entering directory
`/scr2/src/lustre-1.4.7.3/lustre/utils/Lustre''
make[4]: Nothing to be done for `all''.
make[4]: Leaving directory
`/scr2/src/lustre-1.4.7.3/lustre/utils/Lustre''
make[4]: Entering directory `/scr2/src/lustre-1.4.7.3/lustre/utils''
gcc -m64 -g -Wall -fPIC -g -O2 -L../../lnet/utils -o llverfs llverfs.o
-lext2fs -le2p
/usr/bin/ld: skipping incompatible
/usr/lib/gcc/ppc64-redhat-linux/3.4.6/../../../libext2fs.so when searching for
-lext2fs
/usr/bin/ld: skipping incompatible
/usr/lib/gcc/ppc64-redhat-linux/3.4.6/../../../libext2fs.a when searching for
-lext2fs
/usr/bin/ld: skipping incompatible /usr/lib/libext2fs.so when searching for
-lext2fs
/usr/bin/ld: skipping incompatible /usr/lib/libext2fs.a when searching for
-lext2fs
/usr/bin/ld: cannot find -lext2fs
collect2: ld returned 1 exit status
make[4]: *** [llverfs] Error 1
make[4]: Leaving directory `/scr2/src/lustre-1.4.7.3/lustre/utils''
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/scr2/src/lustre-1.4.7.3/lustre/utils''
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/scr2/src/lustre-1.4.7.3/lustre''
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/scr2/src/lustre-1.4.7.3''P
Boy this is hard to get compiled , the configure before the make does not give
any clues to possible problems :-), I am not sure what to do next.
I wondered why Lustre have not prebuilt RPM''s for PPC64 , maybe Redhat
support is just to much trouble :-), they seem to have the INTEL RPMS to hand.
Thanks
Arun
-----Original Message-----
From: Jean-Marc Saffroy [mailto:jean-marc.saffroy@ext.bull.net]
Sent: Wednesday, November 29, 2006 2:55 PM
To: tagarsi, arun
Cc: lustre-discuss@clusterfs.com
Subject: RE: [Lustre-discuss] Please help!! PPC64 compiling failure
On Wed, 29 Nov 2006, tagarsi, arun wrote:
> LD lfsck
> cc -pthread -I /usr/src/lustre/lustre/include -Wall lfsck_common.o lfsck.o
-o lfsck -L /usr/src/lustre/lustre/utils -llustreapi ../lib/libext2fs.a
../lib/libcom_err.a ../lib/libblkid.a ../lib/libuuid.a -ldb-4.2
> /usr/bin/ld: skipping incompatible
/usr/src/lustre/lustre/utils/liblustreapi.a when searching for -llustreapi
> /usr/bin/ld: cannot find -llustreapi
> collect2: ld returned 1 exit status
> make[2]: *** [lfsck] Error 1
> make[2]: Leaving directory
`/scr2/src/lustre-1.4.7.3/e2fsprogs-1.39.cfs1/e2fsck''
> make[1]: *** [all-progs-recursive] Error 1
> make[1]: Leaving directory
`/scr2/src/lustre-1.4.7.3/e2fsprogs-1.39.cfs1''
> make: *** [all] Error 2
>
>
> I can locate the lusterapi , I have the source for the e2fsprogs in the
> main directory of the lustre-1.4.7.3 source.
>
> [root@r210n055 e2fsprogs-1.39.cfs1]# locate lustreapi
> /scr2/src/lustre-1.4.7.3/lustre/include/lustre/liblustreapi.h
> /scr2/src/lustre-1.4.7.3/lustre/utils/liblustreapi.c
> /scr2/src/lustre-1.4.7.3/lustre/utils/liblustreapi.a
> /scr2/src/lustre-1.4.7.3/lustre/utils/.deps/liblustreapi.Po
> /scr2/src/lustre-1.4.7.3/lustre/utils/liblustreapi.o
>
>
> Do I have to set up my environments in some way to enable the make to find
all the relevant libraries/ headers ?
Did you use --with-lustre=/scr2/src/lustre-1.4.7.3/ with the e2fsprogs
configure?
--
Jean-Marc Saffroy - jean-marc.saffroy@ext.bull.net
Jean-Marc Saffroy
2006-Nov-29 08:48 UTC
[Lustre-discuss] Please help!! PPC64 compiling failure
On Wed, 29 Nov 2006, tagarsi, arun wrote:> Hello Jean-Marc, > Yes I tried that , what I do not understand is why it > complains of :--- > > /usr/bin/ld: skipping incompatible /usr/src/lustre/lustre/utils/liblustreapi.a > > May be I need to get the utils built first? but then I am back to why > the utils fails with :--Yes, Lustre should be built first, then e2fsprogs. Maybe you should check that both Lustre and e2fsprogs are built with -m64? Anyway you may have other problems with lfsck after that, see: https://bugzilla.lustre.org/show_bug.cgi?id=10626 -- Jean-Marc Saffroy - jean-marc.saffroy@ext.bull.net
tagarsi, arun
2006-Nov-29 09:47 UTC
[Lustre-discuss] Please help!! PPC64 compiling failure
I am back to trying to understand the failure shown below then , gcc -m64 -g -Wall -fPIC -g -O2 -L../../lnet/utils -o wirecheck wirecheck-wirecheck.o if gcc -m64 -DHAVE_CONFIG_H -I. -I. -I../.. -D__arch_lib__ -D_LARGEFILE64_SOURCE=1 -DLUSTRE_UTILS=1 -include ../../config.h -I../../lnet/include -I../../lnet/include -I../../lustre/include -I../../lustre/include -g -Wall -fPIC -g -O2 -MT wiretest.o -MD -MP -MF ".deps/wiretest.Tpo" \ -c -o wiretest.o `test -f ''wiretest.c'' || echo ''./''`wiretest.c; \ then mv -f ".deps/wiretest.Tpo" ".deps/wiretest.Po"; \ else rm -f ".deps/wiretest.Tpo"; exit 1; \ fi gcc -m64 -g -Wall -fPIC -g -O2 -L../../lnet/utils -o wiretest wiretest.o if gcc -m64 -DHAVE_CONFIG_H -I. -I. -I../.. -D__arch_lib__ -D_LARGEFILE64_SOURCE=1 -DLUSTRE_UTILS=1 -include ../../config.h -I../../lnet/include -I../../lnet/include -I../../lustre/include -I../../lustre/include -g -O2 -MT llmount-llmount.o -MD -MP -MF ".deps/llmount-llmount.Tpo" \ -c -o llmount-llmount.o `test -f ''llmount.c'' || echo ''./''`llmount.c; \ then mv -f ".deps/llmount-llmount.Tpo" ".deps/llmount-llmount.Po"; \ else rm -f ".deps/llmount-llmount.Tpo"; exit 1; \ fi gcc -m64 -g -Wall -fPIC -g -O2 -L../../lnet/utils -o llmount llmount-llmount.o ../../lnet/utils/libptlctl.a if gcc -m64 -DHAVE_CONFIG_H -I. -I. -I../.. -D__arch_lib__ -D_LARGEFILE64_SOURCE=1 -DLUSTRE_UTILS=1 -include ../../config.h -I../../lnet/include -I../../lnet/include -I../../lustre/include -I../../lustre/include -g -Wall -fPIC -g -O2 -MT l_getgroups.o -MD -MP -MF ".deps/l_getgroups.Tpo" \ -c -o l_getgroups.o `test -f ''l_getgroups.c'' || echo ''./''`l_getgroups.c; \ then mv -f ".deps/l_getgroups.Tpo" ".deps/l_getgroups.Po"; \ else rm -f ".deps/l_getgroups.Tpo"; exit 1; \ fi gcc -m64 -g -Wall -fPIC -g -O2 -L../../lnet/utils -o l_getgroups l_getgroups.o if gcc -m64 -DHAVE_CONFIG_H -I. -I. -I../.. -D__arch_lib__ -D_LARGEFILE64_SOURCE=1 -DLUSTRE_UTILS=1 -include ../../config.h -I../../lnet/include -I../../lnet/include -I../../lustre/include -I../../lustre/include -g -Wall -fPIC -g -O2 -MT llverfs.o -MD -MP -MF ".deps/llverfs.Tpo" \ -c -o llverfs.o `test -f ''llverfs.c'' || echo ''./''`llverfs.c; \ then mv -f ".deps/llverfs.Tpo" ".deps/llverfs.Po"; \ else rm -f ".deps/llverfs.Tpo"; exit 1; \ fi llverfs.c: In function `main'': llverfs.c:469: warning: comparison is always true due to limited range of data type gcc -m64 -g -Wall -fPIC -g -O2 -L../../lnet/utils -o llverfs llverfs.o -lext2fs -le2p /usr/bin/ld: skipping incompatible /usr/lib/gcc/ppc64-redhat-linux/3.4.6/../../../libext2fs.so when searching for -lext2fs /usr/bin/ld: skipping incompatible /usr/lib/gcc/ppc64-redhat-linux/3.4.6/../../../libext2fs.a when searching for -lext2fs /usr/bin/ld: skipping incompatible /usr/lib/libext2fs.so when searching for -lext2fs /usr/bin/ld: skipping incompatible /usr/lib/libext2fs.a when searching for -lext2fs /usr/bin/ld: cannot find -lext2fs collect2: ld returned 1 exit status make[4]: *** [llverfs] Error 1 make[4]: Leaving directory `/scr2/src/lustre-1.4.7.3/lustre/utils'' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/scr2/src/lustre-1.4.7.3/lustre/utils'' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/scr2/src/lustre-1.4.7.3/lustre'' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/scr2/src/lustre-1.4.7.3'' make: *** [all] Error 2 By the way if I ignore the lfsck in the e2fsprogs make it does allow it to finish. I wonder what the hack to force compile the e2fsprogs is as it is mentioned in the bug report as hacking a m4 file...hacking it how as the only file I can see is aclocal.m4. Thanks for all your help Arun -----Original Message----- From: Jean-Marc Saffroy [mailto:jean-marc.saffroy@ext.bull.net] Sent: Wednesday, November 29, 2006 3:48 PM To: tagarsi, arun Cc: lustre-discuss@clusterfs.com Subject: RE: [Lustre-discuss] Please help!! PPC64 compiling failure On Wed, 29 Nov 2006, tagarsi, arun wrote:> Hello Jean-Marc, > Yes I tried that , what I do not understand is why it > complains of :--- > > /usr/bin/ld: skipping incompatible /usr/src/lustre/lustre/utils/liblustreapi.a > > May be I need to get the utils built first? but then I am back to why > the utils fails with :--Yes, Lustre should be built first, then e2fsprogs. Maybe you should check that both Lustre and e2fsprogs are built with -m64? Anyway you may have other problems with lfsck after that, see: https://bugzilla.lustre.org/show_bug.cgi?id=10626 -- Jean-Marc Saffroy - jean-marc.saffroy@ext.bull.net
tagarsi, arun wrote:>I am back to trying to understand the failure shown below then , > >gcc -m64 -g -Wall -fPIC -g -O2 -L../../lnet/utils -o wirecheck wirecheck-wirecheck.o >if gcc -m64 -DHAVE_CONFIG_H -I. -I. -I../.. -D__arch_lib__ -D_LARGEFILE64_SOURCE=1 -DLUSTRE_UTILS=1 -include ../../config.h -I../../lnet/include -I../../lnet/include -I../../lustre/include -I../../lustre/include -g -Wall -fPIC -g -O2 -MT wiretest.o -MD -MP -MF ".deps/wiretest.Tpo" \ > -c -o wiretest.o `test -f ''wiretest.c'' || echo ''./''`wiretest.c; \ >then mv -f ".deps/wiretest.Tpo" ".deps/wiretest.Po"; \ >else rm -f ".deps/wiretest.Tpo"; exit 1; \ >fi >gcc -m64 -g -Wall -fPIC -g -O2 -L../../lnet/utils -o wiretest wiretest.o >if gcc -m64 -DHAVE_CONFIG_H -I. -I. -I../.. -D__arch_lib__ -D_LARGEFILE64_SOURCE=1 -DLUSTRE_UTILS=1 -include ../../config.h -I../../lnet/include -I../../lnet/include -I../../lustre/include -I../../lustre/include -g -O2 -MT llmount-llmount.o -MD -MP -MF ".deps/llmount-llmount.Tpo" \ > -c -o llmount-llmount.o `test -f ''llmount.c'' || echo ''./''`llmount.c; \ >then mv -f ".deps/llmount-llmount.Tpo" ".deps/llmount-llmount.Po"; \ >else rm -f ".deps/llmount-llmount.Tpo"; exit 1; \ >fi >gcc -m64 -g -Wall -fPIC -g -O2 -L../../lnet/utils -o llmount llmount-llmount.o ../../lnet/utils/libptlctl.a >if gcc -m64 -DHAVE_CONFIG_H -I. -I. -I../.. -D__arch_lib__ -D_LARGEFILE64_SOURCE=1 -DLUSTRE_UTILS=1 -include ../../config.h -I../../lnet/include -I../../lnet/include -I../../lustre/include -I../../lustre/include -g -Wall -fPIC -g -O2 -MT l_getgroups.o -MD -MP -MF ".deps/l_getgroups.Tpo" \ > -c -o l_getgroups.o `test -f ''l_getgroups.c'' || echo ''./''`l_getgroups.c; \ >then mv -f ".deps/l_getgroups.Tpo" ".deps/l_getgroups.Po"; \ >else rm -f ".deps/l_getgroups.Tpo"; exit 1; \ >fi >gcc -m64 -g -Wall -fPIC -g -O2 -L../../lnet/utils -o l_getgroups l_getgroups.o >if gcc -m64 -DHAVE_CONFIG_H -I. -I. -I../.. -D__arch_lib__ -D_LARGEFILE64_SOURCE=1 -DLUSTRE_UTILS=1 -include ../../config.h -I../../lnet/include -I../../lnet/include -I../../lustre/include -I../../lustre/include -g -Wall -fPIC -g -O2 -MT llverfs.o -MD -MP -MF ".deps/llverfs.Tpo" \ > -c -o llverfs.o `test -f ''llverfs.c'' || echo ''./''`llverfs.c; \ >then mv -f ".deps/llverfs.Tpo" ".deps/llverfs.Po"; \ >else rm -f ".deps/llverfs.Tpo"; exit 1; \ >fi >llverfs.c: In function `main'': >llverfs.c:469: warning: comparison is always true due to limited range of data type >gcc -m64 -g -Wall -fPIC -g -O2 -L../../lnet/utils -o llverfs llverfs.o -lext2fs -le2p >/usr/bin/ld: skipping incompatible /usr/lib/gcc/ppc64-redhat-linux/3.4.6/../../../libext2fs.so when searching for -lext2fs >/usr/bin/ld: skipping incompatible /usr/lib/gcc/ppc64-redhat-linux/3.4.6/../../../libext2fs.a when searching for -lext2fs >/usr/bin/ld: skipping incompatible /usr/lib/libext2fs.so when searching for -lext2fs >/usr/bin/ld: skipping incompatible /usr/lib/libext2fs.a when searching for -lext2fs >/usr/bin/ld: cannot find -lext2fs >collect2: ld returned 1 exit status >make[4]: *** [llverfs] Error 1 >make[4]: Leaving directory `/scr2/src/lustre-1.4.7.3/lustre/utils'' >make[3]: *** [all-recursive] Error 1 >make[3]: Leaving directory `/scr2/src/lustre-1.4.7.3/lustre/utils'' >make[2]: *** [all-recursive] Error 1 >make[2]: Leaving directory `/scr2/src/lustre-1.4.7.3/lustre'' >make[1]: *** [all-recursive] Error 1 >make[1]: Leaving directory `/scr2/src/lustre-1.4.7.3'' >make: *** [all] Error 2 > > >By the way if I ignore the lfsck in the e2fsprogs make it does allow it to finish. I wonder what the hack to force compile the e2fsprogs is as it is mentioned in the bug report as hacking a m4 file...hacking it how as the only file I can see is aclocal.m4. > >The following patch would disable build for ''llverfs'' and ''llverdev'', then you can finish building liblustreapi.a: Index: Makefile.am ==================================================================RCS file: /cvsroot/cfs/lustre-core/utils/Makefile.am,v retrieving revision 1.42.6.2.30.11.14.18 diff -r1.42.6.2.30.11.14.18 Makefile.am 17c17 < l_getgroups llverfs llverdev --- > l_getgroups #llverfs llverdev Cheers, - Lai> >Thanks for all your help > > >Arun > >-----Original Message----- >From: Jean-Marc Saffroy [mailto:jean-marc.saffroy@ext.bull.net] >Sent: Wednesday, November 29, 2006 3:48 PM >To: tagarsi, arun >Cc: lustre-discuss@clusterfs.com >Subject: RE: [Lustre-discuss] Please help!! PPC64 compiling failure > > >On Wed, 29 Nov 2006, tagarsi, arun wrote: > > > >>Hello Jean-Marc, >> Yes I tried that , what I do not understand is why it >>complains of :--- >> >>/usr/bin/ld: skipping incompatible /usr/src/lustre/lustre/utils/liblustreapi.a >> >>May be I need to get the utils built first? but then I am back to why >>the utils fails with :-- >> >> > >Yes, Lustre should be built first, then e2fsprogs. >Maybe you should check that both Lustre and e2fsprogs are built with -m64? > >Anyway you may have other problems with lfsck after that, see: > https://bugzilla.lustre.org/show_bug.cgi?id=10626 > > > >-------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.clusterfs.com/pipermail/lustre-discuss/attachments/20061130/8d6223e8/attachment.html
tagarsi, arun
2006-Nov-30 05:44 UTC
[Lustre-discuss] Please help!! PPC64 compiling failure
Thanks Lai ,
I made some more progress I think , I am not sure if I can
explain this adequately but here is what I am seeing maybe someone can point out
why this may be so . In the failure below it complains that it cannot find a
valid libext2fs.so library but checking the directories
/usr/lib I find
[root@r210n053 ~]# ls -al /usr/lib/libext2fs*
-r--r--r-- 1 root root 1015288 Nov 24 2005 /usr/lib/libext2fs.a
lrwxrwxrwx 1 root root 19 Nov 22 10:18 /usr/lib/libext2fs.so ->
/lib/libext2fs.so.2
/lib I find
[root@r210n053 ~]# ls -al /lib/libext2fs*
lrwxrwxrwx 1 root root 16 Nov 22 10:04 /lib/libext2fs.so.2 ->
libext2fs.so.2.4
-rwxr-xr-x 1 root root 120980 Nov 24 2005 /lib/libext2fs.so.2.4
Now of course I presume this a 32Bit version of the library as I find in /lib64
[root@r210n053 ~]# ls -al /lib64/libext2fs*
lrwxrwxrwx 1 root root 16 Nov 22 10:04 /lib64/libext2fs.so.2 ->
libext2fs.so.2.4
-rwxr-xr-x 1 root root 155856 Nov 24 2005 /lib64/libext2fs.so.2.4
The only way I got the make to continue was to create a link in the /usr/lib64
directory
lrwxrwxrwx 1 root root 21 Nov 29 17:14 libext2fs.so -> /lib64/libext2fs.so.2
This proves to me that somehow the environment is not as it should be , there
followed several other instances which I also had to add a link in the
/usr/lib64 directory to point to the library in /lib64 but at the end I have
another failure that points to a invalid archive file which neither the one that
exists on the system or one that came with the e2fsprogs from lustre works.
The more recent failure :-) is now
make[4]: Entering directory `/scr2/src/lustre-1.4.7.3/lustre/utils''
gcc -m64 -g -Wall -fPIC -g -O2 -L../../lnet/utils -o llverdev llverdev.o
-lext2fs -lblkid
/usr/bin/ld: skipping incompatible
/usr/lib/gcc/ppc64-redhat-linux/3.4.6/../../../libblkid.a when searching for
-lblkid
/usr/bin/ld: skipping incompatible /usr/lib/libblkid.a when searching for
-lblkid
/usr/bin/ld: cannot find -lblkid
collect2: ld returned 1 exit status
make[4]: *** [llverdev] Error 1
make[4]: Leaving directory `/scr2/src/lustre-1.4.7.3/lustre/utils''
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/scr2/src/lustre-1.4.7.3/lustre/utils''
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/scr2/src/lustre-1.4.7.3/lustre''
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/scr2/src/lustre-1.4.7.3''
make: *** [all] Error 2
[root@r210n055 lustre]#
I can find only two references to the archive and neither of these will work :-(
[root@r210n055 lustre]# locate libblkid.a
/usr/lib/libblkid.a
/scr2/src/lustre-1.4.7.3/e2fsprogs-1.39.cfs1/lib/libblkid.a
/scr2/src/lustre-1.4.7.3/e2fsprogs-1.39.cfs1/lib/blkid/libblkid.a
Thanks
Arun
-----Original Message-----
From: lustre-discuss-bounces@clusterfs.com
[mailto:lustre-discuss-bounces@clusterfs.com]On Behalf Of Lai Siyao
Sent: Thursday, November 30, 2006 7:48 AM
Cc: lustre-discuss@clusterfs.com
Subject: Re: [Lustre-discuss] Please help!! PPC64 compiling failure
tagarsi, arun wrote:
I am back to trying to understand the failure shown below then ,
gcc -m64 -g -Wall -fPIC -g -O2 -L../../lnet/utils -o wirecheck
wirecheck-wirecheck.o
if gcc -m64 -DHAVE_CONFIG_H -I. -I. -I../.. -D__arch_lib__
-D_LARGEFILE64_SOURCE=1 -DLUSTRE_UTILS=1 -include ../../config.h
-I../../lnet/include -I../../lnet/include -I../../lustre/include
-I../../lustre/include -g -Wall -fPIC -g -O2 -MT wiretest.o -MD -MP -MF
".deps/wiretest.Tpo" \
-c -o wiretest.o `test -f ''wiretest.c'' || echo
''./''`wiretest.c; \
then mv -f ".deps/wiretest.Tpo" ".deps/wiretest.Po"; \
else rm -f ".deps/wiretest.Tpo"; exit 1; \
fi
gcc -m64 -g -Wall -fPIC -g -O2 -L../../lnet/utils -o wiretest wiretest.o
if gcc -m64 -DHAVE_CONFIG_H -I. -I. -I../.. -D__arch_lib__
-D_LARGEFILE64_SOURCE=1 -DLUSTRE_UTILS=1 -include ../../config.h
-I../../lnet/include -I../../lnet/include -I../../lustre/include
-I../../lustre/include -g -O2 -MT llmount-llmount.o -MD -MP -MF
".deps/llmount-llmount.Tpo" \
-c -o llmount-llmount.o `test -f ''llmount.c'' || echo
''./''`llmount.c; \
then mv -f ".deps/llmount-llmount.Tpo"
".deps/llmount-llmount.Po"; \
else rm -f ".deps/llmount-llmount.Tpo"; exit 1; \
fi
gcc -m64 -g -Wall -fPIC -g -O2 -L../../lnet/utils -o llmount llmount-llmount.o
../../lnet/utils/libptlctl.a
if gcc -m64 -DHAVE_CONFIG_H -I. -I. -I../.. -D__arch_lib__
-D_LARGEFILE64_SOURCE=1 -DLUSTRE_UTILS=1 -include ../../config.h
-I../../lnet/include -I../../lnet/include -I../../lustre/include
-I../../lustre/include -g -Wall -fPIC -g -O2 -MT l_getgroups.o -MD -MP -MF
".deps/l_getgroups.Tpo" \
-c -o l_getgroups.o `test -f ''l_getgroups.c'' || echo
''./''`l_getgroups.c; \
then mv -f ".deps/l_getgroups.Tpo" ".deps/l_getgroups.Po"; \
else rm -f ".deps/l_getgroups.Tpo"; exit 1; \
fi
gcc -m64 -g -Wall -fPIC -g -O2 -L../../lnet/utils -o l_getgroups l_getgroups.o
if gcc -m64 -DHAVE_CONFIG_H -I. -I. -I../.. -D__arch_lib__
-D_LARGEFILE64_SOURCE=1 -DLUSTRE_UTILS=1 -include ../../config.h
-I../../lnet/include -I../../lnet/include -I../../lustre/include
-I../../lustre/include -g -Wall -fPIC -g -O2 -MT llverfs.o -MD -MP -MF
".deps/llverfs.Tpo" \
-c -o llverfs.o `test -f ''llverfs.c'' || echo
''./''`llverfs.c; \
then mv -f ".deps/llverfs.Tpo" ".deps/llverfs.Po"; \
else rm -f ".deps/llverfs.Tpo"; exit 1; \
fi
llverfs.c: In function `main'':
llverfs.c:469: warning: comparison is always true due to limited range of data
type
gcc -m64 -g -Wall -fPIC -g -O2 -L../../lnet/utils -o llverfs llverfs.o
-lext2fs -le2p
/usr/bin/ld: skipping incompatible
/usr/lib/gcc/ppc64-redhat-linux/3.4.6/../../../libext2fs.so when searching for
-lext2fs
/usr/bin/ld: skipping incompatible
/usr/lib/gcc/ppc64-redhat-linux/3.4.6/../../../libext2fs.a when searching for
-lext2fs
/usr/bin/ld: skipping incompatible /usr/lib/libext2fs.so when searching for
-lext2fs
/usr/bin/ld: skipping incompatible /usr/lib/libext2fs.a when searching for
-lext2fs
/usr/bin/ld: cannot find -lext2fs
collect2: ld returned 1 exit status
make[4]: *** [llverfs] Error 1
make[4]: Leaving directory `/scr2/src/lustre-1.4.7.3/lustre/utils''
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/scr2/src/lustre-1.4.7.3/lustre/utils''
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/scr2/src/lustre-1.4.7.3/lustre''
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/scr2/src/lustre-1.4.7.3''
make: *** [all] Error 2
By the way if I ignore the lfsck in the e2fsprogs make it does allow it to
finish. I wonder what the hack to force compile the e2fsprogs is as it is
mentioned in the bug report as hacking a m4 file...hacking it how as the only
file I can see is aclocal.m4.
The following patch would disable build for ''llverfs'' and
''llverdev'', then you can finish building liblustreapi.a:
Index: Makefile.am
==================================================================RCS file:
/cvsroot/cfs/lustre-core/utils/Makefile.am,v
retrieving revision 1.42.6.2.30.11.14.18
diff -r1.42.6.2.30.11.14.18 Makefile.am
17c17
< l_getgroups llverfs llverdev
---> l_getgroups #llverfs llverdev
Cheers,
- Lai
Thanks for all your help
Arun
-----Original Message-----
From: Jean-Marc Saffroy [ mailto:jean-marc.saffroy@ext.bull.net]
Sent: Wednesday, November 29, 2006 3:48 PM
To: tagarsi, arun
Cc: lustre-discuss@clusterfs.com
Subject: RE: [Lustre-discuss] Please help!! PPC64 compiling failure
On Wed, 29 Nov 2006, tagarsi, arun wrote:
Hello Jean-Marc,
Yes I tried that , what I do not understand is why it
complains of :---
/usr/bin/ld: skipping incompatible /usr/src/lustre/lustre/utils/liblustreapi.a
May be I need to get the utils built first? but then I am back to why
the utils fails with :--
Yes, Lustre should be built first, then e2fsprogs.
Maybe you should check that both Lustre and e2fsprogs are built with -m64?
Anyway you may have other problems with lfsck after that, see:
https://bugzilla.lustre.org/show_bug.cgi?id=10626
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
http://mail.clusterfs.com/pipermail/lustre-discuss/attachments/20061130/2e7b5d0a/attachment-0001.html
tagarsi, arun wrote:> Thanks Lai , > I made some more progress I think , I am not sure > if I can explain this adequately but here is what I am seeing maybe > someone can point out why this may be so . In the failure below it > complains that it cannot find a valid libext2fs.so library but > checking the directories > > /usr/lib I find > > [root@r210n053 ~]# ls -al /usr/lib/libext2fs* > -r--r--r-- 1 root root 1015288 Nov 24 2005 /usr/lib/libext2fs.a > lrwxrwxrwx 1 root root 19 Nov 22 10:18 /usr/lib/libext2fs.so -> > /lib/libext2fs.so.2 > > /lib I find > > [root@r210n053 ~]# ls -al /lib/libext2fs* > lrwxrwxrwx 1 root root 16 Nov 22 10:04 /lib/libext2fs.so.2 -> > libext2fs.so.2.4 > -rwxr-xr-x 1 root root 120980 Nov 24 2005 /lib/libext2fs.so.2.4 > > Now of course I presume this a 32Bit version of the library as I find > in /lib64 > > [root@r210n053 ~]# ls -al /lib64/libext2fs* > lrwxrwxrwx 1 root root 16 Nov 22 10:04 /lib64/libext2fs.so.2 -> > libext2fs.so.2.4 > -rwxr-xr-x 1 root root 155856 Nov 24 2005 /lib64/libext2fs.so.2.4 > > The only way I got the make to continue was to create a link in the > /usr/lib64 directory > > lrwxrwxrwx 1 root root 21 Nov 29 17:14 libext2fs.so -> > /lib64/libext2fs.so.2you can make sure whether /lib64 is in the search directories of gcc, to verify it, pass option -print-search-dirs to gcc> > This proves to me that somehow the environment is not as it should be > , there followed several other instances which I also had to add a > link in the /usr/lib64 directory to point to the library in /lib64 but > at the end I have another failure that points to a invalid archive > file which neither the one that exists on the system or one that came > with the e2fsprogs from lustre works. > > The more recent failure :-) is now > > > make[4]: Entering directory `/scr2/src/lustre-1.4.7.3/lustre/utils'' > gcc -m64 -g -Wall -fPIC -g -O2 -L../../lnet/utils -o llverdev > llverdev.o -lext2fs -lblkid > /usr/bin/ld: skipping incompatible > /usr/lib/gcc/ppc64-redhat-linux/3.4.6/../../../libblkid.a when > searching for -lblkid > /usr/bin/ld: skipping incompatible /usr/lib/libblkid.a when searching > for -lblkid > /usr/bin/ld: cannot find -lblkid > collect2: ld returned 1 exit status > make[4]: *** [llverdev] Error 1 > make[4]: Leaving directory `/scr2/src/lustre-1.4.7.3/lustre/utils'' > make[3]: *** [all-recursive] Error 1 > make[3]: Leaving directory `/scr2/src/lustre-1.4.7.3/lustre/utils'' > make[2]: *** [all-recursive] Error 1 > make[2]: Leaving directory `/scr2/src/lustre-1.4.7.3/lustre'' > make[1]: *** [all-recursive] Error 1 > make[1]: Leaving directory `/scr2/src/lustre-1.4.7.3'' > make: *** [all] Error 2 > [root@r210n055 lustre]# > > I can find only two references to the archive and neither of these > will work :-( > > [root@r210n055 lustre]# locate libblkid.a > /usr/lib/libblkid.a > /scr2/src/lustre-1.4.7.3/e2fsprogs-1.39.cfs1/lib/libblkid.a > /scr2/src/lustre-1.4.7.3/e2fsprogs-1.39.cfs1/lib/blkid/libblkid.ause ''objdump -f'' to see the arch of lib, and also make sure it''s in the search dirs Cheers, - wufei> > > Thanks > > Arun
tagarsi, arun
2006-Dec-01 03:40 UTC
[Lustre-discuss] Please help!! PPC64 compiling failure
Thanks wufei This made it clear as it seems the archives points to 32 bit objects , does anyone know what steps I need to take to get a fix for this ? [root@r210n055 lib]# objdump -f libblkid.a In archive libblkid.a: cache.o: file format elf32-powerpc architecture: powerpc:common, flags 0x00000011: HAS_RELOC, HAS_SYMS start address 0x00000000 dev.o: file format elf32-powerpc architecture: powerpc:common, flags 0x00000011: HAS_RELOC, HAS_SYMS start address 0x00000000 devname.o: file format elf32-powerpc architecture: powerpc:common, flags 0x00000011: HAS_RELOC, HAS_SYMS start address 0x00000000 Snip <> Thanks Arun -----Original Message----- From: wufei [mailto:wufei@clusterfs.com] Sent: Friday, December 01, 2006 2:34 AM To: tagarsi, arun Cc: Lai Siyao; lustre-discuss@clusterfs.com Subject: Re: [Lustre-discuss] Please help!! PPC64 compiling failure tagarsi, arun wrote:> Thanks Lai , > I made some more progress I think , I am not sure > if I can explain this adequately but here is what I am seeing maybe > someone can point out why this may be so . In the failure below it > complains that it cannot find a valid libext2fs.so library but > checking the directories > > /usr/lib I find > > [root@r210n053 ~]# ls -al /usr/lib/libext2fs* > -r--r--r-- 1 root root 1015288 Nov 24 2005 /usr/lib/libext2fs.a > lrwxrwxrwx 1 root root 19 Nov 22 10:18 /usr/lib/libext2fs.so -> > /lib/libext2fs.so.2 > > /lib I find > > [root@r210n053 ~]# ls -al /lib/libext2fs* > lrwxrwxrwx 1 root root 16 Nov 22 10:04 /lib/libext2fs.so.2 -> > libext2fs.so.2.4 > -rwxr-xr-x 1 root root 120980 Nov 24 2005 /lib/libext2fs.so.2.4 > > Now of course I presume this a 32Bit version of the library as I find > in /lib64 > > [root@r210n053 ~]# ls -al /lib64/libext2fs* > lrwxrwxrwx 1 root root 16 Nov 22 10:04 /lib64/libext2fs.so.2 -> > libext2fs.so.2.4 > -rwxr-xr-x 1 root root 155856 Nov 24 2005 /lib64/libext2fs.so.2.4 > > The only way I got the make to continue was to create a link in the > /usr/lib64 directory > > lrwxrwxrwx 1 root root 21 Nov 29 17:14 libext2fs.so -> > /lib64/libext2fs.so.2you can make sure whether /lib64 is in the search directories of gcc, to verify it, pass option -print-search-dirs to gcc> > This proves to me that somehow the environment is not as it should be > , there followed several other instances which I also had to add a > link in the /usr/lib64 directory to point to the library in /lib64 but > at the end I have another failure that points to a invalid archive > file which neither the one that exists on the system or one that came > with the e2fsprogs from lustre works. > > The more recent failure :-) is now > > > make[4]: Entering directory `/scr2/src/lustre-1.4.7.3/lustre/utils'' > gcc -m64 -g -Wall -fPIC -g -O2 -L../../lnet/utils -o llverdev > llverdev.o -lext2fs -lblkid > /usr/bin/ld: skipping incompatible > /usr/lib/gcc/ppc64-redhat-linux/3.4.6/../../../libblkid.a when > searching for -lblkid > /usr/bin/ld: skipping incompatible /usr/lib/libblkid.a when searching > for -lblkid > /usr/bin/ld: cannot find -lblkid > collect2: ld returned 1 exit status > make[4]: *** [llverdev] Error 1 > make[4]: Leaving directory `/scr2/src/lustre-1.4.7.3/lustre/utils'' > make[3]: *** [all-recursive] Error 1 > make[3]: Leaving directory `/scr2/src/lustre-1.4.7.3/lustre/utils'' > make[2]: *** [all-recursive] Error 1 > make[2]: Leaving directory `/scr2/src/lustre-1.4.7.3/lustre'' > make[1]: *** [all-recursive] Error 1 > make[1]: Leaving directory `/scr2/src/lustre-1.4.7.3'' > make: *** [all] Error 2 > [root@r210n055 lustre]# > > I can find only two references to the archive and neither of these > will work :-( > > [root@r210n055 lustre]# locate libblkid.a > /usr/lib/libblkid.a > /scr2/src/lustre-1.4.7.3/e2fsprogs-1.39.cfs1/lib/libblkid.a > /scr2/src/lustre-1.4.7.3/e2fsprogs-1.39.cfs1/lib/blkid/libblkid.ause ''objdump -f'' to see the arch of lib, and also make sure it''s in the search dirs Cheers, - wufei> > > Thanks > > Arun