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

weaselcat via Digitalmars-d digitalmars-d at puremagic.com
Fri Apr 10 16:09:56 PDT 2015


On Friday, 10 April 2015 at 23:04:44 UTC, 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

works for me, might be an issue with clang being your C compiler?
try with CC=gcc make -f posix.mak std/concurrency.test


More information about the Digitalmars-d mailing list