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

cargo-features = ["strip"] cause compile error #295

Open
Frago9876543210 opened this issue Jun 1, 2020 · 1 comment
Open

cargo-features = ["strip"] cause compile error #295

Frago9876543210 opened this issue Jun 1, 2020 · 1 comment

Comments

@Frago9876543210
Copy link

Frago9876543210 commented Jun 1, 2020

I'm trying to use xargo to reduce space of binary file. min-sized-rust mentions it here. But cargo-features = ["strip"] cause error.
This thing was recently added (see rust-lang/cargo#3483).

$ RUST_BACKTRACE=1 xargo build --target x86_64-unknown-linux-gnu --release --verbose

# output:
+ "rustc" "--print" "sysroot"
+ RUSTFLAGS="--sysroot /home/alex/.xargo/HOST -Z force-unstable-if-unmarked"
+ "cargo" "build" "--release" "--manifest-path" "/tmp/xargo.Dax5TY8K3VlJ/Cargo.toml" "--target" "x86_64-unknown-linux-gnu" "-v" "-p" "std"
error: failed to parse manifest at `/tmp/xargo.Dax5TY8K3VlJ/Cargo.toml`

Caused by:
  feature `strip` is required

consider adding `cargo-features = ["strip"]` to the manifest
error: `"cargo" "build" "--release" "--manifest-path" "/tmp/xargo.Dax5TY8K3VlJ/Cargo.toml" "--target" "x86_64-unknown-linux-gnu" "-v" "-p" "std"` failed with exit code: Some(101)
   0: error_chain::make_backtrace
   1: <error_chain::State as core::default::Default>::default
   2: <std::process::Command as xargo::extensions::CommandExt>::run
   3: xargo::sysroot::build
   4: xargo::sysroot::update
   5: xargo::main_inner
   6: std::rt::lang_start::{{closure}}
   7: std::rt::lang_start_internal::{{closure}}
             at /rustc/a74d1862d4d87a56244958416fd05976c58ca1a8/src/libstd/rt.rs:52
      std::panicking::try::do_call
             at /rustc/a74d1862d4d87a56244958416fd05976c58ca1a8/src/libstd/panicking.rs:297
      std::panicking::try
             at /rustc/a74d1862d4d87a56244958416fd05976c58ca1a8/src/libstd/panicking.rs:274
      std::panic::catch_unwind
             at /rustc/a74d1862d4d87a56244958416fd05976c58ca1a8/src/libstd/panic.rs:394
      std::rt::lang_start_internal
             at /rustc/a74d1862d4d87a56244958416fd05976c58ca1a8/src/libstd/rt.rs:51
   8: main
   9: __libc_start_main
  10: _start

Example Cargo.toml

cargo-features = ["strip"]

[package]
name = "failed_case"
version = "0.1.0"
edition = "2018"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]

[profile.release]
strip = "symbols"

and Xargo.toml

[dependencies.std]
default-features = false
features = ["panic_unwind"]
$ xargo -V
xargo 0.3.20
cargo 1.45.0-nightly (9fcb8c1d2 2020-05-25)

$ rustc -Vv
rustc 1.45.0-nightly (5fd2f06e9 2020-05-31)
binary: rustc
commit-hash: 5fd2f06e99a985dd896684cb2c9f8c7090eca1ab
commit-date: 2020-05-31
host: x86_64-unknown-linux-gnu
release: 1.45.0-nightly
LLVM version: 10.0
@RalfJung
Copy link
Collaborator

RalfJung commented Jun 1, 2020

Yeah, xargo is only receiving critical bugfixes these days to keep existing functionality working, so I am not surprised that it does not work well with new cargo features. Sorry.

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