Bug 1383778

Summary: cargo: FTBFS in Fedora Rawhide
Product: [Fedora] Fedora Reporter: Josh Stone <jistone>
Component: cargoAssignee: Josh Stone <jistone>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: jistone
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: http://apps.fedoraproject.org/koschei/package/cargo
Whiteboard:
Fixed In Version: cargo-0.15.0-2.fc26 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-01-03 20:59:22 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: 1383753    
Bug Blocks: 1383740    

Description Josh Stone 2016-10-11 17:52:01 UTC
Description of problem:
Package cargo fails to build from source in Fedora Rawhide.

Version-Release number of selected component (if applicable):
0.13.0-3.fc26

Steps to Reproduce:
koji build --scratch f26 cargo-0.13.0-3.fc26.src.rpm

Additional info:
This package is tracked by Koschei. See:
http://apps.fedoraproject.org/koschei/package/cargo


command did not execute successfully, got: exit code: 1
--- stderr
src/openssl_shim.c: In function 'DH_new_from_params':
src/openssl_shim.c:132:7: error: dereferencing pointer to incomplete type 'DH {aka struct dh_st}'
     dh->p = p;
       ^~
src/openssl_shim.c: In function 'X509_get_extensions_shim':
src/openssl_shim.c:143:13: error: dereferencing pointer to incomplete type 'X509 {aka struct x509_st}'
     return x->cert_info ? x->cert_info->extensions : NULL;
             ^~
src/openssl_shim.c:144:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^


The rust-openssl crate is working on support for 1.1.0:
https://github.com/sfackler/rust-openssl/issues/452

Then this will need to trickle through the other crate dependencies -- curl, libssh2, libgit2 -- and then cargo itself can finally be patched.

Comment 1 Josh Stone 2016-11-01 05:18:45 UTC
Upstream work on the openssl-sys crate is basically finished, but it hasn't been released yet, waiting for coordination with the popular dependent crates.

In the meantime, a cargo rebuild with compat-openssl10-devel went fine:
http://koji.fedoraproject.org/koji/buildinfo?buildID=811937

Comment 2 Josh Stone 2016-12-16 19:36:35 UTC
The upcoming release (rust 1.14 with cargo 0.15) will use the new rust-openssl, which now supports openssl 1.1.0.  I confirmed it on my rust-beta copr:
https://copr.fedorainfracloud.org/coprs/jistone/rust-beta/