Comments (12)
Since the ascent of the target tier policy: As long as no one is written down as maintainer, no one is in charge of this decision except the compiler team, formally speaking. And the compiler team often has fairly limited interest in, and is fairly slow to act on, setting policy for most OS.
Obviously those who have traditionally done the maintenance would ideally in fact be deferred to, if they wanted to sign up to maintain it, but you too can probably propose a minimum of whatever you want if you are willing to sign up to maintain it.
from rust.
Since it sounds like the minimum version will be the above proposed versions or (more likely) later versions, I've filed rust-random/getrandom#417 to unconditionally used getrandom
on Solaris and Illumos. Feel free to take a look if you're interested.
from rust.
Looking at rust-lang/compiler-team#644 and #112936 it seems like @Toasterson and "the other illumos developers" are the maintainers of the Illumos targets, so I will defer to them. They will certainly have a better idea about what sort of cutoff makes sense.
Happy to submit/review PRs. I'm familiar with how the RNGs work on Illumos/Solaris, but that's the extent of my knowledge.
from rust.
Oh huh, we really should've gotten a name written down then!
from rust.
According to https://omnios.org/schedule.html the oldest LTS that is currently being maintained is from 2021.
All other distros are either Rolling releases or have less stringent requirements.
What is of note is that the sysroot that rust uses to cross compile in the CI is from 2018 although it already has getrandom
https://github.com/illumos/sysroot/releases @jclulow should we do a new release of the sysroot?
from rust.
For Solaris @alanc can say more
from rust.
My recommendation for Solaris is version 11.4 (released in August 2018). This version is still fully supported.
And there is publicly available Solaris 11.4 CBE release for free/open source developers and non-production personal use:
https://blogs.oracle.com/solaris/post/announcing-the-first-oracle-solaris-114-cbe
I have never used Rust on Solaris 11.3. The main reason was Rust bootstraping.
from rust.
G'day! FWIW, I had thought that @pfmooney and myself were listed as maintainers, as we've been trying to do that haha. We certainly get pings from relevant changes to the libc crate. If there's somewhere else you should put our names down, please let us know how to make that happen. We're both members of the illumos core team and can generally speak for the project.
It's definitely fine, at this point, to assume getrandom() exists, as far as I know. Patrick and I have discussed moving the sysroot forward this year. We still need to work out the particulars.
As an aside, 0.29 is not an illumos version, just a library version for libc, which is relatively inside baseball and not something people would generally recognise. We also don't version the illumos codebase, itself; the master branch is essentially a rolling stable release that makes its way into various distributions which have their own release schedules. The sysroot we provided to the Rust project when setting up the port was our attempt to provide a fixed point for compatibility.
I'll try and get back to you soon with more details on our plans -- but definitely please let's get Patrick and myself into whichever documents are relevant!
from rust.
We try to have names linked from the operating system's platform support page so that random Rust maintainers can easily scare up some names without doing too much spelunking.
from rust.
Ah! Thanks. I'll look at drafting a page for illumos analogous to the other Tier 2 platforms.
from rust.
For record. Both Solaris 11.4 and 11.3 do support getrandom().
from rust.
For rust on Solaris, @psumbera is our expert.
For getrandom() support in libc, what's been said so far is correct, it's available in Solaris 11.3.0 and later.
from rust.
Related Issues (20)
- runtime error: global allocator may not use TLS on arm64 macos HOT 6
- Compiler hangs and consumes unbounded memory with complex trait bounds HOT 8
- ICE: `non-Aggregate field with matching ABI but differing alignment` HOT 2
- ICE: unnamed fields: `internal compiler error: could not resolve DefId` HOT 1
- Feature request: Function to join thread with timeout HOT 2
- const Traits not being handled inside const associated functions/methods HOT 2
- rustdoc reproducibility issue due to nondeterministic anon.llvm.<hash> HOT 1
- Fix internal `Wtf8Buf::extend_from_slice` check HOT 2
- ICE: `assertion left == right failed` in `rustc_const_eval/src/interpret/cast.rs unsize_into` HOT 3
- Regression from new lint `out_of_scope_macro_calls` HOT 4
- rustdoc: panic when using `macro@` and `!` for referencing a macro in documentation HOT 1
- If-else type checking fails with trait method calls and closures HOT 5
- Lots of testsuite failures on powerpc-unknown-linux-gnu after #118709 HOT 4
- Taking reference to function gets optimized to be 0x1 HOT 5
- document args for `-Zbuild-std` when folks aren't building everything HOT 5
- Well-formedness analysis pass on trait impl paniced HOT 2
- Unnecessary move in trait object comparison HOT 1
- Type inference complains about unknown size for `dyn Any` HOT 3
- ICE(non_lifetime_binders): const bound params not handled correctly HOT 3
- diagnostics should prefer naming items through the extern prelude instead of doc-hidden type aliases
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rust.