[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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"



       "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: