darfink / region-rs

A cross-platform virtual memory API written in Rust
https://darfink.github.io/region-rs/
MIT License
119 stars 23 forks source link

Locking libc version makes it incompatible #29

Closed smessmer closed 5 months ago

smessmer commented 6 months ago

region 3.0.1 is now locking libc to a specific (and pretty old) version. This broke my build because I have other dependencies (e.g. the sysinfo crate) that require a newer libc.

First, this is a breaking change and should not have been introduced as a hotfix version.

Besides that, I was wondering if this locking is really necessary. It prevents me from going to region 3.0.1 and I'm stuck on region 3.0.0 because of my other dependencies. I don't need OpenBSD. Can it maybe be locked on OpenBSD only but not on other platforms?

ghost commented 5 months ago

region 3.0.1 is now locking libc to a specific (and pretty old) version. This broke my build because I have other dependencies (e.g. the sysinfo crate) that require a newer libc.

First, this is a breaking change and should not have been introduced as a hotfix version.

Besides that, I was wondering if this locking is really necessary. It prevents me from going to region 3.0.1 and I'm stuck on region 3.0.0 because of my other dependencies. I don't need OpenBSD. Can it maybe be locked on OpenBSD only but not on other platforms?

try

cargo remove libc region

then edit Cargo.toml adding this line: region = { git = "https://github.com/darfink/region-rs.git" } finally run

cargo update
cargo add libc
smessmer commented 5 months ago

Thank you, I saw https://github.com/darfink/region-rs/commit/4fdd06c1e1a147bb6fc48408450c4acbb191869a. This should fix it.

darfink commented 5 months ago

I've released version 3.0.2 to crates.io which no longer pins libc.

As a concluding remark, it was never intended to be part of the actual release. It primarily slipped through due to the time lapse between the commit that introduced the issue (2 years ago) and the present day release (the original issue having been introduced due to *BSD variants not enforcing API stability between releases, affecting libc).