ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Rebuilding with Intel Compiler

asked 2011-05-12 11:34:45 -0500

Robin gravatar image

Hi all,

I saw on the page how edit a package's makefile to use the Intel C/C++ compiler. Is it possible to build the entirety of diamondback using that compiler?

Thanks! ~Robin

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2011-05-12 12:00:40 -0500

Daniel Stonier gravatar image

I haven't tried this, but you can probably configure it globally as a toolchain just as you would a cross-compiling toolchain. This involves setting the variables as described on the rosbuild page in $ROS_ROOT/rostoolchain.cmake and compile flags in $ROS_ROOT/rosconfig.cmake.

Eros can probably help you set this up. In particular, you might want to use eros' rostoolchain and rosplatform helper tools or just check out the format of some of the pre-existing cmake modules in the eros_toolchains and eros_platforms packages.

What you will run into trouble with though is rosdeps and some 3rd party packages. You won't have an easy way to install intel compiled rosdeps into the intel root. Also, 3rd party packages unfortunately are mostly hacked by Makefile and are consequently ignorant about ros' cmake configuration, so they'll need custom hacking of their own Makefiles.

Still, you should be able to get at least the core packages compiling if you can compile/install eros' toolchain bridge (installs apr, apr-util, log4cxx and boost into your toolchain root). You can then build around that. Not for the light hearted, but might be a useful approach for the high performance computing types.

Attempting to do this just illustrates how powerful the rosdeps concept is and how limited you can find yourself without it.

edit flag offensive delete link more


After I've followed your recommendations, how do I rebuild all the core packages?
Robin gravatar image Robin  ( 2011-05-12 13:20:43 -0500 )edit
'rosmake --pre-clean roscpp rosout' or 'rosprotect --minimal' should do it. Drop into #ros or #eros on if you want some live help.
Daniel Stonier gravatar image Daniel Stonier  ( 2011-05-12 17:31:06 -0500 )edit

@Robin I wanted to rebuild a package using an intel compiler as well could you please tell me what you did ? Thank you .. i'm new to ubuntu, makefiles and cmake so .. i'm using ros groovy... is it possible to only build one particular package using icc ? or one particular file and somehow use it?

canatan gravatar image canatan  ( 2013-06-20 10:53:25 -0500 )edit

Question Tools


Asked: 2011-05-12 11:34:45 -0500

Seen: 3,057 times

Last updated: May 12 '11