I've tried to make a rough draft for the rosjava recipe. This is an attempt 
to adapt these installation instructions 
<http://wiki.ros.org/rosjava/Tutorials/indigo/Source%20Installation>.

     S="${WORKDIR}/git"
     INSANE_SKIP_${PN} += "dev-deps"

     SRC_URI = "git://
github.com/rosjava/rosjava_core.git;protocol=https;branch=indigo;name=latest
"
     SRCREV_latest = "389b657eacbb2428a05915385696f26ceaa71848"

     DEPENDS += " \
        catkin \
        catkin-dev \ 
        catkin-runtime \
        catkin-runtime-dev \
        python \
        ros-config \
        cpp-common-dev \ 
        genmsg-dev \ 
        genpy-dev \ 
        geometry-msgs-dev \ 
        message-generation-dev \
        nav-msgs-dev \
        sensor-msgs-dev \ 
        std-msgs-dev \ 
        tf2-msgs-dev \
        catkin \
        catkin-runtime \
        gradle \
        python \
        python-catkin-pkg \
        ros-config \
       "

do_configure_prepend() {
        install -d ${D}/home/root/rosjava/src
        wstool init -j4 ${D}/home/root/rosjava/src 
https://raw.githubusercontent.com/rosjava/rosjava/indigo/rosjava.rosinstall
        cd ${D}/home/root/rosjava
        rosdep update
        rosdep install --rosdistro indigo --from-paths src -i -y
        export PYTHONPATH="${STAGING_DIR_HOST}/opt/ros/indigo/lib/
python2.7/site-packages"
        export CMAKE_PREFIX_PATH="/opt/ros/indigo"
        export RT_LIBRARY=${libdir}
        catkin_make
}

           FILES_${PN} +="/home/root/rosjava" 
     

During this task, the catkin_make instruction fails with this error message:

| CMake Error at /opt/ros/indigo/share/catkin/cmake/assert.cmake:17 
(message):
| 
| 
|   Assertion failed: check for file existence, but filename
|   (RT_LIBRARY-NOTFOUND) unset.  Message: RT Library
| 
| Call Stack (most recent call first):
|   /opt/ros/indigo/share/catkin/cmake/tools/rt.cmake:42 
(assert_file_exists)
|   /opt/ros/indigo/share/catkin/cmake/all.cmake:147 (include)
|   /opt/ros/indigo/share/catkin/cmake/catkinConfig.cmake:20 (include)
|   CMakeLists.txt:52 (find_package)


There isn't a setup.bash which is created for me to use, as this appears to 
be created in catkin.inc within the ${PN}-dev package.  Adding catkin-dev 
and catkin-runtime-dev to the DEPENDS variable of my recipe appears to do 
nothing (setup.bash isn't available during the build).

Some of my questions include: 

    1. Is setup.bash actually required to install rosjava?
    2. If setup.bash is required, how can I generate one?
    3. Does it make sense to run catkin_make during a BitBake task?
    4. If catkin_make can be run, how can the recipe be modified so that it 
finishes as if run from the target machine?
    5. If catkin_make can't be run, will I need to replicate all the 
commands run with catkin_make?
    6. What is the intent of catkin.bbclass, and does it relate to 
catkin_make?

I have the creeping suspicion that I've gone in completely the wrong 
direction here.  Any help at all would be greatly appreciated.

Thanks,
Travis Pressler

Reply via email to