Hi All , I am building gcc-4.5.0 on my centos5.4 machine(x86_64 , with linux kernel 2.6.18-128.el5). after the "./configure" when I do a "make" The make gives following error. (Please note I have compiled and installed gmp,mpc,mpfr libs on my home directory ,but giving LDGLAGS there path didnt work so I set the LD_LIBRARY_PATH and compilation now proceeds further, But it fails with this error, dont know whether this setting LD_LIBRARY_PATH is relevent to this error.) The error is : /bin/sh ./libtool --tag=CC --mode=compile /home/aaditya/gcc-4.5.0/host-x86_64-unknown-linux-gnu/gcc/xgcc -B/home/aaditya/gcc-4.5.0/host-x86_64-unknown-linux-gnu/gcc/ -B/home/aaditya/gcc/x86_64-unknown-linux-gnu/bin/ -B/home/aaditya/gcc/x86_64-unknown-linux-gnu/lib/ -isystem /home/aaditya/gcc/x86_64-unknown-linux-gnu/include -isystem /home/aaditya/gcc/x86_64-unknown-linux-gnu/sys-include -DHAVE_CONFIG_H -I. -I../../.././libgomp -I../../.././libgomp/config/linux/x86 -I../../.././libgomp/config/linux -I../../.././libgomp/config/posix -I../../.././libgomp -Wall -Werror -ftls-model=initial-exec -march=i486 -mtune=i686 -Wc,-pthread -g -O2 -m64 -m32 -MT env.lo -MD -MP -MF .deps/env.Tpo -c -o env.lo ../../.././libgomp/env.c libtool: compile: /home/aaditya/gcc-4.5.0/host-x86_64-unknown-linux-gnu/gcc/xgcc -B/home/aaditya/gcc-4.5.0/host-x86_64-unknown-linux-gnu/gcc/ -B/home/aaditya/gcc/x86_64-unknown-linux-gnu/bin/ -B/home/aaditya/gcc/x86_64-unknown-linux-gnu/lib/ -isystem /home/aaditya/gcc/x86_64-unknown-linux-gnu/include -isystem /home/aaditya/gcc/x86_64-unknown-linux-gnu/sys-include -DHAVE_CONFIG_H -I. -I../../.././libgomp -I../../.././libgomp/config/linux/x86 -I../../.././libgomp/config/linux -I../../.././libgomp/config/posix -I../../.././libgomp -Wall -Werror -ftls-model=initial-exec -march=i486 -pthread -mtune=i686 -g -O2 -m64 -m32 -MT env.lo -MD -MP -MF .deps/env.Tpo -c ../../.././libgomp/env.c -fPIC -DPIC -o .libs/env.o In file included from ../../.././libgomp/env.c:30:0: ./libgomp_f.h: In function omp_check_defines: ./libgomp_f.h:76:8: error: size of array âtestâ is negative make[9]: *** [env.lo] Error 1 make[9]: Leaving directory `/home/aaditya/gcc-4.5.0/x86_64-unknown-linux-gnu/32/libgomp' make[8]: *** [all-recursive] Error 1 make[8]: Leaving directory `/home/aaditya/gcc-4.5.0/x86_64-unknown-linux-gnu/32/libgomp' make[7]: *** [all] Error 2 make[7]: Leaving directory `/home/aaditya/gcc-4.5.0/x86_64-unknown-linux-gnu/32/libgomp' make[6]: *** [multi-do] Error 1 make[6]: Leaving directory `/home/aaditya/gcc-4.5.0/x86_64-unknown-linux-gnu/libgomp' make[5]: *** [all-multi] Error 2 make[5]: Leaving directory `/home/aaditya/gcc-4.5.0/x86_64-unknown-linux-gnu/libgomp' make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory `/home/aaditya/gcc-4.5.0/x86_64-unknown-linux-gnu/libgomp' make[3]: *** [all] Error 2 make[3]: Leaving directory `/home/aaditya/gcc-4.5.0/x86_64-unknown-linux-gnu/libgomp' make[2]: *** [all-stage1-target-libgomp] Error 2 make[2]: Leaving directory `/home/aaditya/gcc-4.5.0' make[1]: *** [stage1-bubble] Error 2 make[1]: Leaving directory `/home/aaditya/gcc-4.5.0' make: *** [all] Error 2 I am attaching relevent portion of the two libgomp_f.h The x86_64-unknown-linux-gnu/32/libgomp/libgomp_f.h file is: #if (4 == 4) \ && (4 <= 4) # define OMP_LOCK_DIRECT typedef omp_lock_t *omp_lock_arg_t; # define omp_lock_arg(arg) (arg) #else typedef union { omp_lock_t *lock; uint64_t u; } *omp_lock_arg_t; # define omp_lock_arg(arg) ((arg)->lock) # endif #if (16 == 8) \ && (8 <= 16) # define OMP_NEST_LOCK_DIRECT typedef omp_nest_lock_t *omp_nest_lock_arg_t; # define omp_nest_lock_arg(arg) (arg) #else typedef union { omp_nest_lock_t *lock; uint64_t u; } *omp_nest_lock_arg_t; # define omp_nest_lock_arg(arg) ((arg)->lock) # endif #if (4 == 4) \ && (4 <= 4) # define OMP_LOCK_25_DIRECT typedef omp_lock_25_t *omp_lock_25_arg_t; # define omp_lock_25_arg(arg) (arg) #else typedef union { omp_lock_25_t *lock; uint64_t u; } *omp_lock_25_arg_t; # define omp_lock_25_arg(arg) ((arg)->lock) # endif #if (8 == 8) \ && (4 <= 8) # define OMP_NEST_LOCK_25_DIRECT typedef omp_nest_lock_25_t *omp_nest_lock_25_arg_t; # define omp_nest_lock_25_arg(arg) (arg) #else typedef union { omp_nest_lock_25_t *lock; uint64_t u; } *omp_nest_lock_25_arg_t; # define omp_nest_lock_25_arg(arg) ((arg)->lock) # endif static inline void omp_check_defines (void) { char test[(4 != sizeof (omp_lock_t) || 4 != __alignof (omp_lock_t) || 16 != sizeof (omp_nest_lock_t) || 8 != __alignof (omp_nest_lock_t) || 4 != sizeof (*(omp_lock_arg_t) 0) || 8 != sizeof (*(omp_nest_lock_arg_t) 0)) ? -1 : 1] __attribute__ ((__unused__)); char test2[(4 != sizeof (omp_lock_25_t) || 4 != __alignof (omp_lock_25_t) || 8 != sizeof (omp_nest_lock_25_t) || 4 != __alignof (omp_nest_lock_25_t) || 4 != sizeof (*(omp_lock_25_arg_t) 0) || 8 != sizeof (*(omp_nest_lock_25_arg_t) 0)) ? -1 : 1] __attribute__ ((__unused__)); } The x86_64-unknown-linux-gnu/libgomp/libgomp_f.h is : #if (4 == 4) \ && (4 <= 4) # define OMP_LOCK_DIRECT typedef omp_lock_t *omp_lock_arg_t; # define omp_lock_arg(arg) (arg) #else typedef union { omp_lock_t *lock; uint64_t u; } *omp_lock_arg_t; # define omp_lock_arg(arg) ((arg)->lock) # endif #if (16 == 8) \ && (8 <= 16) # define OMP_NEST_LOCK_DIRECT typedef omp_nest_lock_t *omp_nest_lock_arg_t; # define omp_nest_lock_arg(arg) (arg) #else typedef union { omp_nest_lock_t *lock; uint64_t u; } *omp_nest_lock_arg_t; # define omp_nest_lock_arg(arg) ((arg)->lock) # endif #if (4 == 4) \ && (4 <= 4) # define OMP_LOCK_25_DIRECT typedef omp_lock_25_t *omp_lock_25_arg_t; # define omp_lock_25_arg(arg) (arg) #else typedef union { omp_lock_25_t *lock; uint64_t u; } *omp_lock_25_arg_t; # define omp_lock_25_arg(arg) ((arg)->lock) # endif #if (8 == 8) \ && (4 <= 8) # define OMP_NEST_LOCK_25_DIRECT typedef omp_nest_lock_25_t *omp_nest_lock_25_arg_t; # define omp_nest_lock_25_arg(arg) (arg) #else typedef union { omp_nest_lock_25_t *lock; uint64_t u; } *omp_nest_lock_25_arg_t; # define omp_nest_lock_25_arg(arg) ((arg)->lock) # endif static inline void omp_check_defines (void) { char test[(4 != sizeof (omp_lock_t) || 4 != __alignof (omp_lock_t) || 16 != sizeof (omp_nest_lock_t) || 8 != __alignof (omp_nest_lock_t) || 4 != sizeof (*(omp_lock_arg_t) 0) || 8 != sizeof (*(omp_nest_lock_arg_t) 0)) ? -1 : 1] __attribute__ ((__unused__)); char test2[(4 != sizeof (omp_lock_25_t) || 4 != __alignof (omp_lock_25_t) || 8 != sizeof (omp_nest_lock_25_t) || 4 != __alignof (omp_nest_lock_25_t) || 4 != sizeof (*(omp_lock_25_arg_t) 0) || 8 != sizeof (*(omp_nest_lock_25_arg_t) 0)) ? -1 : 1] __attribute__ ((__unused__)); }