Error RTT_PLUGIN_rtt-marshalling NOT FOUND. in orogen gnerated modules.

Dear Sirs,

I have a fresh install of toolchain-2.3.0 on ubuntu 10.10 with xenomai patch.

I created my modules using the command

orogen --target=xenomai -v mymodule.orogen

I need to use rtt-marshalling library so I modified the orogen generated CMakeLists.txt as follows:

1) CMakeLists.txt in the root project

PROJECT(rosetta)
cmake_minimum_required(VERSION 2.6)

SET (CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/.orogen/config")
INCLUDE(rosettaBase)

find_package(RTTPlugin REQUIRED rtt-marshalling)
find_package(RTTPlugin COMPONENTS rtt-marshalling)
target_link_libraries(Rosetta ${RTT_PLUGIN_rtt-marshalling_LIBRARIES})

# FIND_PACKAGE(KDL)
# FIND_PACKAGE(OCL)

2) CMakeLists.txt in tasks directory

# Generated from orogen/lib/orogen/templates/tasks/CMakeLists.txt

include(rosettaTaskLib)

find_package(RTTPlugin REQUIRED rtt-marshalling)

ADD_LIBRARY(${ROSETTA_TASKLIB_NAME} SHARED
${ROSETTA_TASKLIB_SOURCES})

add_dependencies(${ROSETTA_TASKLIB_NAME}
regen-typekit)

TARGET_LINK_LIBRARIES(${ROSETTA_TASKLIB_NAME}
${OrocosRTT_LIBRARIES}
${ROSETTA_TASKLIB_DEPENDENT_LIBRARIES} ${RTT_PLUGIN_rtt-marshalling_LIBRARIES})
SET_TARGET_PROPERTIES(${ROSETTA_TASKLIB_NAME}
PROPERTIES LINK_INTERFACE_LIBRARIES "${ROSETTA_TASKLIB_INTERFACE_LIBRARIES}")

INSTALL(TARGETS ${ROSETTA_TASKLIB_NAME}
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib/orocos)

INSTALL(FILES ${ROSETTA_TASKLIB_HEADERS}
DESTINATION include/orocos/rosetta)

Running, from the build directory, the command cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/orocosComponents
I get the following output

cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/orocosComponents
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Performing Test CXX_SUPPORTS_WALL
-- Performing Test CXX_SUPPORTS_WALL - Success
-- Found Doxygen: /usr/bin/doxygen
-- documentation can be built
-- checking for module 'orocos-rtt-xenomai>=2.1.0'
-- found orocos-rtt-xenomai, version 2.3.0
-- checking for module 'typelib'
-- found typelib, version 1.1
-- checking for module 'orocos-rtt-corba-xenomai>=2.1.0'
-- found orocos-rtt-corba-xenomai, version 2.3.0
-- Orocos reports in /usr/src/orocos/install/include/rtt/transports/corba/rtt-corba-config.h to use the OMNIORB
-- checking for module 'orocos-ocl-xenomai>=2.1.0'
-- found orocos-ocl-xenomai, version 2.3.0
-- OCL found, the generated task library will be compatible with the deployer component
-- Optional library RTT_PLUGIN_rtt-marshalling NOT FOUND. If the library is already installed, use the RTT_PLUGIN_rtt-marshalling_ROOT_DIR environment variable or ccmake to set the missing variables manually.
-- Found RTT_PLUGIN_rtt-typekit
-- Found RTT_PLUGIN_rtt-transport-corba
-- Optional library RTT_PLUGIN_rtt-marshalling NOT FOUND. If the library is already installed, use the RTT_PLUGIN_rtt-marshalling_ROOT_DIR environment variable or ccmake to set the missing variables manually.
-- Optional library RTT_PLUGIN_rtt-marshalling NOT FOUND. If the library is already installed, use the RTT_PLUGIN_rtt-marshalling_ROOT_DIR environment variable or ccmake to set the missing variables manually.
-- Configuring done
-- Generating done
-- Build files have been written to: /root/rock/Rosetta10/build

