[lustre-discuss] Compiling latest lustre client.

Glossman, Bob bob.glossman at intel.com
Thu Aug 11 07:09:19 PDT 2016


Phil,
  This is a known issue and is due to using gcc 5.   While it never did make much sense to have ‘extern inline’ declarations in #include files, all previous versions of gcc silently allowed it.  In gcc 5 it generates errors.  There is a bug fix planned, but not landed yet.  It hasn’t been an acute problem as none of the linux distros we have committed support for are using gcc 5 yet.

If you want to fix it on your own until we have an official patch landed, just remove the ‘inline’ keyword from all the offending definitions, both in the .h files and in the .c files where the functions are actually defined.

Bob Glossman
HPDD SW Engineer

On 8/11/16, 6:48 AM, "lustre-discuss on behalf of Phill Harvey-Smith" <lustre-discuss-bounces at lists.lustre.org on behalf of p.harvey-smith at warwick.ac.uk> wrote:

    Hi all,
    
    Ubuntu 16.04 LTS, kernel
    
    Linux test-r710 4.4.0-22-generic #40-Ubuntu SMP Thu May 12 22:03:46 UTC 
    2016 x86_64 x86_64 x86_64 GNU/Linux
    
    gcc --version
    
    gcc (Ubuntu 5.4.0-6ubuntu1~16.04.2) 5.4.0 20160609
    
    
    Trying to compile the latest lustre client to try and resolve my hanging 
    issue, followed the following procedure :
    
    git clone git://git.whamcloud.com/fs/lustre-release.git
    cd lustre-release
    sh autogen.sh
    ./configure --disable-server --with-o2ib=no
    make
    
    It compiles a whole bunch of stuff then bombs out with :
    
    Making all in mpi
    make[4]: Entering directory 
    '/other/src/Lustre/lustre-release-2016-08-11/lustre/tests/mpi'
    mpicc -DHAVE_CONFIG_H -I. -I../../..   -include 
    /other/src/Lustre/lustre-release-2016-08-11/undef.h -include 
    /other/src/Lustre/lustre-release-2016-08-11/config.h 
    -I/other/src/Lustre/lustre-release-2016-08-11/libcfs/include 
    -I/other/src/Lustre/lustre-release-2016-08-11/lnet/include 
    -I/other/src/Lustre/lustre-release-2016-08-11/lustre/include  -fPIC 
    -D_LARGEFILE64_SOURCE=1 -D_FILE_OFFSET_BITS=64 -DLUSTRE_UTILS=1 -g -O2 
    -Wall -Werror -MT parallel_grouplock.o -MD -MP -MF 
    .deps/parallel_grouplock.Tpo -c -o parallel_grouplock.o parallel_grouplock.c
    In file included from parallel_grouplock.c:53:0:
    lp_utils.h:71:20: error: inline function ‘end’ declared but never 
    defined [-Werror]
      extern inline void end(char *str);
                         ^
    lp_utils.h:70:20: error: inline function ‘begin’ declared but never 
    defined [-Werror]
      extern inline void begin(char *str);
                         ^
    cc1: all warnings being treated as errors
    Makefile:558: recipe for target 'parallel_grouplock.o' failed
    make[4]: *** [parallel_grouplock.o] Error 1
    make[4]: Leaving directory 
    '/other/src/Lustre/lustre-release-2016-08-11/lustre/tests/mpi'
    Makefile:1284: recipe for target 'all-recursive' failed
    make[3]: *** [all-recursive] Error 1
    make[3]: Leaving directory 
    '/other/src/Lustre/lustre-release-2016-08-11/lustre/tests'
    autoMakefile:484: recipe for target 'all-recursive' failed
    make[2]: *** [all-recursive] Error 1
    make[2]: Leaving directory 
    '/other/src/Lustre/lustre-release-2016-08-11/lustre'
    autoMakefile:583: recipe for target 'all-recursive' failed
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory '/other/src/Lustre/lustre-release-2016-08-11'
    autoMakefile:477: recipe for target 'all' failed
    make: *** [all] Error 2
    
    
    Any clues?
    
    Cheers.
    
    Phill.
    
    
    
    _______________________________________________
    lustre-discuss mailing list
    lustre-discuss at lists.lustre.org
    http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org
    



More information about the lustre-discuss mailing list