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" 
<[email protected] on behalf of 
[email protected]> 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
    [email protected]
    http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org
    

_______________________________________________
lustre-discuss mailing list
[email protected]
http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org

Reply via email to