Dear Sirs,
tank you for your kind support.
Unfortunately I am trying without success to compile orogen generated modules.
I have a fresh install of toolchain-2.3.0 on ubuntu 10.10 with xenomai patch.
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
Unfortunately I need to use rtt-marshalling library.
I set my CMakeLists.txt files as follows:
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)
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)
I verified that librtt-marshalling-xenomai.so library
is stored in /usr/src/orocos/install/lib/orocos/xenomai/plugins/
Following your advice I run 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.
Can You help me in finding what am I missing?
Thank you in advance
G. Rizzi
----Messaggio originale----
Da: pierrick [dot] koch [..] ...
Data: 14-mar-2011 4.09
A: <peter [..] ...>
Cc: <orocos-dev [..] ...>, <orocos-users [..] ...>, "gprizzi [..] ..."<gprizzi [..] ...>
Ogg: Re: [Orocos-Dev] [Orocos-users] Error on RTT_PLUGIN_rtt-transport-corba_ROOT_DIR during compile of orogen test module
Hi,
in the meanwhile you can do:
orogen *.orogen mkdir build && cd buildcmake .. -DRTT_PLUGIN_rtt-transport-corba_LIBRARY=~/work/orocos-toolchain-23/install/lib/orocos/gnulinux/types/librtt-transport-corba-gnulinux.so -DRTT_PLUGIN_rtt-typekit_LIBRARY=~/work/orocos-toolchain-23/install/lib/orocos/gnulinux/types/librtt-typekit-gnulinux.so
make
where ~/work/orocos-toolchain-23 is the path to your orocos toolchain.
Cheers,Pierrick
On Sun, Mar 13, 2011 at 3:27 AM, Peter Soetens <peter [..] ...> wrote:
On Sat, Mar 12, 2011 at 9:06 PM, gprizzi [..] ... <gprizzi [..] ...> wrote:
> Dear Sirs,
>
> Whit the last patch I was able to install orocos Toolchain-2.3 on linux
> patched with xenomai.
>
> To test the system I executed the command:
>
> orogen create test
>
> to get the example orogen module.
>
> Then I executed the commands:
>
> orogen --target=xenomai -v test.orogen
> cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/orocosComponents
>
> This last commands ends with errors about
>
> Optional library RTT_PLUGIN_rtt-typekit NOT FOUND. If the library is already
> installed, use the RTT_PLUGIN_rtt-typekit_ROOT_DIR environment variable or
> ccmake to set the missing variables manually.
> -- Optional library RTT_PLUGIN_rtt-transport-corba NOT FOUND. If the library
> is already installed, use the RTT_PLUGIN_rtt-transport-corba_ROOT_DIR
> environment variable or ccmake to set the missing variables manually.
> CMake Error: The following variables are used in this project, but they are
> set to NOTFOUND.
> Please set them or make sure they are set and tested correctly in the CMake
> files:
> RTT_PLUGIN_rtt-transport-corba_LIBRARY
> linked by target "test_test" in directory /root/rosetta/test
> RTT_PLUGIN_rtt-typekit_LIBRARY
> linked by target "test_test" in directory /root/rosetta/test
>
> I had the same kind of errors in november 2010 and in that occasion Mr.
> Sylvain Joyeux
> told me that The toolchain's orogen has been badly broken.
> A few days later updatting the project I found that this inconsistency was
> fixed.
>
> The errors reported above came from the same cause or they depends on
> environment variable I did't define?
> In the last case can you suggest me how can I correctly define the missing
> environment varibles?
I believe this bug is caused by the cmake macros used by orogen not looking
for the ${OROCOS_TARGET} subdirectory. We install libs by default in a
target subdir of lib/orocos/<target>, cmake looks probably only in lib/orocos.
We need to fix this on the mainline, it's gonna be for monday.
>
> The full output follows.
>
> Thank you in advance for your kind support.
>
> Gianpaolo Rizzi.
>
> root@rizzi-P5KC:~/rosetta# orogen create test
> root@rizzi-P5KC:~/rosetta# cd test
> root@rizzi-P5KC:~/rosetta/test# orogen --target=xenomai -v test.orogen
> INFO: creating /root/rosetta/test/.orogen/test.orogen
> INFO: creating /root/rosetta/test/.orogen/orogen-project-test.pc.in
> INFO: creating /root/rosetta/test/.orogen/tasks/TaskBase.cpp
> INFO: creating /root/rosetta/test/.orogen/tasks/TaskBase.hpp
> INFO: creating /root/rosetta/test/tasks/Task.cpp
> INFO: creating /root/rosetta/test/templates/tasks/Task.cpp
> INFO: creating /root/rosetta/test/tasks/Task.hpp
> INFO: creating /root/rosetta/test/templates/tasks/Task.hpp
> INFO: creating /root/rosetta/test/.orogen/tasks/DeployerComponent.cpp
> INFO: creating /root/rosetta/test/.orogen/tasks/test-tasks.pc.in
> INFO: creating /root/rosetta/test/.gitignore
> INFO: creating /root/rosetta/test/templates/.gitignore
> INFO: creating /root/rosetta/test/Doxyfile.in
> INFO: creating /root/rosetta/test/templates/Doxyfile.in
> INFO: creating /root/rosetta/test/.orogen/main-test_test.cpp
> INFO: creating /root/rosetta/test/.orogen/test_test.pc.in
> INFO: creating /root/rosetta/test/.orogen/config/test_testDeployment.cmake
> INFO: creating /root/rosetta/test/.orogen/config/FindOrocosCORBA.cmake
> INFO: creating /root/rosetta/test/.orogen/config/Deployment.cmake
> INFO: creating /root/rosetta/test/.orogen/config/LibFindMacros.cmake
> INFO: creating /root/rosetta/test/.orogen/config/RPATHHandling.cmake
> INFO: creating /root/rosetta/test/.orogen/config/FindRTTPlugin.cmake
> INFO: creating /root/rosetta/test/.orogen/config/testBase.cmake
> INFO: creating /root/rosetta/test/.orogen/config/testTaskLib.cmake
> INFO: creating /root/rosetta/test/tasks/CMakeLists.txt
> INFO: creating /root/rosetta/test/templates/tasks/CMakeLists.txt
> INFO: creating /root/rosetta/test/CMakeLists.txt
> INFO: creating /root/rosetta/test/templates/CMakeLists.txt
> root@rizzi-P5KC:~/rosetta/test# mkdir build
> root@rizzi-P5KC:~/rosetta/test# cd build
> root@rizzi-P5KC:~/rosetta/test/build# 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
> -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
> -- documentation generation disabled
> -- checking for module 'orocos-rtt-xenomai>=2.1.0'
> -- found orocos-rtt-xenomai, version 2.3.0
> -- 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
> -- checking for module 'orocos-rtt-corba-xenomai'
> -- found orocos-rtt-corba-xenomai, version 2.3.0
> -- Optional library RTT_PLUGIN_rtt-typekit NOT FOUND. If the library is
> already installed, use the RTT_PLUGIN_rtt-typekit_ROOT_DIR environment
> variable or ccmake to set the missing variables manually.
> -- Optional library RTT_PLUGIN_rtt-transport-corba NOT FOUND. If the library
> is already installed, use the RTT_PLUGIN_rtt-transport-corba_ROOT_DIR
> environment variable or ccmake to set the missing variables manually.
> CMake Error: The following variables are used in this project, but they are
> set to NOTFOUND.
> Please set them or make sure they are set and tested correctly in the CMake
> files:
> RTT_PLUGIN_rtt-transport-corba_LIBRARY
> linked by target "test_test" in directory /root/rosetta/test
> RTT_PLUGIN_rtt-typekit_LIBRARY
> linked by target "test_test" in directory /root/rosetta/test
>
> -- Configuring incomplete, errors occurred!
>
Peter
--
Orocos-Dev mailing list
Orocos-Dev [..] ...