Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1384158

Summary: cargo FTBFS on aarch64 epel7
Product: [Fedora] Fedora EPEL Reporter: D. Marlin <dmarlin>
Component: cargoAssignee: Josh Stone <jistone>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: epel7CC: jistone
Target Milestone: ---   
Target Release: ---   
Hardware: aarch64   
OS: Linux   
Whiteboard:
Fixed In Version: cargo-0.14.0-2.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-12-03 06:49:49 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1384156    
Bug Blocks: 1285484    
Attachments:
Description Flags
enable cargo for epel7 aarch64 none

Description D. Marlin 2016-10-12 16:56:32 UTC
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?

Comment 1 Josh Stone 2016-10-12 17:40:05 UTC
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...))

Comment 2 Josh Stone 2016-10-14 05:34:27 UTC
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!

Comment 3 D. Marlin 2016-10-14 19:35:51 UTC
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

Comment 4 Josh Stone 2016-10-14 20:35:04 UTC
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

Comment 5 D. Marlin 2016-10-14 21:58:35 UTC
With that additional change, cargo-0.12.0-3.el7.2 successfully builds.

Comment 6 Fedora Update System 2016-11-15 20:53:49 UTC
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

Comment 7 Fedora Update System 2016-11-17 12:18:41 UTC
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

Comment 8 Fedora Update System 2016-12-03 06:49:49 UTC
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.