gnunn1 / tilix

A tiling terminal emulator for Linux using GTK+ 3
https://gnunn1.github.io/tilix-web
Mozilla Public License 2.0
5.34k stars 294 forks source link

Tilix fails to build with LDC #2183

Open An-Eagle opened 11 months ago

An-Eagle commented 11 months ago

Using fedora, i installed the LDC compiler, and phobos, using the following packages : -libgphobos-static.x86_64 -libgphobos.x86_64 -ldc.x86_64 -libX11-devel

The build fails after using the command

dub build --build=release --compiler=ldc2

Without --compiler, it attempts to build with gdc

This is the end of the verbose log : Linking tilix ldc2 -of../../.dub/cache/tilix/~master/build/default-release-linux.posix-x86_64-ldc_v1.32.0-12F74255DEC5B0E51A506C51B61846D3FC63059E2016D4E2BE4F5F7ED29075AD/tilix ../../.dub/cache/tilix/~master/build/default-release-linux.posix-x86_64-ldc_v1.32.0-12F74255DEC5B0E51A506C51B61846D3FC63059E2016D4E2BE4F5F7ED29075AD/tilix.o ../../.dub/cache/gtk-d/3.10.0/+vte/build/library-release-linux.posix-x86_64-ldc_v1.32.0-9227B62E163125DE5AF9A9D1A52BC4985820730C8C0170775759C173365CAC40/libvted-3.a ../../.dub/cache/gtk-d/3.10.0/+gtkd/build/library-release-linux.posix-x86_64-ldc_v1.32.0-FE2927F487361FDFB0851C54CA9AB5BBE13F560F76E856B3ED98843D65E20136/libgtkd-3.a -L--no-as-needed -L-lX11 -L-ldl -disable-linker-strip-dead -link-defaultlib-shared=false /usr/bin/ld: cannot find -lphobos2-ldc: No such file or directory /usr/bin/ld: cannot find -ldruntime-ldc: No such file or directory collect2: error: ld returned 1 exit status Error: /usr/lib64/ccache/cc failed with status: 1 FAIL ../../.dub/cache/tilix/~master/build/default-release-linux.posix-x86_64-ldc_v1.32.0-12F74255DEC5B0E51A506C51B61846D3FC63059E2016D4E2BE4F5F7ED29075AD tilix executable Error ldc2 failed with exit code 1.

It seems to be missing 2 libraries, which should be provided by libgphobos?

kalev commented 10 months ago

tilix's dub.json sets -link-defaultlib-shared=false which makes ldc use static libraries, which aren't currently packaged for Fedora. If you change it to -link-defaultlib-shared=true that should make it build.

The shared phobos libraries that ldc uses are in ldc and ldc-libs packages. libgphobos is for gdc and ldc doesn't use it.