Bug#845171: wine-development: FTBFS: ld aborts or segfaults
Source: wine-development Version: 1.9.22-1 Justification: FTBFS on i386, armel and armhf Severity: serious Tags: help wine-development 1.9.22-1 (in stretch) built successfully on all architectures when it was uploaded to unstable, but fails to build in a stretch environment on i386 now (amd64 is still fine). Exactly the same for 1.9.23-1 on i386 in a sid environment: gcc -m32 -o wineserver async.o atom.o change.o class.o clipboard.o completion.o console.o debugger.o device.o \ directory.o event.o fd.o file.o handle.o hook.o mach.o mailslot.o main.o mapping.o mutex.o \ named_pipe.o object.o process.o procfs.o ptrace.o queue.o region.o registry.o request.o \ semaphore.o serial.o signal.o snapshot.o sock.o symlink.o thread.o timer.o token.o trace.o \ unicode.o user.o window.o winstation.o -Wl,--rpath,\$ORIGIN/../libs/wine \ ../libs/port/libwine_port.a -lwine -L../libs/wine -specs=/usr/share/dpkg/no-pie-link.specs -Wl,-z,relro -Wl,-z,now -Wl,-rpath,/usr/lib/i386-linux-gnu/wine-development collect2: fatal error: ld terminated with signal 6 [Aborted] compilation terminated. ld: malloc.c:2403: sysmalloc: Assertion `(old_top == initial_top (av) && old_size == 0) || ((unsigned long) (old_size) >= MINSIZE && prev_inuse (old_top) && ((unsigned long) old_end & (pagesize - 1)) == 0)' failed. Makefile:732: recipe for target 'wineserver' failed make[2]: *** [wineserver] Error 1 make[2]: Leaving directory '/build/wine-development-1.9.22/server' Makefile:19180: recipe for target 'server' failed make[1]: *** [server] Error 2 make[1]: *** Waiting for unfinished jobs [...] dh_auto_build: make -j4 returned exit code 2 debian/rules:100: recipe for target 'build-arch' failed make: *** [build-arch] Error 2 dpkg-buildpackage: error: debian/rules build-arch gave error exit status 2 Further a local rebui1d of .9.22-1 failed on i386 on 2016-11-05[1], but succeeded again on 2016-11-07. 1.9.23-1 didn't build on armel[2], armhf[3] and kfreebsd-i386[4] when it was uploaded to unstable, and failed on debomatic today (the error message changed though). These other failures are not exactly identical, but also happen in ld. I assume they are all related. I'm at a loss here what the reason for the failures is. I assume it's somehow related to build-dependencies being rebuilt with pie and bindnow and/or something in binutils (I found a similar recent bugreport (#844847, xorp: FTBFS: collect2: fatal error: ld terminated with signal 6 [Aborted]) which was reassigned to binutils.) However wine 1.8.5-1 still builds fine (wine and wine-development are nearly identical, only the upstream version differs). If my assumption was true, I'd expect wine to fail, too. Maybe it will do so soon. So what to do now? I hope someone can help here. If wine(-development) gets removed from the archive we need a fix uploaded by December 25th to get it in Stretch (or find a solution with the release team). Greets jre [1] 1.9.22-1:i386, local rebuild on 2016-11-05 gcc -m32 -o wine-installed main.o \ -Wl,--rpath,\$ORIGIN/`../tools/makedep -R /usr/lib/wine-development /usr/lib/i386-linux-gnu/wine-development` -Wl,--enable-new-dtags \ -Wl,--export-dynamic -Wl,-Ttext-segment=0x7c00 -Wl,-z,max-page-size=0x1000 -lwine -lpthread \ ../libs/port/libwine_port.a -L../libs/wine -Wl,-z,relro -Wl,-z,now -Wl,-rpath,/usr/lib/i386-linux-gnu/wine-development *** Error in `/usr/bin/ld': free(): invalid next size (fast): 0x57050ae0 *** === Backtrace: = /lib/i386-linux-gnu/libc.so.6(+0x6733a)[0xf74ec33a] /lib/i386-linux-gnu/libc.so.6(+0x6df77)[0xf74f2f77] /lib/i386-linux-gnu/libc.so.6(+0x6e736)[0xf74f3736] /usr/lib/i386-linux-gnu/libbfd-2.27.51-system.20161102.so(objalloc_free+0x3d)[0xf774011d] /usr/lib/i386-linux-gnu/libbfd-2.27.51-system.20161102.so(bfd_hash_table_free+0x1c)[0xf76858ec] /usr/lib/i386-linux-gnu/libbfd-2.27.51-system.20161102.so(+0x30568)[0xf768c568] /usr/lib/i386-linux-gnu/libbfd-2.27.51-system.20161102.so(bfd_fopen+0x1c3)[0xf768ce13] /usr/lib/i386-linux-gnu/libbfd-2.27.51-system.20161102.so(bfd_openr+0x25)[0xf768ce65] /usr/bin/ld(+0x29d69)[0x5659cd69] /usr/bin/ld(+0x2a385)[0x5659d385] /usr/bin/ld(+0x2b1bf)[0x5659e1bf] /usr/bin/ld(+0x1a2e6)[0x5658d2e6] /usr/bin/ld(main+0x61f)[0x5657a3df] /lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf6)[0xf749d276] /usr/bin/ld(+0x7aeb)[0x5657aaeb] === Memory map: 56573000-566ad000 r-xp 08:06 10898403 /usr/bin/i686-linux-gnu-ld.bfd 566ad000-566b1000 r--p 00139000 08:06 10898403 /usr/bin/i686-linux-gnu-ld.bfd 566b1000-566b3000 rw-p 0013d000 08:06 10898403 /usr/bin/i686-linux-gnu-ld.bfd 566b3000-566b4000 rw-p 00:00 0 56e65000-57088000 rw-p 00:00 0 [heap] f730-f7321000 rw-p 00:00 0 f7321000-f740 ---p 00:00 0 f745-f746c000 r-xp 08:06 11026496 /lib/i386-lin
Bug#845171: wine-development: FTBFS: ld aborts or segfaults
On 21.11.2016 22:07, Michael Gilbert wrote: > On Sun, Nov 20, 2016 at 9:16 PM, Jens Reyer wrote: >> wine-development 1.9.22-1 (in stretch) built successfully on all >> architectures when it was uploaded to unstable, but fails to >> build in a stretch environment on i386 now (amd64 is still fine). >> Exactly the same for 1.9.23-1 on i386 in a sid environment: > > Hi Jens, > > 1.9.23-1 built for me ok in a sid i386 chroot. Can you clarify the > setup where it fails? Did you mean kfreebsd-i386? Hi Mike first off, it just built fine on debomatic-i386: http://debomatic-i386.debian.net/distribution#unstable/wine-development/1.9.23-1/buildlog And if I understood you correctly it also built fine for you *today*? So it seems i386 is a local problem, for whatever reasons. If the upcoming 1.9.24 will still build on the official buildd and noone else can reproduce this, I'd say the i386 issue may be ignored (especially for the stretch release). I'll update the bug metadata then. But of course I need to figure this out here anyway. I built with git-buildpackage for i386 (not kfreebsd-i386), on my usual amd64 stretch/sid machine. The failures began while using my old chroot (minimal base-sid-i386.cow with only wine build-deps installed). But I now created a new one and deleted the ccache. It still fails with the same error message when I do this: $ DIST=sid ARCH=i386 git pbuilder create $ DIST=sid ARCH=amd64 git pbuilder update --override-config $ gbp buildpackage -B \ --git-pbuilder \ --git-arch=i386 \ --git-dist=sid \ --git-upstream-tag="wine-%(version)s" Similarly 1.9.22-1 failed with a fresh minimal base-stretch-i386.cow, and ccache deleted. Both 1.9.22-1 and 1.9.23-1 built fine here with gbp in the past, but fail now (with an updated chroot). > A recent change to binutils adds -Wl,--enable-new-dtags by default. > That may be the cause of the problem on arm. Unfortunately no, see the buildlogs at https://buildd.debian.org/status/package.php?p=wine-development: 1.9.23-1 failed to build on Nov 13 (armel), and Nov 14 (armhf). The binutils change "ld: enable new dtags by default for linux/gnu targets. Closes: #835859." was only uploaded on Nov 17. 1.9.23-1 failed with binutils_2.27.51.20161108-1 (armel and armhf) 1.9.22-1 built with binutils_2.27-9+b1 (armel and armhf) > The i386 and arm failures are probably different issues. Ok, I'll try to look into the arm problem separately then. If I don't find a solution soon, I'll file a separate bug for that. btw, debomatic-...debian.net works like a charm for testing this. Greets jre
Bug#845171: wine-development: FTBFS: ld aborts or segfaults
Control: tags -1 + help moreinfo according to the logs, -Wl,--enable-new-dtags is already passed into the linker, so I don't assume the defaults change in binutils is the root cause. I'm unable to trigger the malloc error. If you can, please run gcc with -v, and then re-run the collect2/ld command and provide the object files and libraries for the link.
Bug#845452: Bug#845171: wine-development: FTBFS: ld aborts or segfaults
On 23.11.2016 18:03, Jens Reyer wrote: > Control: reassign 845171 winbind/2.27.51.20161118-2 > Control: affects 845171 wine-development > Control: tags 845171 - help moreinfo > Control: tags 845452 = patch > > > [ Referencing the other related bug here. ] > > Matthias Klose wrote in https://bugs.debian.org/844847#35 >> This looks like another regression with handling $ORIGIN in the >> linker (-rpath=\$ORIGIN/<...>). The work around for the packages >> is to remove that option, you don't need to relocate the binaries >> when shipped as a debian package. > > Thanks a lot! I can confirm that wine-development builds again with > attached patch, which removes the rpath $ORIGIN in configure.ac. > > I'll test that a bit more and then commit for wine-development. > > > Matthias Klose wrote in https://bugs.debian.org/844847#35 >> Cloning the bugs for the original packages ... > > #845171 was still assigned to wine-development. Fixing metadata to what > I think you wanted. ta, and the fix will be in the next binutils upload too.
Bug#845452: Bug#845171: wine-development: FTBFS: ld aborts or segfaults
Control: reassign 845171 winbind/2.27.51.20161118-2 Control: affects 845171 wine-development Control: tags 845171 - help moreinfo Control: tags 845452 = patch [ Referencing the other related bug here. ] Matthias Klose wrote in https://bugs.debian.org/844847#35 > This looks like another regression with handling $ORIGIN in the > linker (-rpath=\$ORIGIN/<...>). The work around for the packages > is to remove that option, you don't need to relocate the binaries > when shipped as a debian package. Thanks a lot! I can confirm that wine-development builds again with attached patch, which removes the rpath $ORIGIN in configure.ac. I'll test that a bit more and then commit for wine-development. Matthias Klose wrote in https://bugs.debian.org/844847#35 > Cloning the bugs for the original packages ... #845171 was still assigned to wine-development. Fixing metadata to what I think you wanted. Greets! jre --- a/configure.ac +++ b/configure.ac @@ -887,12 +887,12 @@ case $host_os in WINE_TRY_CFLAGS([-fPIC -Wl,--export-dynamic], [LDEXECFLAGS="-Wl,--export-dynamic"]) - WINE_TRY_CFLAGS([-fPIC -Wl,--rpath,\$ORIGIN/../lib], - [LDRPATH_INSTALL="-Wl,--rpath,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \${bindir} \${libdir}\`" - LDRPATH_LOCAL="-Wl,--rpath,\\\$\$ORIGIN/\$(top_builddir)/libs/wine"], - [WINE_TRY_CFLAGS([-fPIC -Wl,-R,\$ORIGIN/../lib], - [LDRPATH_INSTALL="-Wl,-R,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \${bindir} \${libdir}\`" -LDRPATH_LOCAL="-Wl,-R,\\\$\$ORIGIN/\$(top_builddir)/libs/wine"])]) + WINE_TRY_CFLAGS([-fPIC -Wl,--rpath,./lib], + [LDRPATH_INSTALL="-Wl,--rpath,\`\$(MAKEDEP) -R \${bindir} \${libdir}\`" + LDRPATH_LOCAL="-Wl,--rpath,\$(top_builddir)/libs/wine"], + [WINE_TRY_CFLAGS([-fPIC -Wl,-R,./lib], + [LDRPATH_INSTALL="-Wl,-R,\`\$(MAKEDEP) -R \${bindir} \${libdir}\`" +LDRPATH_LOCAL="-Wl,-R,\$(top_builddir)/libs/wine"])]) WINE_TRY_CFLAGS([-Wl,--enable-new-dtags], [LDRPATH_INSTALL="$LDRPATH_INSTALL -Wl,--enable-new-dtags"])
Bug#845452: Bug#845171: wine-development: FTBFS: ld aborts or segfaults
On 23.11.2016 18:06, Matthias Klose wrote: > ta, and the fix will be in the next binutils upload too. Great, given your recent binutils upload rate I expect that to happen soon. So I'll probably stay lazy and avoid changing wine-development.
Bug#845171: [pkg-wine-party] Bug#845171: wine-development: FTBFS: ld aborts or segfaults
On Sun, Nov 20, 2016 at 9:16 PM, Jens Reyer wrote: > wine-development 1.9.22-1 (in stretch) built successfully on all > architectures when it was uploaded to unstable, but fails to > build in a stretch environment on i386 now (amd64 is still fine). > Exactly the same for 1.9.23-1 on i386 in a sid environment: Hi Jens, 1.9.23-1 built for me ok in a sid i386 chroot. Can you clarify the setup where it fails? Did you mean kfreebsd-i386? A recent change to binutils adds -Wl,--enable-new-dtags by default. That may be the cause of the problem on arm. The i386 and arm failures are probably different issues. Best wishes, Mike