Bug 1384156

Summary: rust FTBFS on aarch64 epel7
Product: [Fedora] Fedora EPEL Reporter: D. Marlin <dmarlin>
Component: rustAssignee: Josh Stone <jistone>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: epel7CC: jistone, mbenitez
Target Milestone: ---   
Target Release: ---   
Hardware: aarch64   
OS: Linux   
Whiteboard:
Fixed In Version: rust-1.13.0-1.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-12-03 06:49:55 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:    
Bug Blocks: 1285484, 1384158    
Attachments:
Description Flags
enable rust for epel7 aarch64 none

Description D. Marlin 2016-10-12 16:52:49 UTC
Description of problem:

rust fails to build from source for Fedora EPEL7 on RHELSA-7.2.


Version-Release number of selected component (if applicable):

rust-1.11.0-3.el7.2


How reproducible:

consistently


Steps to Reproduce:
1.  On a RHELSA-7.2 host:
    mock rebuild rust-1.11.0-3.el7.2.src.rpm
2.
3.

Actual results:

DEBUG util.py:421:  Error: No Package found for rust < 1.11.0-3.el7.2
DEBUG util.py:421:  Error: No Package found for rust >= 1.11.0


Expected results:


Additional info:

The bootstrap version (rust-1.11.0-3.el7.1) also fails to build with:
  error: Architecture is not included: aarch64

In Fedora, it appears that AArch64 was bootstrapped in rust-1.12.0-3.fc26, but that also fails to build for EPEL7:
  configure: error: bad LLVM version: 3.4.2, need >=3.7

Would it be possible to either 1) move to the newer version of rust (with AArch64 support) in EPEL7, or 2) backport AArch64 support to rust-1.11.0 for EPEL7?

Comment 1 Josh Stone 2016-10-12 17:35:44 UTC
(In reply to D. Marlin from comment #0)
> In Fedora, it appears that AArch64 was bootstrapped in rust-1.12.0-3.fc26,
> but that also fails to build for EPEL7:
>   configure: error: bad LLVM version: 3.4.2, need >=3.7

Right, el7's LLVM is too old, so I used Rust's bundled LLVM in the EPEL7 spec.

> Would it be possible to either 1) move to the newer version of rust (with
> AArch64 support) in EPEL7, or 2) backport AArch64 support to rust-1.11.0 for
> EPEL7?

re 1) I eventually do want to keep moving to newer versions.  I hesitate to push 1.12 to stable fedora because of rust#36774, so I only have it in rawhide right now.  Since el7 is using the bundled llvm anyway, that bug probably doesn't apply, but I'm just being conservative.

  https://github.com/rust-lang/rust/issues/36774

re 2) I can probably do this.  The only thing holding up aarch64 earlier was a weird bootstrap segfault, which I finally figured out as a jemalloc issue and filed rust#36994.  The MALLOC_CONF workaround will probably work for 1.11 too, but I haven't actually tried that build.

  https://github.com/rust-lang/rust/issues/36994

Is there any public build infrastructure for aarch64 EPEL7?  If I backport the aarch64 enablement, how would you like to proceed to actually bootstrap it?

Comment 3 Josh Stone 2016-10-14 05:32:05 UTC
Created attachment 1210341 [details]
enable rust for epel7 aarch64

This rust.spec patch should hopefully be all that's necessary to bootstrap aarch64, and I already uploaded the necessary sources to Fedora's lookaside cache.  If you could try this build in your environment, I would appreciate it!

Comment 4 D. Marlin 2016-10-14 18:39:04 UTC
rust-1.11.0-3.el7.2 (with the above patch applied) does successfully build for epel7 aarch64.

Comment 5 Fedora Update System 2016-11-15 20:53:53 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 6 Fedora Update System 2016-11-17 12:18:44 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 7 Fedora Update System 2016-12-03 06:49:55 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.