[Bug 685] New: Quicky fails to include RTT pkgconfig information

https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=685

Summary: Quicky fails to include RTT pkgconfig information
Product: RTT
Version: rtt-trunk
Platform: All
OS/Version: All
Status: NEW
Severity: major
Priority: P3
Component: Tests
AssignedTo: orocos-dev [..] ...
ReportedBy: kiwi [dot] net [..] ...
CC: orocos-dev [..] ...
Estimated Hours: 0.0

The quicky FindOrocos-RTT.cmake file fails to use any of the RTT pkgconfig
information. So if, say, boost is in a non-standard install directory, the
build fails. It appears to me that FindOrocos-RTT.cmak _only_ picks up the
include directory for RTT itself, and nothing else.

$ cat /opt/install/lib/pkgconfig/orocos-rtt-macosx.pc
prefix=/opt/install
exec_prefix=${prefix}  # defining another variable in terms of the first
libdir=${exec_prefix}/lib
includedir=${prefix}/include
 
Name: Orocos-RTT                          # human-readable name
Description: Open Robot Control Software: Real-Time Tookit # human-readable
description
Version: 1.6.99
Libs: -L${libdir} -lorocos-rtt-macosx  -lpthread
Libs.private: 
Cflags: -I${includedir} -DOROCOS_TARGET=macosx  -I/opt/local/include

 VERBOSE=1 make 2>&1 | more
/opt/local/bin/cmake -H/z/o/examples/quicky-1.1
-B/z/o/examples/quicky-1.1/build --check-build-system CMakeFiles/Makefile.cmake
0
/opt/local/bin/cmake -E cmake_progress_start
/z/o/examples/quicky-1.1/build/CMakeFiles
/z/o/examples/quicky-1.1/build/CMakeFiles/progress.make
make -f CMakeFiles/Makefile2 all
make -f CMakeFiles/quicky.dir/build.make CMakeFiles/quicky.dir/depend
cd /z/o/examples/quicky-1.1/build && /opt/local/bin/cmake -E cmake_depends
"Unix Makefiles" /z/o/examples/quicky-1.1 /z/o/examples/quicky-1.1
/z/o/examples/quicky-1.1/build /z
/o/examples/quicky-1.1/build
/z/o/examples/quicky-1.1/build/CMakeFiles/quicky.dir/DependInfo.cmake --color=
make -f CMakeFiles/quicky.dir/build.make CMakeFiles/quicky.dir/build
/opt/local/bin/cmake -E cmake_progress_report
/z/o/examples/quicky-1.1/build/CMakeFiles 1
[100%] Building CXX object CMakeFiles/quicky.dir/Quicky.cpp.o
/opt/local/libexec/ccache/c++   -DOROCOS_TARGET=macosx -DOCL_DLL_EXPORT -fPIC
-I/opt/install/include   -o CMakeFiles/quicky.dir/Quicky.cpp.o -c
/z/o/examples/quicky-1.1/Quicky
.cpp
In file included from /opt/install/include/rtt/Attribute.hpp:42,
                 from /opt/install/include/rtt/AttributeRepository.hpp:44,
                 from /opt/install/include/rtt/TaskContext.hpp:42,
                 from /z/o/examples/quicky-1.1/Quicky.cpp:1:
/opt/install/include/rtt/DataSource.hpp:44:33: error: boost/call_traits.hpp: No
such file or directory
/opt/install/include/rtt/DataSource.hpp:45:33: error: boost/type_traits.hpp: No
such file or directory

[Bug 685] Quicky fails to include RTT pkgconfig information

https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=685

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

What |Removed |Added
----------------------------------------------------------------------------
Resolution| |FIXED
Status|NEW |RESOLVED

--- Comment #2 from Peter Soetens <peter [..] ...> 2010-12-21 10:57:24 ---
The orocreate-pkg tool in OCL fixes this issue. Don't use the 'quicky' example
anymore.

[Bug 685] Quicky fails to include RTT pkgconfig information

https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=685

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

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

--- Comment #1 from Peter Soetens <peter [..] ...> 2009-07-19 23:45:31 ---
(In reply to comment #0)
> The quicky FindOrocos-RTT.cmake file fails to use any of the RTT pkgconfig
> information. So if, say, boost is in a non-standard install directory, the
> build fails. It appears to me that FindOrocos-RTT.cmak _only_ picks up the
> include directory for RTT itself, and nothing else.

So I was a bit too portable, not relying on .pc files... Both BOOST and
TAO/OMNIORB suffer from this 'feature'. I did not want to rely on .pc because
it was more portable to rely on cmake. Of course, this leads to rechecking of
dependencies. CMake offers an alternative to .pc files (by installing .cmake
files containing equivalent flags) but I have no experience with that.

Darn.

Peter

[Bug 685] Quicky fails to include RTT pkgconfig information

On Jul 19, 2009, at 17:45 , Peter Soetens wrote:

> https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=685
>
>
> Peter Soetens <peter [..] ...> changed:
>
> What |Removed |Added
> ----------------------------------------------------------------------------
> CC| |peter [..] ...
>
>
>
>
> --- Comment #1 from Peter Soetens <peter [..] ...>
> 2009-07-19 23:45:31 ---
> (In reply to comment #0)
>> The quicky FindOrocos-RTT.cmake file fails to use any of the RTT
>> pkgconfig
>> information. So if, say, boost is in a non-standard install
>> directory, the
>> build fails. It appears to me that FindOrocos-RTT.cmak _only_ picks
>> up the
>> include directory for RTT itself, and nothing else.
>
> So I was a bit too portable, not relying on .pc files... Both BOOST
> and
> TAO/OMNIORB suffer from this 'feature'. I did not want to rely
> on .pc because
> it was more portable to rely on cmake. Of course, this leads to
> rechecking of
> dependencies. CMake offers an alternative to .pc files (by
> installing .cmake
> files containing equivalent flags) but I have no experience with that.

Interesting question. Rely on .pc files, rely on CMake's custom
version of .pc files, or do nothing and make the user do it? The last
seems harsh to me - as a user, if I use Orocos then Orocos should be
able to provide to me the list of dir's/libraries that it needs to
compile/link against. Where would we have trouble with .pc files? They
seem ubiquitous on Linux/Mac. Is this a Windoze/non-Linux-embedded
issue?

Stephen