D.gnu - Helloworld fails to link on Debian
- Sebastien Alaiwan (18/18) Dec 22 2016 $ cat hello.d
- Sebastien Alaiwan (21/21) Dec 22 2016 Just to show that my compiler is up-to-date:
- Johannes Pfau (5/27) Dec 22 2016 Known issue & fixed upstream:
$ cat hello.d
import std.stdio;
int main()
{
writefln("Hello, world");
return 0;
}
$ gdc hello.d
/usr/bin/ld: /tmp/cc03E6ZO.o: relocation R_X86_64_PC32 against
symbol
`_D3std6format18__T10FormatSpecTaZ10FormatSpec6__ctorMFNaNbNcNiNfxAaZS3std6format18__T10Format
pecTaZ10FormatSpec' 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
$
It seems that libphobos isn't compiled with options (-fPIC)
compatible with default binutils linker requirements.
Dec 22 2016
Just to show that my compiler is up-to-date:
$ dpkg -l | grep "gdc\|phobos"
ii gdc 4:6.2.1-1
amd64 D compiler (language version 2),
based on the GCC backend
ii gdc-6 6.2.1-5
amd64 GNU D compiler (version 2)
ii libgphobos-6-dev:amd64 6.2.1-5
amd64 Phobos D standard library
ii libgphobos-dev 6.2.1-1
amd64 Phobos D standard library
ii libgphobos68:amd64 6.2.1-5
amd64 Phobos D standard library (runtime
library)
$ 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.
Dec 22 2016
Am Thu, 22 Dec 2016 18:39:42 +0000
schrieb Sebastien Alaiwan <ace17 free.fr>:
$ cat hello.d
import std.stdio;
int main()
{
writefln("Hello, world");
return 0;
}
$ gdc hello.d
/usr/bin/ld: /tmp/cc03E6ZO.o: relocation R_X86_64_PC32 against
symbol
`_D3std6format18__T10FormatSpecTaZ10FormatSpec6__ctorMFNaNbNcNiNfxAaZS3std6format18__T10FormatSpecTaZ10FormatSpec'
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 $
It seems that libphobos isn't compiled with options (-fPIC)
compatible with default binutils linker requirements.
Known issue & fixed upstream:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=845377#32
https://github.com/D-Programming-GDC/GDC/pull/261
Dec 22 2016









Sebastien Alaiwan <ace17 free.fr> 