Description of problem: cargo fails to build from source for Fedora EPEL7 on RHELSA-7.2. Version-Release number of selected component (if applicable): cargo-0.13.0-2.el7.2 How reproducible: consistently Steps to Reproduce: 1. On a RHELSA-7.2 host: mock rebuild cargo-0.13.0-2.el7.2.src.rpm 2. 3. Actual results: Error: No Package found for cargo Error: No Package found for rust Expected results: Additional info: The bootstrap version (cargo-0.12.0-3.el7.1) also fails to build due to dependencies (rust), and it does not include support for AArch64. In Fedora, it appears that AArch64 was bootstrapped in cargo-0.13.0-2. Would it be possible to either 1) move to the newer version of cargo (with AArch64 support) in EPEL7, or 2) backport AArch64 support to cargo-0.12.0 for EPEL7?
Once Rust is built, I expect Cargo should be easy. We can stick to whatever version corresponds to the Rust release we get. (1.11 + 0.12 or 1.12 + 0.13) ((it's slightly annoying that the minor versions are off by one...))
Created attachment 1210342 [details] enable cargo for epel7 aarch64 This cargo.spec patch should hopefully be all that's necessary to bootstrap aarch64. Assuming you can get rust working, I would appreciate if you could also try this build in your environment. Thanks!
Using the patched version of rust in the buildroot, and above patch to cargo, I get the following error: + /usr/bin/make -j8 VERBOSE=1 /usr/bin/python /builddir/build/BUILD/cargo-0.12.0//src/etc/dl-snapshot.py aarch64-unknown-linux-gnu no snapshot for the triple 'aarch64-unknown-linux-gnu' hash will not be verified running: curl -o target/dl/cargo-nightly-aarch64-unknown-linux-gnu.tar.gz https://static.rust-lang.org/cargo-dist/2016-03-21/cargo-nightly-aarch64-unknown-linux-gnu.tar.gz Traceback (most recent call last): File "/builddir/build/BUILD/cargo-0.12.0//src/etc/dl-snapshot.py", line 96, in <module> raise Exception("failed to verify the checksum of the snapshot") Exception: failed to verify the checksum of the snapshot make: *** [target/snapshot/bin/cargo] Error 1
Ah, right, I changed how that was done in the next release. For now, to keep this minimal, it probably just needs another small addition: diff --git a/cargo.spec b/cargo.spec index 8569d6f3ac3a..52864c8a9ba4 100644 --- a/cargo.spec +++ b/cargo.spec @@ -105,7 +105,7 @@ popd %if %with bootstrap mkdir -p target/dl/ -cp -t target/dl/ %{SOURCE10} %{SOURCE11} %{SOURCE12} +cp -t target/dl/ %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %endif
With that additional change, cargo-0.12.0-3.el7.2 successfully builds.
cargo-0.14.0-2.el7 rust-1.13.0-1.el7 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-c96b50a580
cargo-0.14.0-2.el7, rust-1.13.0-1.el7 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-c96b50a580
cargo-0.14.0-2.el7, rust-1.13.0-1.el7 has been pushed to the Fedora EPEL 7 stable repository. If problems still persist, please make note of it in this bug report.