Bug#842710: [gcc-6] Fails to compile OpenWrt/LEDE prereq-build
Control: reassign -1 release.debian.org
Control: severity -1 normal
Control: retitle -1 nmu: zlib_1:1.2.8.dfsg-2
Control: affects -1 src:zlib
On Mon, Oct 31, 2016 at 03:27:11PM +0100, Charlemagne Lasse wrote:
> Package: gcc-6
> Version: 6.2.0-10
> Severity: serious
> X-Debbugs-CC: lede-dev@lists.infradead.org
>
> There is a regression after gcc-6 6.2.0-6. I get following output when
> trying to compile LEDE/OpenWrt "Please install a static zlib"
>...
> with gcc-6 6.2.0-10 fails:
>
> $ echo 'int main(int argc, char **argv) { gzdopen(0, "rb"); return 0;
> }' | gcc -include zlib.h -x c -o a.out - -Wl,-Bstatic -lz
> -Wl,-Bdynamic
> /usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libz.a(gzlib.o):
> relocation R_X86_64_32S against `.rodata' can not be used when making
> a shared object; recompile with -fPIC
> /usr/bin/ld: final link failed: Nonrepresentable section on output
> collect2: error: ld returned 1 exit status
> $ echo $?
> 1
Thanks for your bug report.
The problem here is that gcc now defaults to PIE, which is not
compatible with static libraries compiled without PIE. (The error
message is misleading, PIE is sufficient and PIC is not required.)
The (few) static libraries that are used for building other packages
in unstable have already been recompiled.
A rebuild of all packages containing static libraries at once is not
planned, but it will be ensured that all such packages will be rebuilt
before the release of stretch.
I am reassigning this bug to the release team to schedule a binNMU
of zlib:
nmu zlib_1:1.2.8.dfsg-2 . ANY . unstable . -m "Recompile static libraries with PIE"
cu
Adrian
--
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed
Reply to: