[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