Compile ROS Comm without catkin_make_isolated
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.
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