MakeProjectCreator fails for projects based on "taoidldefaults"
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ace (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
It appears that this is build and packaging issue inherited from Debian.
Package tao-idl puts binary tao_idl into /usr/lib/ace/TAO and then provides the script in /usr/bin/tao_idl with the following content:
-------
#!/bin/sh
ACE_ROOT=
TAO_ROOT=
exec $TAO_ROOT/tao_idl "$@"
-------
This should work. I am guessing that this specific Debian/Ubuntu tao_idl location was not specified during the ACE+TAO build, and MakeProjectCreator TAO infrastructure still expects to find tao_idl in its default location: ${ACE_ROOT}
-------
tao_idl = $(ACE_ROOT)
-------
The resulting GNUmakefile tries to symlink /usr/lib/
I can not be sure what is the best way to fix this. If Debian/Ubuntu are insisting on keeping tao_idl in /usr/bin/ace/TAO, then a "proper" solution might be to use technique for cross-compilation of the ACE+TAO, where tai_idl is built first, placed into the desired spot, and then in second iteration that location is passed to ACE+TAO build, ensuring proper position of tao_idl.
The problem can be reproduced by attempting to compile any TAO example with the following line in its *.mpc :
-------
project(*idl): taoidldefaults {
-------
Workaround:
cd /usr/lib/ace/bin && sudo ln -s ../TAO/tao_idl tao_idl