I checked that librtt-marshalling-xenomai.so library
is stored in /usr/src/orocos/install/lib/orocos/xenomai/plugins/

I tried even the command

cmake .. -DRTT_PLUGIN_rtt-marshalling_ROOT_DIR=/usr/src/orocos/install/lib/orocos/xenomai/plugins/librtt-marshalling-xenomai.so

but I got the same error.

To solve the problem I had to modify the CMAKE_MODULE_PATH int CMakeLists.txt in the root project, as shownn below.

PROJECT(rosetta)
cmake_minimum_required(VERSION 2.6)

SET (CMAKE_MODULE_PATH "/usr/src/orocos/ocl/config/" "${CMAKE_SOURCE_DIR}/.orogen/config"})
INCLUDE(rosettaBase)

find_package(RTTPlugin REQUIRED rtt-marshalling)
target_link_libraries(Rosetta ${RTT_PLUGIN_rtt-marshalling_LIBRARIES})

# FIND_PACKAGE(KDL)
# FIND_PACKAGE(OCL)

Is this the desired behaviour of orogen generated CMakeLists.txt ?

Thank you in advance

G. Rizzi

[Rock-dev] Error RTT_PLUGIN_rtt-marshalling NOT FOUND. in orogen

On Sat, Mar 26, 2011 at 12:56 PM, gprizzi [..] ... <gprizzi [..] ...> wrote:
>  Dear Sirs,
>
> I have a fresh install of toolchain-2.3.0 on ubuntu 10.10 with xenomai
> patch.

Did you use the tar release or the bootstrap.sh ? There was a patch
for orogen here :
http://www.gitorious.org/orocos-toolchain/orogen/commit/d31125768af63ed3...

Which fixes the FindRTTPlugin.cmake logic to find the marshalling
plugins. It will be part of a bootstrap after march 14, or you could
run autoproj update to get this fix as well.

