MakeProjectCreator fails for projects based on "taoidldefaults"

Bug #1016962 reported by Aleksandar Radovic
6
This bug affects 1 person
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=/usr/lib/ace; export ACE_ROOT;
TAO_ROOT=$ACE_ROOT/TAO; export 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}/bin/tao_idl. If I am not mistaken, this in file /usr/lib/ace/TAO/MPC/config/taobaseidldefaults.mpb, the following line is the root cause of my problem:
--------------------------------------------
    tao_idl = $(ACE_ROOT)/bin/tao_idl
--------------------------------------------

The resulting GNUmakefile tries to symlink /usr/lib/ace/bin/tao_idl and, of course, fails, as the correct location is /usr/lib/ace/TAO/tao_idl

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 {
----------------------

Revision history for this message
Aleksandar Radovic (monte081) wrote :

Workaround:
cd /usr/lib/ace/bin && sudo ln -s ../TAO/tao_idl tao_idl

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.