Eros developers will endeavour to assist in making ros cross-compilable by sending patches and suggestions upstream whenever possible. Often however, there is a delay until the patch is applied (often have to wait until the next major ros version is rolled out if it is a significant patch). Until then, eros will apply them directly here and phase them out when they have been merged upstream.
How the are Applied
The patches are automagically applied by the rostoolchain script when a toolchain module is first selected (i.e. when ros becomes aware it needs to cross-compile). The rostoolchain script first checks for your version of ros and then applies the appropriate patch set.
Even after patching, these will always gracefully default to normal behaviour if not cross-compiling.
If you wish to know more about the individual patches, refer to the appropriate folder in eros_python_tools/patches. Each patch has an associated readme.txt which provides some brief information about the patch and a url to any tickets that have been submitted upstream.
These patches may from time to time break if bugfixes to the current version change a critical piece of code. When this happens, please submit a bug to eros' issue tracker.
These are a list of outstanding patches that are applied and awaiting integration upstream in the next version. There have been many other patches that were able to be trivially applied immediately in the current versions.
- Two-pass build recipes that allow crosscompiling of rospack and genmsg_cpp.
Various cmake patches to help ros cmake logic for find_file work outside the toolchain root.
- Improve load performance by reducing frequency of one off loop timers in the ros.
- Some broken gtest logic in topic_tool's cmake files.