[Bug 581] New: Directory logic errors in FindCorbaDeps.cmake

For more infomation about this bug, visit
Summary: Directory logic errors in FindCorbaDeps.cmake
Product: RTT
Version: rtt-trunk
Platform: All
OS/Version: All
Status: NEW
Severity: normal
Priority: P2
Component: Corba
AssignedTo: orocos-dev [..] ...
ReportedBy: kiwi [dot] net [..] ...
CC: orocos-dev [..] ...
Estimated Hours: 0.0

I think the logic in this file isn't right. It looks for headers files in
ACE_DIR/ace (similarly for TAO headers), but then later on looks for binary
files in ACE_DIR/bin. In both Linux and Mac, ACE header files are in
/path/to/ace/install/include/ace, so ACE_DIR has to be
/path/to/ace/install/include/ which means that binary files are searched for in
/path/to/ace/install/include/bin. That can't be right: the binary files are in
/path/to/ace/install/bin.

If ACE_DIR==ACE_ROOT=/path/to/ace/install/ then we would search for includes in
ACE_DIR/include and binary files in ACE_DIR/bin. The ACE/TAO project appears to
set ACE_ROOT to the source directory (not the install directory), which doesn't
have the "include" part of the path (it also doesn't have the binary files, but
...).

The only reason this currently works (in Ubuntu Gutsy, for me) is that the
default system search paths happen to include the dir's that ACE/TAO are
installed in (/usr/include and /usr/bin).

Am I missing something?
S

[Bug 581] Directory logic errors in FindCorbaDeps.cmake

For more infomation about this bug, visit

Peter Soetens
<peter [dot] soetens [..] ...> changed:

What |Removed |Added
--------------------------------------------------------------------------
CC| |peter [dot] soetens [..] ...

--- Comment #1 from Peter Soetens
<peter [dot] soetens [..] ...> 2008-08-28 14:18:41 ---
(In reply to comment #0)
> I think the logic in this file isn't right. It looks for headers files in
> ACE_DIR/ace (similarly for TAO headers), but then later on looks for binary
> files in ACE_DIR/bin. In both Linux and Mac, ACE header files are in
> /path/to/ace/install/include/ace, so ACE_DIR has to be
> /path/to/ace/install/include/ which means that binary files are searched for in
> /path/to/ace/install/include/bin. That can't be right: the binary files are in
> /path/to/ace/install/bin.
>
> If ACE_DIR==ACE_ROOT=/path/to/ace/install/ then we would search for includes in
> ACE_DIR/include and binary files in ACE_DIR/bin. The ACE/TAO project appears to
> set ACE_ROOT to the source directory (not the install directory), which doesn't
> have the "include" part of the path (it also doesn't have the binary files, but
> ...).
>
> The only reason this currently works (in Ubuntu Gutsy, for me) is that the
> default system search paths happen to include the dir's that ACE/TAO are
> installed in (/usr/include and /usr/bin).
>
> Am I missing something?

No, I think you were right on the spot (as usual...). TAO_ROOT needs to be set
for tao_idl correctly such that it can find the .idl files of the CORBA naming
service (at least in the older versions, can't find it in the current
TaoIDL.cmake file). The confusion you're seeing is probably caused by
trial-and-error for getting both the include paths and this path correctly. I
don't think it should be ACE_DIR == ACE_ROOT but somehow it was implemented
like this anyhow.

Anyway, was this issue fixed in
------------------------------------------------------------------------
r29574 | psoetens | 2008-08-28 12:46:34 +0200 (do, 28 aug 2008) | 1 line

Applied patch #346 from Bug 533: Mac OS X port: RTT Corba Patch, adds
UseCorba.cmake

?

Peter