"make std/concurrency.test" fails but others don't... why?

Andrei Alexandrescu via Digitalmars-d digitalmars-d at puremagic.com
Fri Apr 10 16:04:43 PDT 2015


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


More information about the Digitalmars-d mailing list