Redox build fails when building ring
-
I agree that I have searched opened and closed issues to prevent duplicates.
Description
Redox build consistently fails when building ring
, a rust crypto library.
Environment info
- Redox OS Release:
-
git describe --tags
0.6.0-29-g9011083
- Operating system: Black Arch Linux
-
uname -a
:Linux arch 5.12.8-arch1-1 #1 SMP PREEMPT Fri, 28 May 2021 15:10:20 +0000 x86_64 GNU/Linux
-
rustc -V
:rustc 1.47.0-nightly (6c8927b0c 2020-07-26)
-
git rev-parse HEAD
:901108353f2427809f98e29d8e4165d432bbd715
- I ran the pacman command to install pre-reqs but I could not find the following
libfuse-dev libhtml-parser-perl aclocal
(but I did install all the others). -
echo $PATH | tr : '\n' | grep cargo
/home/trey/.cargo/bin
- I also tried following the instructions for docker, ran
docker run --privileged ...
docker: unknown server OS: .
- Also, potentially related, the only directory in
redox/prefix/
isredox/prefix/x86_64-unkown-redox/
- Please see the log below
- Could
cc1: all warnings being treated as errors
be the problem?
Steps to reproduce
- Follow chapter 2 (Getting Started) on the redox book.
- Fails for
make all
andmake qemu
Behavior
- Expected behavior: Following the build process should succeed.
- Actual behavior: Build fails
running "cc" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-m64" "-I" "include" "-Wall" "-Wextra" "-std=c1x" "-Wbad-function-cast" "-Wmissing-prototypes" "-Wnested-externs" "-Wstrict-prototypes" "-pedantic" "-pedantic-errors" "-Wall" "-Wextra" "-Wcast-align" "-Wcast-qual" "-Wenum-compare" "-Wfloat-equal" "-Wformat=2" "-Winline" "-Winvalid-pch" "-Wmissing-declarations" "-Wmissing-field-initializers" "-Wmissing-include-dirs" "-Wredundant-decls" "-Wshadow" "-Wsign-compare" "-Wundef" "-Wuninitialized" "-Wwrite-strings" "-fno-strict-aliasing" "-fvisibility=hidden" "-Wno-cast-align" "-fstack-protector" "-g3" "-Werror" "-DNDEBUG" "-D_XOPEN_SOURCE=700" "-c" "-o/home/trey/tmp/redox/installer/target/release/build/ring-d4a7368997960aad/out/curve25519.o" "third_party/fiat/curve25519.c"
--- stderr
third_party/fiat/curve25519.c:1877:61: error: argument 2 of type ‘const uint8_t *’ {aka ‘const unsigned char *’} declared as a pointer [-Werror=array-parameter=]
1877 | void GFp_x25519_ge_scalarmult_base(ge_p3 *h, const uint8_t *a) {
| ~~~~~~~~~~~~~~~^
In file included from third_party/fiat/curve25519.c:43:
third_party/fiat/internal.h:129:60: note: previously declared as an array ‘const uint8_t[32]’ {aka ‘const unsigned char[32]’}
129 | void GFp_x25519_ge_scalarmult_base(ge_p3 *h, const uint8_t a[32]);
| ~~~~~~~~~~~~~~^~~~~
third_party/fiat/curve25519.c:3013:36: error: argument 1 of type ‘uint8_t[32]’ {aka ‘unsigned char[32]’} with mismatched bound [-Werror=array-parameter=]
3013 | void GFp_x25519_fe_tobytes(uint8_t s[32], const fe *h) {
| ~~~~~~~~^~~~~
In file included from third_party/fiat/curve25519.c:43:
third_party/fiat/internal.h:124:37: note: previously declared as ‘uint8_t *’ {aka ‘unsigned char *’}
124 | void GFp_x25519_fe_tobytes(uint8_t *s, const fe *h);
| ~~~~~~~~~^
cc1: all warnings being treated as errors
thread 'main' panicked at 'execution failed', /home/trey/.cargo/git/checkouts/ring-673443d3342e1630/e10e9b8/build.rs:644:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
error: build failed
make: *** [mk/initfs.mk:5: build/initfs.tag] Error 101
- Proposed solution: Is there some way to disable failing on warnings?
Optional references
Optional extras
- Very new to rust and operating system development, but I very much want to learn both and I think redox is a good way for me to learn.
- This is my first git issue ever, let me know if I missed anything.