Compile Redox with Docker on macOS 10.12 (Sierra)
First i tried to compile Redox on macOS but i can't build the toolchain.
Compiling compiler_builtins v0.1.0 (https://github.com/rust-lang-nursery/compiler-builtins.git#2a2f6d96)
Compiling platform v0.1.0 (file:///Users/michaelhoelzl/libc/build/cross/relibc/src/platform)
Compiling itoa v0.4.1
error[E0432]: unresolved import `sys`
--> src/platform/src/lib.rs:15:9
|
15 | pub use sys::*;
| ^^^ Maybe a missing `extern crate sys;`?
error[E0423]: expected function, found macro `write`
--> src/platform/src/lib.rs:89:9
|
89 | write(self.0, buf)
| ^^^^^ did you mean `write!(...)`?
help: possible better candidates are found in other modules, you can import them into scope
|
15 | use core::fmt::write;
|
15 | use core::ptr::write;
|
error[E0425]: cannot find function `read` in this scope
--> src/platform/src/lib.rs:111:9
|
111 | read(self.0, buf)
| ^^^^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
|
15 | use core::ptr::read;
|
Compiling quote v0.3.15
error: aborting due to 3 previous errors
You've got a few errors: E0423, E0425, E0432
If you want more information on an error, try using "rustc --explain E0423"
error: Could not compile `platform`.
warning: build failed, waiting for other jobs to finish...
error: build failed
make: *** [target/debug/libc.a] Error 101
Michaels-MacBook-Pro-2:libc michaelhoelzl$
Then i tried to use the Docker image and now i get this error.
Already up-to-date.
cook - smith fetch
Already up-to-date.
cook - userutils fetch
Already up-to-date.
cook - uutils fetch
Already up-to-date.
cook - zerod fetch
Already up-to-date.
fusermount -u build/filesystem/ || true
fusermount: entry for /Users/michaelhoelzl/redox/build/filesystem not found in /etc/mtab
rm -rf build/filesystem.bin build/filesystem.bin.partial build/filesystem/
dd if=/dev/zero of=build/filesystem.bin.partial bs=1048576 count=256
256+0 records in
256+0 records out
268435456 bytes (268 MB, 256 MiB) copied, 2.11981 s, 127 MB/s
cargo run --manifest-path redoxfs/Cargo.toml --release --bin redoxfs-mkfs build/filesystem.bin.partial
Finished release [optimized] target(s) in 1.04s
Running `redoxfs/target/release/redoxfs-mkfs build/filesystem.bin.partial`
redoxfs-mkfs: created filesystem on build/filesystem.bin.partial, reserved 0 blocks, size 268 MB, uuid c036f8cd-ec60-4817-a0a8-889b87bfb015
mkdir -p build/filesystem/
cargo build --manifest-path redoxfs/Cargo.toml --release --bin redoxfs
Finished release [optimized] target(s) in 1.25s
cargo run --manifest-path redoxfs/Cargo.toml --release --bin redoxfs -- build/filesystem.bin.partial build/filesystem/
Finished release [optimized] target(s) in 0.45s
Running `redoxfs/target/release/redoxfs build/filesystem.bin.partial build/filesystem/`
redoxfs: opening build/filesystem.bin.partial
redoxfs: opened filesystem on build/filesystem.bin.partial with uuid c036f8cd-ec60-4817-a0a8-889b87bfb015
fuse: failed to open /dev/fuse: Permission denied
redoxfs: failed to mount build/filesystem.bin.partial to build/filesystem/: Permission denied (os error 13)
redoxfs: not able to mount path build/filesystem.bin.partial
mk/filesystem.mk:2: recipe for target 'build/filesystem.bin' failed
make: *** [build/filesystem.bin] Error 1
Michaels-MacBook-Pro-2:redox michaelhoelzl$