-
Notifications
You must be signed in to change notification settings - Fork 226
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
git clone during build stage is bad practice and is known not to work on some architectures #189
Comments
@jacquelinekay This also could be blacklisted for Kinetic arm builds if necessary to avoid the timeouts and errors on the farm. |
ros-infrastructure/ros_buildfarm_config#38 will blacklist ardrone_autonomy for ARM Kinetic builds. The package was previously blacklisted for Indigo and Jade. |
I agree with that. There are three alternatives that comes to my mind:
I will implement option 2 to fix some of the issues as soon as I get a chance.
I am sorry about that. In addition to the git clone issue, there is an assembler error (when the Parrot SDK is being built) that is due to incompatibility of the h264 decoding code with the |
Yeah, option 2 is probably the low hanging fruit. For 1. Another option might be to create a standalone wrapper package for the sdk and depend on it from the driver package. That will separate the source code and decouple the release cycles. |
Thanks @tfoote By 3. I actually meant to wrap our own fork of the SDK into a standalone package. Do you know if there is any other package that wraps a |
Ahh, yes, then what I was talking about was option 3. I do not know of any packages currently using just make. There are several pure cmake packages which have been demonstrated. And I think there are a couple that use cmake to call a third party makefile. @wjwwood might be able to point you to a good example. |
Just follow the thing you linked to (http://wiki.ros.org/bloom/Tutorials/ReleaseThirdParty#Modifying_the_Upstream_Repository) and invoke additionally drop in a |
I actually did the same thing in order to wrap Parrot's new SDK into a catkin package. The code is not yet released, but it follows what @wjwwood suggested more or less. The underlying build system is more complex though for that package. I will go on an adopt the same procedure to wrap the calls to |
Git cloning during the build step is poor practice. It means that building a package is tied to network connectivity, and the continued availability of the hosting server.
More pressing is that git clone is known not to work in some build environments such as QEMU.
This package is timing out repeatedly building on arm64 http://build.ros.org/job/Kbin_arm_dJv8__ardrone_autonomy__debian_jessie_arm64__binary/
Also armhf http://build.ros.org/job/Kbin_arm_uXhf__ardrone_autonomy__ubuntu_xenial_armhf__binary/
The text was updated successfully, but these errors were encountered: