Best practice for multiple architecture workspace?

asked 2018-06-09 00:14:23 -0500

chrisalbertson gravatar image

This has to be a common issue... I have ROS nodes that can execute on either AMD64 or ARMHF and some that will only run of one of them. If I place everything in one workspace and do catkin make it builds for the architecture I type "make" on So I have a copy and keep two workspaces but this means copies of the source code. There must be a smarter way to do this.

The workspace is on an NFS server so the files are mounted onto the Xeon based machine and some Raspberry Pi3 . At run time the nodes are distributed to both places.

I'd like have two directories of binaries and the launch files would some how sort it out and run the right binary

edit retag flag offensive close merge delete



Use catkin_tools with two profiles and different install spaces?

gvdhoorn gravatar image gvdhoorn  ( 2018-06-09 05:50:51 -0500 )edit

Explicitly specify/prohibit compilation as per architecture. In CMake, you can perform cross-compilation pretty easily. Simply force every node to be compiled to the desired platform (and no compilation if no cross-compile toolkit found)

kunaltyagi gravatar image kunaltyagi  ( 2018-06-10 23:46:11 -0500 )edit