Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fails to build on systems with OpenSSL 1.1.1 #34

Closed
alaroldai opened this issue Oct 20, 2018 · 2 comments
Closed

Fails to build on systems with OpenSSL 1.1.1 #34

alaroldai opened this issue Oct 20, 2018 · 2 comments

Comments

@alaroldai
Copy link

Related: sfackler/rust-openssl#987

Because cargo-raze depends on an old version of cargo (v0.20.0, current version is v0.30.0), which in turn depends on an old version of openssl, cargo-raze fails to build on systems with OpenSSL v1.1.1 installed because the openssl crate fails to detect the installed OpenSSL version.

I've tried fixing this locally by updating the dependency on Cargo, but it looks like there are some breaking API changes that make that a more complicated process than I expected. Someone more familiar with the Cargo API might have a better shot at this.

In case it's related, here's some system info:
OS: Arch Linux (Linux v4.18.12)
OpenSSL version: 1.1.1 (11 Sep 2018)
Version of the Cargo binary I used to build cargo-raze: 1.29.0

Here's a sample of the build output after updating the version of cargo:

[haliax] ~/i/c/impl →  cargo build
   Compiling cargo-raze v0.1.1 (file:///home/alaroldai/install/cargo-raze/impl)                                                                                                                    
error[E0425]: cannot find function `call_main_without_stdin` in module `cargo`
  --> src/main.rs:91:23
   |
91 |   let result = cargo::call_main_without_stdin(real_main, &cargo_config, USAGE, &args, false);
   |                       ^^^^^^^^^^^^^^^^^^^^^^^ not found in `cargo`

error[E0061]: this function takes 7 parameters but 5 parameters were supplied
  --> src/main.rs:99:21
   |
99 |   try!(cargo_config.configure(
   |                     ^^^^^^^^^ expected 7 parameters

error[E0599]: no method named `into_package_id_specs` found for type `cargo::ops::Packages` in the current scope
   --> src/metadata.rs:241:31
    |
241 |     let specs = Packages::All.into_package_id_specs(&ws)?;
    |                               ^^^^^^^^^^^^^^^^^^^^^
    |
    = help: did you mean `to_package_id_specs`?

error[E0277]: the trait bound `&str: std::error::Error` is not satisfied
   --> src/metadata.rs:252:16
    |
252 |         .ok_or(CargoError::from("root crate should be in cargo resolve"))
    |                ^^^^^^^^^^^^^^^^ the trait `std::error::Error` is not implemented for `&str`
    |
    = note: required because of the requirements on the impl of `failure::Fail` for `&str`
    = note: required because of the requirements on the impl of `std::convert::From<&str>` for `cargo::Error`
    = note: required by `std::convert::From::from`

// alaroldai@: stripped a number of other in calling CargoError::from with a String argument

error: aborting due to 31 previous errors

Some errors occurred: E0061, E0277, E0308, E0425, E0599.
For more information about an error, try `rustc --explain E0061`.
error: Could not compile `cargo-raze`.

To learn more, run the command again with --verbose.
@acmcarther
Copy link
Owner

The new path to this project is https://github.com/google/cargo-raze

I've refiled this bug with the details here google/cargo-raze#66 and I'm looking at this now.

@acmcarther
Copy link
Owner

This was fixed in the 0.1.2 release. Please feel free to reopen (the other bug, ideally) if you still see bugs or have any other issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants