Package: upx-ucl
Version: 3.91-1
Severity: important
User: [email protected]
Usertags: ftbfs-gcc-6 gcc-6-misleading-indentation
This package fails to build with GCC 6. GCC 6 has not been released
yet, but it's expected that GCC 6 will become the default compiler for
stretch.
Note that only the first error is reported; there might be more. You
can find a snapshot of GCC 6 in experimental. To build with GCC 6,
you can set CC=gcc-6 CXX=g++-6 explicitly.
> sbuild (Debian sbuild) 0.67.0 (26 Dec 2015) on dl580gen9-02.hlinux
...
> g++ -DWITH_UCL -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2
> -DWITH_LZMA=0x922 -I/usr/include/lzma -g -O2 -fstack-protector-strong
> -Wformat -Werror=format-security -Wall -W -Wcast-align -Wcast-qual
> -Wpointer-arith -Wshadow -Wwrite-strings -Werror -o p_w16ne.o -c p_w16ne.cpp
> In file included from compress_lzma.cpp:237:0:
> /usr/include/lzma/LzmaEnc.c: In function 'UInt32 GetOptimum(CLzmaEnc*,
> UInt32, UInt32*)':
> /usr/include/lzma/LzmaEnc.c:1350:9: warning: statement is indented as if it
> were guarded by... [-Wmisleading-indentation]
> {
> ^
>
> /usr/include/lzma/LzmaEnc.c:1346:7: note: ...this 'if' clause, but it is not
> if (repIndex == 0)
> ^~
>
> /usr/include/lzma/LzmaEnc.c: In function 'SRes LzmaEnc_Alloc(CLzmaEnc*,
> UInt32, ISzAlloc*, ISzAlloc*)':
> /usr/include/lzma/LzmaEnc.c:1908:8: warning: variable 'btMode' set but not
> used [-Wunused-but-set-variable]
> Bool btMode;
> ^~~~~~
>
> p_lx_interp.cpp: In member function 'virtual void
> PackLinuxElf32x86interp::pack1(OutputFile*, Filter&)':
> p_lx_interp.cpp:117:33: error: dereferencing type-punned pointer will break
> strict-aliasing rules [-Werror=strict-aliasing]
> *(cprElfHdr3 *)(void *)&elfout = h3;
> ^~~~~~
>
> p_lx_interp.cpp:117:42: error: dereferencing type-punned pointer will break
> strict-aliasing rules [-Werror=strict-aliasing]
> *(cprElfHdr3 *)(void *)&elfout = h3;
> ^~
>
--
Martin Michlmayr
Linux for HPE Helion, Hewlett Packard Enterprise