[master]{common} boost: Stop requiring NumPy for Boost.Python - #1720
[master]{common} boost: Stop requiring NumPy for Boost.Python#1720eigendude wants to merge 1 commit into
Conversation
|
What was causing the gFortran requirement? I couldn't figure out why it was already checking for gFortran installation when I was just building curie core which doesn't have any ROS requirements that I could tell. |
|
Briefly looking at it, I think what maybe happening from my limited knowledge is that something we do need actually needs boost and the meta-ros layer is modding the boost recipe and was adding numpy. So seems like this is one way to solve it, but somewhat unnecessarily complicated since we actually don't need meta-ros layer. The cleanest way to fix the build would be to remove the meta-ros layer (which we aren't currently using at the moment) and if we do need to use it in the future we can add this fix (or add gFortran as a req). |
jpao79
left a comment
There was a problem hiding this comment.
👍 if we really want to keep meta-ros for some reason.
|
@robwoolley any appetite for this change? |
|
@eigendude Thanks for submitting this. I am open to merging this as I think removing the unnecessary dependency will be very helpful in reducing size of the runtime, build, and SDK size. I hope to test it soon after I get the latest releases merged in. |
|
Cool, take your time, I'm just carrying the patch in our local |
Boost.Python can be built without NumPy. The meta-ros Boost append adds python3-numpy-native unconditionally and packages libboost_numpy with the Boost.Python package, causing unrelated Boost users to depend on NumPy. Only package Boost.Python here. Recipes that require Boost.NumPy should enable and depend on it explicitly instead of making all Boost users depend on NumPy. Signed-off-by: Garrett Brown <garrett.brown@aclima.earth>
|
Tick the box to add this pull request to the merge queue (same as
|
Description
This PR removes the
python3-numpy-nativedependency from boost. It should instead be added by downstream consumers of boost.Boost.Python can be built without NumPy. The meta-ros Boost append adds
python3-numpy-nativeunconditionally and packageslibboost_numpywith the Boost.Python package, causing unrelated Boost users to depend on NumPy.Only package Boost.Python here. Recipes that require Boost.NumPy should enable and depend on it explicitly instead of making all Boost users depend on NumPy.
Motivation and context
It was increasing the time of my build without ROS, from 63mins 50s, to 64mins, 32s.
How has this been tested?
Tested on my work OS, based on Scarthgap, with this change backported.
Before
After
Additional verification: Remove meta-ros entirely
(The final task I traced down to a summary or benign action or something.)
Additional verification: Blocklist
python3-numpy-nativeTo scrutinize the size of my OTA, I did:
Before:
My build failed because boost pulled in
python3-numpy-native.After:
Build succeeded because numpy-native wasn't built.