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
[EMAIL PROTECTED] ~]# 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
[EMAIL PROTECTED] ~]# 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
[EMAIL PROTECTED] ~]# 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
[EMAIL PROTECTED] lustre]#
I can find only two references to the archive and neither of these will work :-(
[EMAIL PROTECTED] 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: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Lai Siyao
Sent: Thursday, November 30, 2006 7:48 AM
Cc: [email protected]
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:[EMAIL PROTECTED]
Sent: Wednesday, November 29, 2006 3:48 PM
To: tagarsi, arun
Cc: [email protected]
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
_______________________________________________
Lustre-discuss mailing list
[email protected]
https://mail.clusterfs.com/mailman/listinfo/lustre-discuss