D.gnu - Can't seem to compile on Arch Linux with gdc
- Guillaume Chatelet (128/128) Mar 31 2017 Trying to compile an empty main file:
- Johannes Pfau (10/13) Mar 31 2017 This is because the GCC package in archlinux has been updated to GCC
- Guillaume Chatelet (2/15) Apr 01 2017 Will do. Thanks!
Trying to compile an empty main file: $ cat main.d void main() {} $ gdc main.d gdc: fatal error: -fuse-linker-plugin, but liblto_plugin.so not found compilation terminated. ---- From http://forum.dlang.org/thread/uthyqncmcqbnvwqzcykh forum.dlang.org $ gdc -fno-lto -fno-use-linker-plugin main.d ld: -f may not be used without -shared ---- Trying again with shared $ gdc -fno-lto -fno-use-linker-plugin -shared main.d ld: cannot find crtbeginS.o: No such file or directory ld: cannot find -lgcc ---- Trying again with link debug on: $ gdc -fno-lto -fno-use-linker-plugin -shared -Xlinker --verbose main.d ... attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/libgcc_s.so failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/libgcc_s.a failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/../../../../lib/libgcc_s.so succeeded opened script file /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/../../../../lib/libgcc_s.so opened script file /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/../../../../lib/libgcc_s.so attempt to open libgcc_s.so.1 failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/libgcc_s.so.1 failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/../../../../lib/libgcc_s.so.1 succeeded libgcc_s.so.1 (/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/../../../../lib/libgcc_s.so.1) attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/libgcc.so failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/libgcc.a failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/../../../../lib/libgcc.so failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/../../../../lib/libgcc.a failed attempt to open /lib/../lib/libgcc.so failed attempt to open /lib/../lib/libgcc.a failed attempt to open /usr/lib/../lib/libgcc.so failed attempt to open /usr/lib/../lib/libgcc.a failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/../../../libgcc.so failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/../../../libgcc.a failed attempt to open /usr/x86_64-pc-linux-gnu/lib64/libgcc.so failed attempt to open /usr/x86_64-pc-linux-gnu/lib64/libgcc.a failed attempt to open /usr/lib/libgcc.so failed attempt to open /usr/lib/libgcc.a failed attempt to open /usr/local/lib/libgcc.so failed attempt to open /usr/local/lib/libgcc.a failed attempt to open /usr/x86_64-pc-linux-gnu/lib/libgcc.so failed attempt to open /usr/x86_64-pc-linux-gnu/lib/libgcc.a failed ld: cannot find -lgcc ---- The installed version of gcc on my system is gcc version 6.3.1 20170306 (GCC) $ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/6.3.1/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: /build/gcc/src/gcc/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ --enable-shared --enable-threads=posix --enable-libmpx --with-system-zlib --with-isl --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object --enable-linker-build-id --enable-lto --enable-plugin --enable-install-libiberty --with-linker-hash-style=gnu --enable-gnu-indirect-function --disable-multilib --disable-werror --enable-checking=release Thread model: posix gcc version 6.3.1 20170306 (GCC) ---- The LDC version is based on gcc 6.2.1 $ gdc -v Using built-in specs. COLLECT_GCC=gdc Target: x86_64-pc-linux-gnu Configured with: /build/gdc/src/gcc/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --enable-shared --enable-static --enable-threads=posix --enable-libmpx --with-system-zlib --with-isl --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object --enable-linker-build-id --enable-lto --enable-plugin --enable-install-libiberty --with-linker-hash-style=gnu --enable-gnu-indirect-function --enable-default-pie --disable-multilib --disable-werror --enable-languages=d gdc_include_dir=/usr/include/dlang/gdc Thread model: posix gcc version 6.2.1 20160830 (GCC) ---- libgcc.{a|so} does not exist on my system but libgcc_s.{a|so} does. $ find /usr -name "libgcc*" find: ā/usr/share/polkit-1/rules.dā: Permission denied /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.1/libgcc_eh.a /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.1/libgcc.a /usr/lib/libgccpp.so.1.0.3 /usr/lib/libgccpp.so /usr/lib/libgccpp.so.1 /usr/lib/libgcc_s.so /usr/lib/libgcc_s.so.1 /usr/lib32/libgcc_s.so /usr/lib32/libgcc_s.so.1 I can add a symbolic link to /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.1/libgcc.a in /usr/lib but is this the right fix? Guillaume
Mar 31 2017
Am Fri, 31 Mar 2017 09:11:06 +0000 schrieb Guillaume Chatelet <chatelet.guillaume gmail.com>:I can add a symbolic link to /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.1/libgcc.a in /usr/lib but is this the right fix?This is because the GCC package in archlinux has been updated to GCC 6.3.1 but GDC has not been updated and was built with GCC 6.2.1. Unfortunately Dicebot stopped maintaining the D packages for Archlinux. I'm not sure about other packages, but the GDC package is currently orphaned (no maintainer)... As a workaround you can simply rebuild the GDC package using the PKGBUILD and bump the GCC version. -- Johannes
Mar 31 2017
On Friday, 31 March 2017 at 22:23:01 UTC, Johannes Pfau wrote:Am Fri, 31 Mar 2017 09:11:06 +0000 schrieb Guillaume Chatelet <chatelet.guillaume gmail.com>:Will do. Thanks!I can add a symbolic link to /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.1/libgcc.a in /usr/lib but is this the right fix?This is because the GCC package in archlinux has been updated to GCC 6.3.1 but GDC has not been updated and was built with GCC 6.2.1. Unfortunately Dicebot stopped maintaining the D packages for Archlinux. I'm not sure about other packages, but the GDC package is currently orphaned (no maintainer)... As a workaround you can simply rebuild the GDC package using the PKGBUILD and bump the GCC version. -- Johannes
Apr 01 2017