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
