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.

Reply via email to