Hi Stefan, Am Fri, 20 Sep 2019 10:29:10 +0000 schrieb Stefan Frijters:
> As a fan of both D and the nixpkgs package manager I wanted to try and > help include GDC in nixpkgs, but I have been running into some problems. > Thank you a lot for looking at this and helping the D ecosystem! > If anyone could help by taking a look at my pull request at > https://github.com/NixOS/nixpkgs/pull/69144 that would be greatly > appreciated. > > Current issues include: > > * When compiling without forcing --disable-shared, there are linker > errors about needing to compile with -fPIC. It seems that some files are > built using that flag, but not all, and I'm not sure how to go about > forcing it for the rest. This should not happen, -fPIC should be added automatically where required. Maybe it's caused by --enable-default-pie or any of the other flags which are not really needed? > * When invoking nix-build without specifying --cores 1 there are > problems when building libphobos; it looks like object files are moved > before they are generated. This problem goes away when I build on a > single core, but of course everything takes a very long time to try out. Is this a problem during the make step or during make install? I don't think make install is multi-thread safe, but make should actually be fine. > * I have disabled bootstrapping for now to speed up the debugging > process, hopefully it can be enabled again later on. > > I have taken the compiler flags to be used from > https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=gdc-git, which > was linked in another thread on this forum, but maybe this is too > specific for Arch? Yes, these are actually arch and not gdc specific. You do not need any special flags for gdc, just add d to --enable-languages= and you should be fine. --with-target-system-zlib=yes is the only D specific flag in your github pull request, and it forces libphobos to link against the system zlib instead of including a copy. You'll have to decide whether this is the behavior you want. -- Johannes