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

slackware package problem #95

Closed
adcdam opened this issue Aug 6, 2022 · 5 comments
Closed

slackware package problem #95

adcdam opened this issue Aug 6, 2022 · 5 comments

Comments

@adcdam
Copy link

adcdam commented Aug 6, 2022

Hi, i did the Slackware Felix package but i have this problem: Slackware 15 stable use rust version 1.58.1 and i got this

error: failed to parse manifest at /tmp/SBo/felix-1.0.1/Cargo.toml

Caused by:
  feature strip is required

  The package requires the Cargo feature called strip, but that feature is not stabilized in this version of Cargo (1.58.0).
  Consider trying a newer version of Cargo (this may require the nightly release).
  See https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#profile-strip-option for more information about the status of this feature.

in Slackware current with rust version 1.62.1 i dont get this problem and build fine.
how could i patch the Slackbuild to be able to build with cargo 1.58.1? is that strip feature a must?
is there a way to tell cargo not to use strip?
best regards!

@kyoheiu
Copy link
Owner

kyoheiu commented Aug 6, 2022

Not so necessary: With this option the binary's size is 2MB in my environment (Linux), while without it 6MB, which is not really heavy I think.

It seems we cannot change the profile according to Rust version, so I'm going to delete these lines in the next release (Already deleted in develop branch 1deb2ff ). If you'd like, please do as this commit.

@kyoheiu
Copy link
Owner

kyoheiu commented Aug 6, 2022

cf: rust-lang/cargo#4897

Also, please see https://doc.rust-lang.org/rustc/codegen-options/index.html#strip
With 1.58.0, RUSTFLAGS='-C strip=symbols' cargo build --release is equal to strip=true option in Cargo.toml, so you can do the same without this option
(Though if Cargo.toml has this option you cannot build).

@adcdam
Copy link
Author

adcdam commented Aug 6, 2022

Thanks, at first i thought it was just to change strip=true to false in the source s Cargo.toml but was not the case. Not able to change the profile according to Rust version is not nice. Lots of distros that use a stable release wont be able to build the packages.
Thank you very much for changing the profile in the next release of Felix!!.

@balroggg
Copy link
Contributor

balroggg commented Aug 6, 2022

Thanks, at first i thought it was just to change strip=true to false in the source s Cargo.toml but was not the case. Not able to change the profile according to Rust version is not nice. Lots of distros that use a stable release wont be able to build the packages. Thank you very much for changing the profile in the next release of Felix!!.

You probably can change Cargo.toml by some patch or sed script, to solve this problem.

Globally rust has many stable releases, it's evolving too fast for some distros. We can find msrv(minimal support rust verison) and point it in Cargo.toml to lower expectation of compiler/toolchain.

Check https://foresterre.github.io/cargo-msrv/index.html to more details. And probably you want to strip fx binary by yourself if Slackware don't do it by default.

@adcdam
Copy link
Author

adcdam commented Aug 20, 2022

is available now on Slackware
https://slackbuilds.org/repository/15.0/system/felix/?search=FELIX
i have to send an update for the latest version
best regards!

@adcdam adcdam closed this as completed Aug 20, 2022
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

3 participants