On Wednesday, 28 March 2018 at 16:42:23 UTC, Johan Engelen wrote:
On Tuesday, 27 March 2018 at 22:10:33 UTC, Per Nordlöw wrote:
On Tuesday, 27 March 2018 at 22:00:42 UTC, Johan Engelen wrote:
Indeed.
Please try to manually link first (without dub) by modifying the command on which dub errors:

```
ldmd2 -flto=thin -of.dub/build/application-release-nobounds-lto-linux.posix-x86_64-ldc_2078-F2904BE3C4DA237C077E5C2B0B23442E/knetquery .dub/build/application-release-nobounds-lto-linux.posix-x86_64-ldc_2078-F2904BE3C4DA237C077E5C2B0B23442E/knetquery.o ../../.dub/packages/gmp-d-master/gmp-d/.dub/build/library-release-nobounds-lto-linux.posix-x86_64-ldc_2078-B287F67CE5FF6145BC229790CFB09607/libgmp-d.a phobos-next/.dub/build/library-release-nobounds-lto-linux.posix-x86_64-ldc_2078-F0F2FDB01B8401C04D657BCC145D46A5/libknet_phobos-next.a -L--no-as-needed -L-lzstd -L-lgmp -L-lc -L-lreadline -L-lz -L-lbz2
```

-Johan

Yes, that works!

Good :-)

I'm no dub expert and I don't know how to pass flags to the _compiler_ for the link step.
Would be good to figure that out with the dub folks.

There will be similar problems with using ASan (and fuzzer aswell): `-fsanitize=address` must also be passed to the D compiler (not the linker) during linking such that the correct asan library is linked into the executable.

- Johan

dub supports dflags and lflags in the config file. lflags are the linker commands.

http://code.dlang.org/package-format?lang=sdl#build-settings

You can also specify per platform arguments, e.g.

dflags "-version=BuildingWithLDCRocks" platform="ldc"

(dub even supports the environment variables DFLAGS which dmd doesn't (and of course LFLAGS))

Reply via email to