Hi!
Getting an error from Boost.Build. Here's the important part:
/Developer/boost/tools/build/v2/build/virtual-target.jam:1002: in virtual-target.register-actual-name from module virtual-target
error: Duplicate name of actual target: <pbin/darwin/debug>c.o
error: previous virtual target { darwin%darwin.compile.c++-c.o.OBJ { c.cpp.CPP } }
error: created from ./ide_server
error: another virtual target { darwin%darwin.compile.c++-c.o.OBJ { c.cpp.CPP } }
error: created from ./ide_server
error: added properties: <python-debugging>off <python>2.5 <threadapi>pthread
error: removed properties: none
I've looked up some of the information on problems with duplicate target, but still can't see why I'm having a problem. I've attached a test case that reproduces the problem.
I've tried to make the test case relatively minimal. Here are some caveats about it:
- Boost.Thread is not the problem.
- If I remove the "install" target, it works.
- c.cpp is not the problem - it's empty.
- <link>static is not the problem. I've tried different combinations.
- The fact that boost_threads is in the sources instead of requirements or something makes no difference.
- Tested on Goobuntu and OS X.
It really seems to be a strange limitation. I've run into it before, but figured I'd try to get an answer for it this time. For now, I overcome this by writing scripts to manually copy all of my install dependencies. That can be a bit of a pain when using as many shared libraries as I am...
For those who hate opening attachments, here's the Jamfile (the rest of the files are basically empty).
import os ;
local BOOST_ROOT = [ os.environ BOOST_ROOT ] ;
exe ide_server
:
c.cpp
$(BOOST_ROOT)libs/thread/build//boost_thread/<link>static ;
install bin_out : ide_server ;
Any ideas?
Jeremy