I get the following error during output gist.github.com/1053977
The error starts on line 3984 of the output.
Relevant error msg:
In file included from /build/src/root/core/lzma/src/ZipLZMA.c:13:0:
/usr/include/lzma/lzma.h:16:3: error: #error Never include this file directly. Use <lzma.h> instead.
Removing the “disable builtin lzma” flag doesn’t fix the issue.
I’ve been able to compile root 5.28.00e without problems.
If you need any more info, please let me know. Thanks.
Dear experts,
I also get the same exact problem when I try to compile v5.30.00 on either 32 bit or 64 bit platform:
my 64 bit platform PC runs Fedora Core 12:
uname -a
2.6.31.12-174.2.22.fc12.x86_64 #1 SMP Fri Feb 19 18:55:03 UTC 2010 x86_64 x86_64 x86_64 GNU/Linux
gcc --version
gcc (GCC) 4.4.3 20100127 (Red Hat 4.4.3-4)
my 32 bit platform PC runs Fedora Core 14:
uname -a
2.6.35.13-92.fc14.i686 #1 SMP Sat May 21 17:39:42 UTC 2011 i686 i686 i386 GNU/Linux
gcc --version
gcc (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4)
The output of the error log in both cases starts like this:
In file included from /usr/cern/root_v5.30.00/core/lzma/src/ZipLZMA.c:13:0:
/usr/include/lzma/lzma.h:16:3: error: #error Never include this file directly. Use <lzma.h> instead.
/usr/include/lzma/lzma.h:120:8: warning: return type defaults to ‘int’
/usr/include/lzma/lzma.h: In function ‘LZMA_API’:
/usr/include/lzma/lzma.h:120:28: error: expected declaration specifiers before ‘lzma_mf_is_supported’
...
and the whole compilation goes downhill afterwards.
The issue is likely that your version of lzma is not installed in the same pattern/way as the one we tried out. We have been exclusive trying XZ implementation (see tukaani.org/xz/embedded.html).
getting the same error message when building ROOT on debian, the problem turned out to be in the order of paths when the configure script searches for lzma.h (line 2430). There are two such files on debian system:
/usr/include/lzma/lzma.h
/usr/include/lzma.h
The configure script picks up the first one, while it is the second one that should be used (at least on debian). So the fix is trivial, unless some other architecture has the installation of lzma.h files done in opposite way…