Bug 1384158 - cargo FTBFS on aarch64 epel7
Summary: cargo FTBFS on aarch64 epel7
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora EPEL
Classification: Fedora
Component: cargo
Version: epel7
Hardware: aarch64
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: Josh Stone
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 1384156
Blocks: epel7aarch64
TreeView+ depends on / blocked
 
Reported: 2016-10-12 16:56 UTC by D. Marlin
Modified: 2016-12-03 06:49 UTC (History)
1 user (show)

Fixed In Version: cargo-0.14.0-2.el7
Clone Of:
Environment:
Last Closed: 2016-12-03 06:49:49 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
enable cargo for epel7 aarch64 (2.96 KB, patch)
2016-10-14 05:34 UTC, Josh Stone
no flags Details | Diff

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.


Note You need to log in before you can comment on or make changes to this bug.