Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-3011

client build fails on ubuntu 12.04

Details

    • Bug
    • Resolution: Fixed
    • Minor
    • Lustre 2.4.0
    • 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...

      Attachments

        Activity

          People

            wc-triage WC Triage
            rread Robert Read
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: