Ask Your Question

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
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
==> 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
~/ros_yws/digi  $ file devel_isolated/console_bridge/lib/ 
devel_isolated/console_bridge/lib/ 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


If I convert console_bridge into a catkin package, things work swimmingly. But I assume it's not a catkin package on purpose... hm.

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

1 Answer

Sort by ยป oldest newest most voted

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 ?

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


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


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

Seen: 654 times

Last updated: Jan 24 '14