>
> I created my modules using the command
>
> orogen --target=xenomai -v mymodule.orogen
>
> I need to use rtt-marshalling library so I modified the orogen generated
> CMakeLists.txt as follows:
>
> 1) CMakeLists.txt in the root project
>
> PROJECT(rosetta)
> cmake_minimum_required(VERSION 2.6)
>
> SET (CMAKE_MODULE_PATH  "${CMAKE_SOURCE_DIR}/.orogen/config")
> INCLUDE(rosettaBase)
>
> find_package(RTTPlugin REQUIRED rtt-marshalling)
> find_package(RTTPlugin COMPONENTS rtt-marshalling)
> target_link_libraries(Rosetta ${RTT_PLUGIN_rtt-marshalling_LIBRARIES})
>
> # FIND_PACKAGE(KDL)
> # FIND_PACKAGE(OCL)
>
>
> 2) CMakeLists.txt in tasks directory
>
> # Generated from orogen/lib/orogen/templates/tasks/CMakeLists.txt
>
> include(rosettaTaskLib)
>
> find_package(RTTPlugin REQUIRED rtt-marshalling)
>
> ADD_LIBRARY(${ROSETTA_TASKLIB_NAME} SHARED
>     ${ROSETTA_TASKLIB_SOURCES})
>
> add_dependencies(${ROSETTA_TASKLIB_NAME}
>     regen-typekit)
>
>
> TARGET_LINK_LIBRARIES(${ROSETTA_TASKLIB_NAME}
>     ${OrocosRTT_LIBRARIES}
>     ${ROSETTA_TASKLIB_DEPENDENT_LIBRARIES}
> ${RTT_PLUGIN_rtt-marshalling_LIBRARIES})
> SET_TARGET_PROPERTIES(${ROSETTA_TASKLIB_NAME}
>     PROPERTIES LINK_INTERFACE_LIBRARIES
> "${ROSETTA_TASKLIB_INTERFACE_LIBRARIES}")
>
> INSTALL(TARGETS ${ROSETTA_TASKLIB_NAME}
>     RUNTIME DESTINATION bin
>     LIBRARY DESTINATION lib/orocos)
>
> INSTALL(FILES ${ROSETTA_TASKLIB_HEADERS}
>     DESTINATION include/orocos/rosetta)
>
>
> Running, from the build directory, the command cmake ..
> -DCMAKE_INSTALL_PREFIX=$HOME/orocosComponents
> I get the following output
>
> cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/orocosComponents
> -- The C compiler identification is GNU
> -- The CXX compiler identification is GNU
> -- Check for working C compiler: /usr/bin/gcc
> -- Check for working C compiler: /usr/bin/gcc -- works
> -- Detecting C compiler ABI info
> -- Detecting C compiler ABI info - done
> -- Check for working CXX compiler: /usr/bin/c++
> -- Check for working CXX compiler: /usr/bin/c++ -- works
> -- Detecting CXX compiler ABI info
> -- Detecting CXX compiler ABI info - done
> -- Performing Test CXX_SUPPORTS_WALL
> -- Performing Test CXX_SUPPORTS_WALL - Success
> -- Found Doxygen: /usr/bin/doxygen
> -- documentation can be built
> -- checking for module 'orocos-rtt-xenomai>=2.1.0'
> --   found orocos-rtt-xenomai, version 2.3.0
> -- checking for module 'typelib'
> --   found typelib, version 1.1
> -- checking for module 'orocos-rtt-corba-xenomai>=2.1.0'
> --   found orocos-rtt-corba-xenomai, version 2.3.0
> -- Orocos reports in
> /usr/src/orocos/install/include/rtt/transports/corba/rtt-corba-config.h to
> use the OMNIORB
> -- checking for module 'orocos-ocl-xenomai>=2.1.0'
> --   found orocos-ocl-xenomai, version 2.3.0
> -- OCL found, the generated task library will be compatible with the
> deployer component
> -- Optional library RTT_PLUGIN_rtt-marshalling NOT FOUND. If the library is
> already installed, use the RTT_PLUGIN_rtt-marshalling_ROOT_DIR environment
> variable or ccmake to set the missing variables manually.
> -- Found RTT_PLUGIN_rtt-typekit
> -- Found RTT_PLUGIN_rtt-transport-corba
> -- Optional library RTT_PLUGIN_rtt-marshalling NOT FOUND. If the library is
> already installed, use the RTT_PLUGIN_rtt-marshalling_ROOT_DIR environment
> variable or ccmake to set the missing variables manually.
> -- Optional library RTT_PLUGIN_rtt-marshalling NOT FOUND. If the library is
> already installed, use the RTT_PLUGIN_rtt-marshalling_ROOT_DIR environment
> variable or ccmake to set the missing variables manually.
> -- Configuring done
> -- Generating done
> -- Build files have been written to: /root/rock/Rosetta10/build
>
>
> I checked that  librtt-marshalling-xenomai.so library
> is stored in /usr/src/orocos/install/lib/orocos/xenomai/plugins/
>
> I tried even the command
>
> cmake ..
> -DRTT_PLUGIN_rtt-marshalling_ROOT_DIR=/usr/src/orocos/install/lib/orocos/xenomai/plugins/librtt-marshalling-xenomai.so
>
> but I got the same error.
>
> To solve the problem I had to modify the  CMAKE_MODULE_PATH int
> CMakeLists.txt in the root project, as shownn below.
>
> PROJECT(rosetta)
> cmake_minimum_required(VERSION 2.6)
>
> SET (CMAKE_MODULE_PATH  "/usr/src/orocos/ocl/config/"
> "${CMAKE_SOURCE_DIR}/.orogen/config"})
> INCLUDE(rosettaBase)
>
> find_package(RTTPlugin REQUIRED rtt-marshalling)
> target_link_libraries(Rosetta ${RTT_PLUGIN_rtt-marshalling_LIBRARIES})
>
> # FIND_PACKAGE(KDL)
> # FIND_PACKAGE(OCL)
>
> Is this the desired behaviour of orogen generated CMakeLists.txt ?

