So, I have a project:
{
"name": "dgame",
"description": "An example project skeleton",
"homepage": "http://example.org",
"copyright": "Copyright © 2000, Your Name",
"authors": [
"Your Name"
],
"dependencies": {
},
"dflags": [
"-I/Users/jared/src/DSFML/lib/",
"-I/Users/jared/src/DSFML/src/"
],
"lflags": [
"-L/Users/jared/src/DSFML-C-Builds/clang/lib/",
],
"sourceFiles": [
"/Users/jared/src/DSFML/lib/libdsfml-system.a",
"/Users/jared/src/DSFML/lib/libdsfml-graphics.a",
"/Users/jared/src/DSFML/lib/libdsfml-window.a"
],
"libs": [
"dsfml-system.2",
"dsfml-window.2",
"dsfml-graphics.2",
]
}
When run, the compilation looks like this:
dmd -I/Users/jared/src/DSFML/lib/ -I/Users/jared/src/DSFML/src/ -w -g -debug -c -of/tmp/dub/369882575/temp.o -version=Have_dgame -I/Users/jared/Code/DGame/source -J/Users/jared/Code/DGame/views source/app.d source/mapping/generator.d source/mapping/map.d source/mapping/tile.d ../../src/DSFML/lib/libdsfml-system.a ../../src/DSFML/lib/libdsfml-graphics.a ../../src/DSFML/lib/libdsfml-window.a
Linking...
dmd -of/tmp/dub/369882575/dgame /tmp/dub/369882575/temp.o -L-L/Users/jared/src/DSFML-C-Builds/clang/lib/ -L-ldsfml-system.2 -L-ldsfml-window.2 -L-ldsfml-graphics.2 -g
And errors:
Undefined symbols for architecture x86_64:
"_D5dsfml8graphics3all12__ModuleInfoZ", referenced from:
_D3app12__ModuleInfoZ in temp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
--- errorlevel 1
Error: Link command failed with exit code 1
Full exception: object.Exception@source/dub/compilers/dmd.d(120): Link command failed with exit code 1
----------------
5 dub 0x0000000103246657 pure @safe bool std.exception.enforce!(bool).enforce(bool, lazy const(char)[], immutable(char)[], ulong) + 107
6 dub 0x00000001032300ff void dub.compilers.dmd.DmdCompiler.invokeLinker(const(dub.compilers.compiler.BuildSettings), const(dub.compilers.compiler.BuildPlatform), immutable(char)[][]) + 987
7 dub 0x0000000103233f05 void dub.generators.build.BuildGenerator.generateProject(dub.generators.generator.GeneratorSettings) + 4897
8 dub 0x000000010320c2e4 void dub.dub.Dub.generateProject(immutable(char)[], dub.generators.generator.GeneratorSettings) + 160
9 dub 0x0000000103200fbd _Dmain + 6333
10 dub 0x00000001032e9951 extern (C) int rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).void runMain() + 33
11 dub 0x00000001032e949d extern (C) int rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).void tryExec(scope void delegate()) + 45
12 dub 0x00000001032e999d extern (C) int rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).void runAll() + 61
13 dub 0x00000001032e949d extern (C) int rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).void tryExec(scope void delegate()) + 45
14 dub 0x00000001032e9451 _d_run_main + 457
15 dub 0x00000001032e9280 main + 20
16 libdyld.dylib 0x00007fff9338b5fd start + 1
17 ??? 0x0000000000000002 0x0 + 2
But! If I run it manually, as a single command works:
dmd -I/Users/jared/src/DSFML/lib/ -I/Users/jared/src/DSFML/src/ -w -g -debug -version=Have_dgame -I/Users/jared/Code/DGame/source -J/Users/jared/Code/DGame/views source/app.d source/mapping/generator.d source/mapping/map.d source/mapping/tile.d ../../src/DSFML/lib/libdsfml-system.a ../../src/DSFML/lib/libdsfml-graphics.a ../../src/DSFML/lib/libdsfml-window.a -L-L/Users/jared/src/DSFML-C-Builds/clang/lib/ -L-ldsfml-system.2 -L-ldsfml-window.2 -L-ldsfml-graphics.2 -g
Has anyone else run into this?