Thanks for your mail,

                   disabling llverdev and llverfs still gets me no further , 
the compile still is looking for a 64bit version of the libblkid.a. It seems I 
have to build e2fsprogs first!!!

To build the e2fsprogs in 64bit I had to do the following, again I am not sure 
if this is ok to do or not but it was the only way to get the e2fsprogs to 
compile properly and create the libblkid.a file needed to complete the build of 
lustre 

Compile in 64bit the e2fsprogs fails with 

./configure --disable-lfsck CC='cc -m64'

Then make I get the following result :-( 


        CC mke2fs.c
        CC util.c
        LD mke2fs
        CC badblocks.c
In file included from ../lib/ext2fs/ext2_fs.h:19,
                 from badblocks.c:55:
../lib/ext2fs/ext2_types.h:98: error: conflicting types for '__u64'
/usr/include/asm-ppc64/types.h:36: error: previous declaration of '__u64' was 
here
../lib/ext2fs/ext2_types.h:114: error: conflicting types for '__s64'
/usr/include/asm-ppc64/types.h:35: error: previous declaration of '__s64' was 
here
make[2]: *** [badblocks.o] Error 1
make[2]: Leaving directory `/scr2/src/lustre-1.4.7.3/e2fsprogs-1.39.cfs1/misc'
make[1]: *** [all-progs-recursive] Error 1
make[1]: Leaving directory `/scr2/src/lustre-1.4.7.3/e2fsprogs-1.39.cfs1'




The lustre kernel type.h in the /usr/src/linux/include/asm-ppc64 shows


typedef __signed__ long __s64;
typedef unsigned long __u64;

But the e2fsprogs looks at s64 and u64 as using long long in the 
lib/ext2fs/ext2_types.h 

I changed this to match the kernel and it compiles ok . As the make install of 
e2fsprogs still does not place the libblkid.a in the library path I had to copy 
it manually , I am not sure why this is . After that I got lustre to build but 
with liblustre disabled.


>From all this I am not sure if we can rely on this installation , testing the 
>OST's gives us a OS hang and no logs to debug so it may be due to my lack of 
>compile/library prowess :-).


The code you wanted is :-

1537         log_write("%s: pass5 finished\n", progname);
   1538 out:
   1539         dbcp->c_close(dbcp);
   1540 #endif
   1541         return rc;
   1542 }
   1543
   1544 int get_response()
   1545 {
   1546         char   yes[] = "Yy";
   1547         char   no[] = "Nn";
   1548         char c;
   1549         int rc = -1;
   1550
   1551         while (1) {
   1552                 c = getchar();
   1553                 if ( c == EOF)
   1554                         break;
   1555
   1556                 if (strchr(yes, c)) {
   1557                         rc = 1;
   1558                         break;
   1559                 }
   1560
   1561                 if (strchr(no, c)) {
   1562                         rc = 0;
   1563                         break;
   1564                 }
   1565         }
   1566         return(rc);
   1567 }


Thanks

Arun






-----Original Message-----
From: Andreas Dilger [mailto:[EMAIL PROTECTED]
Sent: Wednesday, December 06, 2006 12:08 AM
To: tagarsi, arun
Cc: [email protected]
Subject: Re: [Lustre-discuss] Lustre-1.4.7.3 & e2fsprogs-1.39.cvfs1
Compile problems


On Dec 05, 2006  13:40 -0000, tagarsi, arun wrote:
>       I wanted to update anyone that was interested in the progress of 
> getting lustre compiled for PPC64 on IBM JS21 blades. I have a catch 22 
> situation which makes no sense to me maybe someone out there knows why I have 
> this situation  and why this is happening.
> 
> The make of lustre-1.4.7.3 fails with
> 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.5/../../../libblkid.a when searching for 
> -lblkid
> /usr/bin/ld: skipping incompatible /usr/lib/libblkid.a when searching for 
> -lblkid

You can just remove llverdev and llverfs from the build targets.  They are
diagnostic programs for testing block device and raw filesystem integrity,
but are not needed for actual operations.

> lfsck.c: In function `get_response':
> lfsck.c:1553: warning: comparison is always false due to limited range of 
> data type

Could you please supply the code that corresponds to this line number.

> Unfortunately I need the e2fsprogs to build fully and so I need a complete 
> liblustre library to get the e2fsprogs to build it seems.

You can use ./configure --with-lustre=/path/to/lustre/lustre so that it can
access the liblustreapi.h and lustre_user.h headers.


Cheers, Andreas
--
Andreas Dilger
Principal Software Engineer
Cluster File Systems, Inc.

_______________________________________________
Lustre-discuss mailing list
[email protected]
https://mail.clusterfs.com/mailman/listinfo/lustre-discuss

Reply via email to