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

Bug#845377: gdc-6: libdl trouble again



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 <ibuclaw@gdcproject.org> wrote:
> On 22 November 2016 at 23:37, Matthias Klose <doko@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 to: