"make std/concurrency.test" fails but others don't... why?
Steven Schveighoffer via Digitalmars-d
digitalmars-d at puremagic.com
Fri Apr 10 18:38:32 PDT 2015
On 4/10/15 7:04 PM, Andrei Alexandrescu wrote:
> Martin Nowak added recently a nice feature to the Phobos makefile: by
> specifying e.g.
>
> make std/stdio.test
>
> only the unittests for std/stdio.d would build and run. This greatly
> improves development turnaround for Phobos.
>
> I've used this feature regularly since introduction, but it seems to not
> work with at least std.concurrency. Running
>
> make std/concurrency.test
>
> produces:
>
> duplicate symbol _D3std11concurrency10MessageBox6__initZ in:
> concurrency.o
> generated/osx/release/64/libphobos2.a(concurrency_329_3ee.o)
> duplicate symbol _D3std11concurrency10MessageBox7__ClassZ in:
> concurrency.o
> generated/osx/release/64/libphobos2.a(concurrency_329_3ee.o)
> duplicate symbol _D3std11concurrency10MessageBox6__vtblZ in:
> concurrency.o
> generated/osx/release/64/libphobos2.a(concurrency_329_3ee.o)
> ld: 3 duplicate symbols for architecture x86_64
> clang: error: linker command failed with exit code 1 (use -v to see
> invocation)
>
> What makes MessageBox special?
>
>
> Andrei
There is a bug somewhere that causes issues with dmd compiled with clang
on OSX. I've had to disable a test in dmd test suite before. If this
problem could be solved, we could switch default build on the auto
tester to use clang (it currently uses gcc).
FWIW, I never had an issue with phobos unit tests.
-Steve
More information about the Digitalmars-d
mailing list