Ask Your Question
0

Compile ROS Comm without catkin_make_isolated

asked 2014-01-23 05:16:04 -0600

dustingooding gravatar image

updated 2014-01-28 17:19:08 -0600

ngrennan gravatar image

ROS Comm now depends on a non-catkin package, console_bridge. This means catkin_make no longer works. Unfortunately, I can't convince catkin to use my cross compile toolchain when using catkin_make_isolated, so I just end up with host-binaries.

I'm cross compiling ROS Comm Hydro for an i.MX53 Cortex A8 ARM board. I had configured yujin_tools (thanks Daniel) to cross-compile the ROS Comm sources before the console_bridge dependency existed. Now, "yujin_make" (which calls catkin_make) no longer works.

How can I convince yujin and/or catkin to build ROS Comm with my xc toolchain?

~/ros_yws/digi  $ yujin_make
####
#### Running command: "cmake /home/robonaut/ros_yws/digi/src -DCMAKE_TOOLCHAIN_FILE=/home/robonaut/ros_yws/digi/toolchain.cmake -C/home/robonaut/ros_yws/digi/config.cmake" in "/home/robonaut/ros_yws/digi/build"
####
loading initial cache file /home/robonaut/ros_yws/digi/config.cmake
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/local/DigiEL-5.9/x-tools/arm-cortex_a8-linux-gnueabi/bin/arm-cortex_a8-linux-gnueabi-gcc
-- Check for working C compiler: /usr/local/DigiEL-5.9/x-tools/arm-cortex_a8-linux-gnueabi/bin/arm-cortex_a8-linux-gnueabi-gcc -- works
...snip...
CMake Error at catkin/cmake/catkin_workspace.cmake:88 (message):
  This workspace contains non-catkin packages in it, and catkin cannot build
  a non-homogeneous workspace without isolation.

So yujin_make uses the toolchain correctly, but catkin doesn't like console_bridge.

~/ros_yws/digi  $ yujin_make_isolated
...snip...
==> Processing catkin package: 'catkin'
==> Creating build directory: 'build_isolated/catkin'
==> cmake /home/robonaut/ros_yws/native/src/catkin -DCATKIN_DEVEL_PREFIX=/home/robonaut/ros_yws/native/devel_isolated/catkin -DCMAKE_INSTALL_PREFIX=/home/robonaut/ros_yws/native/install_isolated in '/home/robonaut/ros_yws/native/build_isolated/catkin'
-- 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
...snip...
~/ros_yws/digi  $ file devel_isolated/console_bridge/lib/libconsole_bridge.so 
devel_isolated/console_bridge/lib/libconsole_bridge.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=0x6d0102a6e7bbb8584315b962cdb8c023aea2137f, not stripped

But yujin_make_isolated fails to use the toolchain, even though catkin is happy.

edit retag flag offensive close merge delete

Comments

If I convert console_bridge into a catkin package, things work swimmingly. But I assume it's not a catkin package on purpose... hm. https://github.com/dustingooding/console_bridge-release/tree/feature/catkin

dustingooding gravatar imagedustingooding ( 2014-01-23 11:00:51 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted
1

answered 2014-01-23 13:14:18 -0600

ahendrix gravatar image

updated 2014-01-24 06:14:26 -0600

The i.MX boards support Ubuntu well; would it be easier to use the ARM debs http://wiki.ros.org/hydro/Installation/UbuntuARM ?

It looks like there are a number newer Ubuntu of builds for the i.MX53 linked off of the i.MX53 Quickstart guide.

I would start with one of the 13.04 builds and start browsing the server from there.

edit flag offensive delete link more

Comments

I've only been able to find 11.10 for i.MX. I was hoping to find at least 12.04 (LTS and all). Are you aware of a 12.04 build?

dustingooding gravatar imagedustingooding ( 2014-01-24 04:09:04 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 2014-01-23 05:16:04 -0600

Seen: 654 times

Last updated: Jan 24 '14