On Sat, Jul 26, 2008 at 11:41:18PM +0530, Girish Shilamkar wrote: > Hi Ted, > While building e2fsprogs on ia64/rhel4 the following compile error was > flagged: > > Error messages: > make[4]: Leaving directory `/cache/build/BUILD/e2fsprogs-1.40.7.sun1/lib/uuid' > CC clear.c > CC compare.c > CC copy.c > CC gen_uuid.c > gen_uuid.c: In function `uuid__generate_time': > gen_uuid.c:493: internal compiler error: in ia64_expand_load_address, at > config/ia64/ia64.c:1184 > Please submit a full bug report, > with preprocessed source if appropriate. > See <URL:http://bugzilla.redhat.com/bugzilla> for instructions. > Preprocessed source stored into /tmp/ccYkSBN6.out file, please attach this to > your bugreport. > make[3]: *** [gen_uuid.o] Error 1 Well, as stated above, this is very clearly an IA64 optimizer bug in GCC where it's not able to handle __thread with a pretty specific piece of code. It's also on a relatively ancient distribution and GCC version. You could try reportig the bug to Red Hat to see if they are willing to provide a fix. Failing that, probably the best thing to do is just to use configure --disable-tls on a RHEL4/ia64 system. The main purpose of the use of thread local storage is to avoid duplicate UUID's on SMP systems when you have multiple threads generating UUID's at a very high rate. Certain database-driven applications will have a problem here, but it's not clear it will matter for most users of Lustre. Regards, - Ted -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html