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