Details
-
Bug
-
Resolution: Fixed
-
Minor
-
Lustre 2.4.0
-
None
-
3
-
7332
Description
Building current master (19d5b835) on ubuntu 12.04 with kernel 3.2.0-35, though the errors are actually building userspace code. First error is:
gcc -DHAVE_CONFIG_H -I. -I../.. -D__arch_lib__ -D_LARGEFILE64_SOURCE=1 -include /root/lustre/config.h -I/root/lustre/libcfs/include -I/root/lustre/lnet/include -I/root/lustre/lustre/include -D_FORTIFY_SOURCE=2 -g -Wall -fPIC -D_GNU_SOURCE -Wall -g -O2 -Werror -c -o libcfs_a-fail.o `test -f 'fail.c' || echo './'`fail.c In file included from /root/lustre/lustre/include/lprocfs_status.h:54:0, from /root/lustre/lustre/include/obd_support.h:42, from /root/lustre/lustre/include/liblustre.h:500, from fail.c:37: /root/lustre/lustre/include/lustre/lustre_idl.h: In function ‘fid_ostid_unpack’: /root/lustre/lustre/include/lustre/lustre_idl.h:632:17: error: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘obd_seq’ [-Werror=format] /root/lustre/lustre/include/lustre/lustre_idl.h:632:17: error: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘obd_id’ [-Werror=format] /root/lustre/lustre/include/lustre/lustre_idl.h:644:26: error: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘obd_seq’ [-Werror=format] /root/lustre/lustre/include/lustre/lustre_idl.h:644:26: error: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘obd_id’ [-Werror=format] /root/lustre/lustre/include/lustre/lustre_idl.h:657:26: error: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘obd_seq’ [-Werror=format] /root/lustre/lustre/include/lustre/lustre_idl.h:657:26: error: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘obd_id’ [-Werror=format] /root/lustre/lustre/include/lustre/lustre_idl.h:666:17: error: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘obd_seq’ [-Werror=format] /root/lustre/lustre/include/lustre/lustre_idl.h:666:17: error: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘obd_id’ [-Werror=format] /root/lustre/lustre/include/lustre/lustre_idl.h: In function ‘fid_ostid_pack’: /root/lustre/lustre/include/lustre/lustre_idl.h:702:3: error: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘__u64’ [-Werror=format] /root/lustre/lustre/include/lustre/lustre_idl.h: In function ‘ostid_seq’: /root/lustre/lustre/include/lustre/lustre_idl.h:718:17: error: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘obd_seq’ [-Werror=format] /root/lustre/lustre/include/lustre/lustre_idl.h:718:17: error: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘obd_id’ [-Werror=format] gcc -DHAVE_CONFIG_H -I. -I../.. -D__arch_lib__ -D_LARGEFILE64_SOURCE=1 -include /root/lustre/config.h -I/root/lustre/libcfs/include -I/root/lustre/lnet/include -I/root/lustre/lustre/include -D_FORTIFY_SOURCE=2 -g -Wall -fPIC -D_GNU_SOURCE -Wall -g -O2 -Werror -c -o libcfs_a-libcfs_cpu.o `test -f 'libcfs_cpu.c' || echo './'`libcfs_cpu.c gcc -DHAVE_CONFIG_H -I. -I../.. -D__arch_lib__ -D_LARGEFILE64_SOURCE=1 -include /root/lustre/config.h -I/root/lustre/libcfs/include -I/root/lustre/lnet/include -I/root/lustre/lustre/include -D_FORTIFY_SOURCE=2 -g -Wall -fPIC -D_GNU_SOURCE -Wall -g -O2 -Werror -c -o libcfs_a-libcfs_mem.o `test -f 'libcfs_mem.c' || echo './'`libcfs_mem.c cc1: all warnings being treated as errors make[6]: *** [libcfs_a-fail.o] Error 1 make[6]: *** Waiting for unfinished jobs.... make[6]: Leaving directory `/root/lustre/libcfs/libcfs' make[5]: *** [all-recursive] Error 1 make[5]: Leaving directory `/root/lustre/libcfs/libcfs' make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory `/root/lustre/libcfs' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/root/lustre' make[2]: *** [all] Error 2 make[2]: Leaving directory `/root/lustre' make[1]: *** [build-stamp] Error 2 make[1]: Leaving directory `/root/lustre' dpkg-buildpackage: error: debian/rules build gave error exit status 2 make: *** [debs] Error 2
The second error occurs when linking the utils; the readline symbols are not found. The issue seems to be because $(LIBREADLINE) is referenced before the object files that use it. Moving it to the end fixes this, but I wonder why it wsan't there to begin with...
Testing a patch now...