That was the problem: dmd forget to make symbols when you have circular dependencies in your code and compile each source file individally. Solution: give dmd all source files in one command line.