Hello Matthias and Iain, Is it an expected effect that some programs now need to be build with -fPIC? For example:
$ cat >test.d import std.conv; void main() { string b; float c; to!int(b); to!string(c); } $ gdc -o test test.d /usr/bin/ld: /tmp/cc6LR10G.o: relocation R_X86_64_PC32 against symbol `_D3std6format18__T10FormatSpecTaZ10FormatSpec6flPlusMxFNaNbNdNiNfZb' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: final link failed: Bad value collect2: error: ld returned 1 exit status $ gdc --version gdc (Debian 6.2.1-5) 6.2.1 20161124 Copyright (C) 2016 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. On Wed, Nov 23, 2016 at 12:15 AM, Iain Buclaw <ibuc...@gdcproject.org> wrote: > On 22 November 2016 at 23:37, Matthias Klose <d...@debian.org> wrote: >> Control: severity -1 important >> >> On 22.11.2016 22:21, Peter De Wachter wrote: >>> Package: gdc-6 >>> Version: 6.2.1-4 >>> Severity: serious >>> Justification: breaks other packages (ii-esu, tatan, dub) >>> >>> Hi, >>> >>> This upload has a bug very similar to #835255. The same test program >>> again fails to link: >>> >>> import std.datetime; >>> void main () { } >>> >>> $ gdc -o date date.d >>> /usr/lib/gcc/x86_64-linux-gnu/6/libgphobos.a(lt4-curl.o): In function >>> `_D3std3net4curl7CurlAPI7loadAPIFZPv': >>> /build/gcc-6-N3r4h3/gcc-6-6.2.1/build/x86_64-linux-gnu/libphobos/src/../../../../src/libphobos/src/std/net/curl.d:3630: >>> warning: Using 'dlopen' in statically linked applications requires at >>> runtime the shared libraries from the glibc version used for linking >>> /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libdl.a(dlopen.o): >>> In function `dlopen': >>> (.text+0x5): undefined reference to `__dlopen' >>> /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libdl.a(dlclose.o): >>> In function `dlclose': >>> (.text+0x1): undefined reference to `__dlclose' >>> /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libdl.a(dlsym.o): >>> In function `dlsym': >>> (.text+0x5): undefined reference to `__dlsym' >>> collect2: error: ld returned 1 exit status >> >> known. Please pass -shared-libphobos for now. Still planning to make this the >> default. >> > > Agreed. I'll build the packages with this configuration and test locally.