The FindRTTPlugin.cmake in OCL had already this fix. So your fix picks
up that version and is indeed a workaround, but orogen will be fixed
in 2.3.1 too.

>
> Thank you in advance
>
> G. Rizzi

Peter
--
Orocos-Dev mailing list
Orocos-Dev [..] ...
http://lists.mech.kuleuven.be/mailman/listinfo/orocos-dev

[Rock-dev] Error RTT_PLUGIN_rtt-marshalling NOT FOUND. in orogen

On Sat, Mar 26, 2011 at 12:56 PM, gprizzi [..] ... <gprizzi [..] ...> wrote:
>  Dear Sirs,
>
> I have a fresh install of toolchain-2.3.0 on ubuntu 10.10 with xenomai
> patch.

Did you use the tar release or the bootstrap.sh ? There was a patch
for orogen here :
http://www.gitorious.org/orocos-toolchain/orogen/commit/d31125768af63ed3...

Which fixes the FindRTTPlugin.cmake logic to find the marshalling
plugins. It will be part of a bootstrap after march 14, or you could
run autoproj update to get this fix as well.

>
> I created my modules using the command
>
> orogen --target=xenomai -v mymodule.orogen
>
> I need to use rtt-marshalling library so I modified the orogen generated
> CMakeLists.txt as follows:
>
> 1) CMakeLists.txt in the root project
>
> PROJECT(rosetta)
> cmake_minimum_required(VERSION 2.6)
>
> SET (CMAKE_MODULE_PATH  "${CMAKE_SOURCE_DIR}/.orogen/config")
> INCLUDE(rosettaBase)
>
> find_package(RTTPlugin REQUIRED rtt-marshalling)
> find_package(RTTPlugin COMPONENTS rtt-marshalling)
> target_link_libraries(Rosetta ${RTT_PLUGIN_rtt-marshalling_LIBRARIES})
>
> # FIND_PACKAGE(KDL)
> # FIND_PACKAGE(OCL)
>
>
> 2) CMakeLists.txt in tasks directory
>
> # Generated from orogen/lib/orogen/templates/tasks/CMakeLists.txt
>
> include(rosettaTaskLib)
>
> find_package(RTTPlugin REQUIRED rtt-marshalling)
>
> ADD_LIBRARY(${ROSETTA_TASKLIB_NAME} SHARED
>     ${ROSETTA_TASKLIB_SOURCES})
>
> add_dependencies(${ROSETTA_TASKLIB_NAME}
>     regen-typekit)
>
>
> TARGET_LINK_LIBRARIES(${ROSETTA_TASKLIB_NAME}
>     ${OrocosRTT_LIBRARIES}
>     ${ROSETTA_TASKLIB_DEPENDENT_LIBRARIES}
> ${RTT_PLUGIN_rtt-marshalling_LIBRARIES})
> SET_TARGET_PROPERTIES(${ROSETTA_TASKLIB_NAME}
>     PROPERTIES LINK_INTERFACE_LIBRARIES
> "${ROSETTA_TASKLIB_INTERFACE_LIBRARIES}")
>
> INSTALL(TARGETS ${ROSETTA_TASKLIB_NAME}
>     RUNTIME DESTINATION bin
>     LIBRARY DESTINATION lib/orocos)
>
> INSTALL(FILES ${ROSETTA_TASKLIB_HEADERS}
>     DESTINATION include/orocos/rosetta)
>
>
> Running, from the build directory, the command cmake ..
> -DCMAKE_INSTALL_PREFIX=$HOME/orocosComponents
> I get the following output
>
> cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/orocosComponents
> -- The C compiler identification is GNU
> -- The CXX compiler identification is GNU
> -- Check for working C compiler: /usr/bin/gcc
> -- Check for working C compiler: /usr/bin/gcc -- works
> -- Detecting C compiler ABI info
> -- Detecting C compiler ABI info - done
> -- Check for working CXX compiler: /usr/bin/c++
> -- Check for working CXX compiler: /usr/bin/c++ -- works
> -- Detecting CXX compiler ABI info
> -- Detecting CXX compiler ABI info - done
> -- Performing Test CXX_SUPPORTS_WALL
> -- Performing Test CXX_SUPPORTS_WALL - Success
> -- Found Doxygen: /usr/bin/doxygen
> -- documentation can be built
> -- checking for module 'orocos-rtt-xenomai>=2.1.0'
> --   found orocos-rtt-xenomai, version 2.3.0
> -- checking for module 'typelib'
> --   found typelib, version 1.1
> -- checking for module 'orocos-rtt-corba-xenomai>=2.1.0'
> --   found orocos-rtt-corba-xenomai, version 2.3.0
> -- Orocos reports in
> /usr/src/orocos/install/include/rtt/transports/corba/rtt-corba-config.h to
> use the OMNIORB
> -- checking for module 'orocos-ocl-xenomai>=2.1.0'
> --   found orocos-ocl-xenomai, version 2.3.0
> -- OCL found, the generated task library will be compatible with the
> deployer component
> -- Optional library RTT_PLUGIN_rtt-marshalling NOT FOUND. If the library is
> already installed, use the RTT_PLUGIN_rtt-marshalling_ROOT_DIR environment
> variable or ccmake to set the missing variables manually.
> -- Found RTT_PLUGIN_rtt-typekit
> -- Found RTT_PLUGIN_rtt-transport-corba
> -- Optional library RTT_PLUGIN_rtt-marshalling NOT FOUND. If the library is
> already installed, use the RTT_PLUGIN_rtt-marshalling_ROOT_DIR environment
> variable or ccmake to set the missing variables manually.
> -- Optional library RTT_PLUGIN_rtt-marshalling NOT FOUND. If the library is
> already installed, use the RTT_PLUGIN_rtt-marshalling_ROOT_DIR environment
> variable or ccmake to set the missing variables manually.
> -- Configuring done
> -- Generating done
> -- Build files have been written to: /root/rock/Rosetta10/build
>
>
> I checked that  librtt-marshalling-xenomai.so library
> is stored in /usr/src/orocos/install/lib/orocos/xenomai/plugins/
>
> I tried even the command
>
> cmake ..
> -DRTT_PLUGIN_rtt-marshalling_ROOT_DIR=/usr/src/orocos/install/lib/orocos/xenomai/plugins/librtt-marshalling-xenomai.so
>
> but I got the same error.
>
> To solve the problem I had to modify the  CMAKE_MODULE_PATH int
> CMakeLists.txt in the root project, as shownn below.
>
> PROJECT(rosetta)
> cmake_minimum_required(VERSION 2.6)
>
> SET (CMAKE_MODULE_PATH  "/usr/src/orocos/ocl/config/"
> "${CMAKE_SOURCE_DIR}/.orogen/config"})
> INCLUDE(rosettaBase)
>
> find_package(RTTPlugin REQUIRED rtt-marshalling)
> target_link_libraries(Rosetta ${RTT_PLUGIN_rtt-marshalling_LIBRARIES})
>
> # FIND_PACKAGE(KDL)
> # FIND_PACKAGE(OCL)
>
> Is this the desired behaviour of orogen generated CMakeLists.txt ?

The FindRTTPlugin.cmake in OCL had already this fix. So your fix picks
up that version and is indeed a workaround, but orogen will be fixed
in 2.3.1 too.

>
> Thank you in advance
>
> G. Rizzi

Peter
--
Orocos-Users mailing list
Orocos-Users [..] ...
http://lists.mech.kuleuven.be/mailman/listinfo/orocos-users