Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 626272

Summary: dev-util/cargo-0.20.0 does not build with libressl > 2.6.0
Product: Gentoo Linux Reporter: Anton Kochkov <anton.kochkov>
Component: Current packagesAssignee: Gentoo Rust Project <rust>
Status: RESOLVED OBSOLETE    
Severity: normal CC: anarchy, cedk, jstein, kernelpanic, mhkbst, sandino, tczaude, tsmksubc
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: full build log
emerge --info output
Patch for cargo 0.21.1 with openssl-sys 0.9.19
ebuild for cargo 0.21.1 patched with openssl-sys 0.9.19
libressl-2.6.2 support
ebuild patched for libressl-2.6.2
cargo-0.22.--libressl-2.6.2 support
cargo-0.22.0-libressl-2.6.3

Description Anton Kochkov 2017-07-26 17:35:59 UTC
Created attachment 486910 [details]
full build log

With dev-lang/rust-1.19.0-r1 installed:

>>> Unpacking cargo-0.19.0-x86_64-unknown-linux-gnu.tar.gz to /var/tmp/portage/dev-util/cargo-0.20.0/work
>>> Source unpacked in /var/tmp/portage/dev-util/cargo-0.20.0/work
>>> Preparing source in /var/tmp/portage/dev-util/cargo-0.20.0/work/cargo-0.20.0 ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/dev-util/cargo-0.20.0/work/cargo-0.20.0 ...
Configuring cargo...
>>> Source configured.
>>> Compiling source in /var/tmp/portage/dev-util/cargo-0.20.0/work/cargo-0.20.0 ...
[m(B[38;5;1m[1merror:[m(B An unknown error occurred
[m(B
To learn more, run the command again with --verbose.
[m(B>>> Source compiled.
>>> Test phase [not enabled]: dev-util/cargo-0.20.0

>>> Install cargo-0.20.0 into /var/tmp/portage/dev-util/cargo-0.20.0/image/ category dev-util
!!! dobin: target/release/cargo does not exist
 [31;01m*[0m ERROR: dev-util/cargo-0.20.0::gentoo failed (install phase):
 [31;01m*[0m   dobin failed
 [31;01m*[0m 
 [31;01m*[0m If you need support, post the output of `emerge --info '=dev-util/cargo-0.20.0::gentoo'`,
 [31;01m*[0m the complete build log and the output of `emerge -pqv '=dev-util/cargo-0.20.0::gentoo'`.
 [31;01m*[0m The complete build log is located at '/var/tmp/portage/dev-util/cargo-0.20.0/temp/build.log'.
 [31;01m*[0m The ebuild environment file is located at '/var/tmp/portage/dev-util/cargo-0.20.0/temp/environment'.
 [31;01m*[0m Working directory: '/var/tmp/portage/dev-util/cargo-0.20.0/work/cargo-0.20.0'
 [31;01m*[0m S: '/var/tmp/portage/dev-util/cargo-0.20.0/work/cargo-0.20.0'
[33;01m * [39;49;00mQA Notice: file does not exist:
[33;01m * [39;49;00m
[33;01m * [39;49;00m	dobin: target/release/cargo does not exist
Comment 1 Anton Kochkov 2017-07-26 17:37:23 UTC
Created attachment 486912 [details]
emerge --info output
Comment 2 Ulenrich 2017-08-08 21:35:58 UTC
same for me
Comment 3 Ulenrich 2017-08-09 13:07:11 UTC
@Anton
if you use libreSSL-2.60 then look at
https://bugs.gentoo.org/show_bug.cgi?id=626084
which has a patch
Comment 4 Dirkjan Ochtman (RETIRED) gentoo-dev 2017-09-09 13:36:25 UTC
Please try with cargo-0.21.0, which I think will fix this.
Comment 5 Nick Wallingford 2017-09-09 21:31:47 UTC
(In reply to Dirkjan Ochtman from comment #4)
> Please try with cargo-0.21.0, which I think will fix this.

cargo:rustc-cfg=osslconf="OPENSSL_NO_BUF_FREELISTS"
cargo:rustc-cfg=osslconf="OPENSSL_NO_COMP"
cargo:rustc-cfg=osslconf="OPENSSL_NO_KRB5"
cargo:rustc-cfg=osslconf="OPENSSL_NO_PSK"
cargo:rustc-cfg=osslconf="OPENSSL_NO_RFC3779"
cargo:rustc-cfg=osslconf="OPENSSL_NO_SRP"
cargo:rustc-cfg=osslconf="OPENSSL_NO_SSL3_METHOD"
cargo:conf=OPENSSL_NO_BUF_FREELISTS,OPENSSL_NO_COMP,OPENSSL_NO_KRB5,OPENSSL_NO_PSK,OPENSSL_NO_RFC3779,OPENSSL_NO_SRP,OPENSSL_NO_SSL3_METHOD

--- stderr
thread 'main' panicked at '

This crate is only compatible with OpenSSL 1.0.1, 1.0.2, and 1.1.0, or LibreSSL
2.5 and 2.6.0, but a different version of OpenSSL was found. The build is now
aborting due to this version mismatch.

', /var/tmp/portage/dev-util/cargo-0.21.0/work/cargo_home/gentoo/openssl-sys-0.9.15/build.rs:416
note: Run with `RUST_BACKTRACE=1` for a backtrace.

Build failed, waiting for other jobs to finish...
error: build failed
>>> Source compiled.
>>> Test phase [not enabled]: dev-util/cargo-0.21.0

>>> Install cargo-0.21.0 into /var/tmp/portage/dev-util/cargo-0.21.0/image/ category dev-util
!!! dobin: target/release/cargo does not exist
Comment 6 Jory A. Pratt gentoo-dev 2017-09-13 02:12:13 UTC
*** Bug 630832 has been marked as a duplicate of this bug. ***
Comment 7 Michelangelo Scopelliti 2017-09-14 07:43:48 UTC
Dear all,

I feel that bug title is a little bit misleading.
As far as I can tell, the problem is not the failed 'dobin', but the libressl dependency.

Looking at the sources (and the posted message in comment #5), cargo-0.21.0 requires <=libressl-2.6.0

Upgrading the crate to current released one (cargo 0.21.0 uses crate openssl-0.9.15, current openssl is 0.9.17) besides causing more crossed dependencies issues, doesn't solve the problem - max libressl version supported is still 2.6.0.

On my systems, masking libressl-2.6.1 solved the issue
Comment 8 Nick Wallingford 2017-09-22 17:35:17 UTC
rust-openssl-0.9.19 (and the corresponding openssl-sys) has been released, supporting libressl-2.6.1. This update has not yet been passed on to upstream cargo.
Comment 10 Dirkjan Ochtman (RETIRED) gentoo-dev 2017-09-23 08:27:52 UTC
Haha, yes -- nice teamwork: Nick reports new openssl versions, I create a pull request, Tom reports back about it.
Comment 11 Tom 2017-09-23 08:51:44 UTC
Now We shold update cario in portage to 0.23
https://github.com/rust-lang/cargo/commit/1e54d9efa3ed35ad58192d10cd2d4bc2a9c2d465

and next wait n new version r make patch from 

https://github.com/rust-lang/cargo/pull/4530
Comment 12 Sandino Araico Sanchez 2017-10-05 10:01:40 UTC
Created attachment 497724 [details, diff]
Patch for cargo 0.21.1 with openssl-sys 0.9.19

This patch changes cargo's dependencies on openssl and openssl-sys from 0.9.14 to 0.9.19.
Comment 13 Sandino Araico Sanchez 2017-10-05 10:06:04 UTC
Created attachment 497726 [details]
ebuild for cargo 0.21.1 patched with openssl-sys 0.9.19

This ebuild for cargo 0.21.1 uses the openssl-sys 0.9.19 patch. It compiles with libressl 2.6.1.
Comment 14 Jory A. Pratt gentoo-dev 2017-10-16 01:18:58 UTC
Created attachment 498810 [details, diff]
libressl-2.6.2 support

use openssl-sys-0.9.20 which has full support for libressl-2.6.2
Comment 15 Sandino Araico Sanchez 2017-10-17 00:57:01 UTC
Created attachment 498928 [details]
ebuild patched for libressl-2.6.2

Ebuild for cargo 0.21.1 with Jory A. Pratt's patch. Should compile with libressl-2.6.2.
Comment 16 Jory A. Pratt gentoo-dev 2017-10-18 13:23:51 UTC
Created attachment 499072 [details, diff]
cargo-0.22.--libressl-2.6.2 support
Comment 17 maurerpe 2017-10-29 22:46:32 UTC
I have a pull request to add cargo-0.22 to the libressl overlay with a patch very similar to Jory's.

https://github.com/gentoo/libressl/pull/208
Comment 18 Jory A. Pratt gentoo-dev 2017-11-20 11:55:53 UTC
Created attachment 505066 [details, diff]
cargo-0.22.0-libressl-2.6.3

Feel free to use it. I also have full support via my dev overlay with patch already applied there.
Comment 19 Aaron Bauman (RETIRED) gentoo-dev 2018-05-25 01:07:50 UTC
Closing in favor of newer bug 655098