Comments (7)
Oh, we have to update hermit-sys
at crated.io. I will do it tomorrow.
from hermit-rs.
Ah, I understand what's going wrong. Apparently, windows does not respect the internal rust-toolchain.toml
in libhermit-rs
.
You should be able to work around this issue by downgrading to nightly-2022-10-19
, while we figure out a proper fix. 🤔
from hermit-rs.
Ah, yes. This sounded familiar. Manually installing the llvm-tools-preview
component for that toolchain should work around the issue. (#374 (comment))
I don't have a local windows setup, but I'll continue experimenting on what we have to change in the build.rs
of hermit-sys
, so automatic rust-toolchain.toml
detection for the kernel works on windows as well: hermit-os/hermit-rs-template#26
from hermit-rs.
llvm-tools-preview
Confirmed that llvm-tools-preview
fixes the issue and it builds with nightly-2022-10-19
on 0.4
from hermit-rs.
Ah, I understand what's going wrong. Apparently, windows does not respect the internal
rust-toolchain.toml
inlibhermit-rs
.You should be able to work around this issue by downgrading to
nightly-2022-10-19
, while we figure out a proper fix. 🤔
Hmm. I'm still getting problems even on that one. Once it gets to building the kernel,
cargo build --target=x86_64-unknown-none --target-dir R:\Temp\rust\rusty-demo-main-2897717944\x86_64-unknown-hermit\release\build\hermit-sys-68989ed1a852d06d\out\target --no-default-features --features "acpi dhcpv4 fsgsbase pci pci-ids smp tcp" --profile release
(I have this cargo toml)
[target.'cfg(target_os = "hermit")'.dependencies]
hermit-sys = "0.4.0"
[features]
default = ["pci", "pci-ids", "acpi", "tcp", "fsgsbase", "tcp", "smp", "dhcpv4"]
vga = ["hermit-sys/vga"]
dhcpv4 = ["hermit-sys/dhcpv4"]
pci = ["hermit-sys/pci"]
pci-ids = ["hermit-sys/pci-ids"]
acpi = ["hermit-sys/acpi"]
fsgsbase = ["hermit-sys/fsgsbase"]
smp = ["hermit-sys/smp"]
tcp = ["hermit-sys/tcp"]
instrument = ["hermit-sys/instrument"]
trace = ["hermit-sys/trace"]
... With this toolchain as suggested
[toolchain]
channel = "nightly-2022-10-19"
components = [ "rust-src" ]
I get this output
Building kernel
$ cargo build --target=x86_64-unknown-none --target-dir R:\Temp\rust\rusty-demo-main-2897717944\x86_64-unknown-hermit\release\build\hermit-sys-68989ed1a852d06d\out\target --no-default-features --features "acpi dhcpv4 fsgsbase pci pci-ids smp tcp" --profile release
// snip
Compiling libhermit-rs v0.6.0 (R:\Temp\rust\rusty-demo-main-2897717944\x86_64-unknown-hermit\release\build\hermit-sys-68989ed1a852d06d\out\libhermit-rs-0.6.0)
Finished release [optimized] target(s) in 8.41s
Copying R:\Temp\rust\rusty-demo-main-2897717944\x86_64-unknown-hermit\release\build\hermit-sys-68989ed1a852d06d\out\target\x86_64-unknown-none\release\libhermit.a to R:\Temp\rust\rusty-demo-main-2897717944\x86_64-unknown-hermit\release\build\hermit-sys-68989ed1a852d06d\out\target\x86_64\release\libhermit.a
Exporting symbols
Error: NotFound
error: process didn't exit successfully: `R:\Temp\rust\rusty-demo-main-2897717944\x86_64-unknown-hermit\release\build\hermit-sys-68989ed1a852d06d\out\target\debug\xtask.exe build --arch x86_64 --profile release --target-dir R:\Temp\rust\rusty-demo-main-2897717944\x86_64-unknown-hermit\release\build\hermit-sys-68989ed1a852d06d\out\target --no-default-features --features "acpi dhcpv4 fsgsbase pci pci-ids smp tcp"` (exit code: 1)
thread 'main' panicked at 'assertion failed: status.success()', C:\Users\user\.cargo\registry\src\github.com-1ecc6299db9ec823\hermit-sys-0.4.0\build.rs:110:9
stack backtrace:
0: std::panicking::begin_panic_handler
at /rustc/a24a020e6d926dffe6b472fc647978f92269504e/library\std\src\panicking.rs:575
1: core::panicking::panic_fmt
at /rustc/a24a020e6d926dffe6b472fc647978f92269504e/library\core\src\panicking.rs:65
2: core::panicking::panic
at /rustc/a24a020e6d926dffe6b472fc647978f92269504e/library\core\src\panicking.rs:115
3: build_script_build::KernelSrc::download
4: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
5: core::ops::function::FnOnce::call_once{{vtable.shim}}
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
But nightly-2023-03-15
and the following works flawlessly
[target.'cfg(target_os = "hermit")'.dependencies]
hermit-sys = { git = "https://github.com/hermitcore/rusty-hermit" }
from hermit-rs.
I fixed the underlying issue in #431. 🎉
from hermit-rs.
Published as hermit-sys 0.5.1. :)
from hermit-rs.
Related Issues (20)
- Request for info: running hermit-based applications on top of Xen HOT 3
- Move cmath to hermit-builtins HOT 1
- failed to run rusty-hermit on QEMU qemu-system-aarch64 HOT 1
- Where do we mention that RustyHermit supports `aarch64`?
- Hermit doesn't work on aarch64: rusty-loader can't find DTB for aarch64 HOT 1
- Include `tcp` in the default features of `hermit-sys`
- hermit-abi 0.3.2 git tag and yanking explanation HOT 4
- Add platform support document to Rust docs HOT 1
- Enable generate-link-to-definition
- Support automatic rebuilds for path dependencies of kernel HOT 1
- Can't build with khronos-egl as dependency HOT 3
- Become a Tier 2 Rust target
- Newer kernel submodule required for RISC-V support HOT 4
- Compilation with Hermit dependency as part of a workspace fails HOT 1
- Networking config file HOT 4
- Benchmarking HOT 8
- Hermit randomness API
- Unable to read directory entries HOT 1
- perf: rework laplace demo with ndarray
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 hermit-rs.