dlecan / rust-crosscompiler-arm

Docker images for Rust dedicated to cross compilation for ARM v6 and more
MIT License
50 stars 16 forks source link

Permission denied when compiling ring #6

Closed celaus closed 7 years ago

celaus commented 7 years ago

Hi,

I have noticed that compiling ring the g++ compilation (or linking?) step fails with "permission denied"

Steps to reproduce:

cargo init t --bin

Replace Cargo.toml with this version:

[package]
name = "t"
version = "0.1.0"
authors = ["cm"]

[dependencies]
ring = "*"

Then

$ cd t/
$ docker run -i --rm     -v $(pwd):/source     dlecan/rust-crosscompiler-arm:stable

(to make sure, I was doing that in /tmp and even tried chmod 777 and re-compiled)

Results:

 Downloading ring v0.7.1
 Downloading untrusted v0.3.2
 Downloading libc v0.2.20
 Downloading lazy_static v0.2.2
   Compiling ring v0.7.1
   Compiling untrusted v0.3.2
   Compiling lazy_static v0.2.2
   Compiling libc v0.2.20
error: failed to run custom build command for `ring v0.7.1`
process didn't exit successfully: `/source/target/release/build/ring-22b3294819f31f7e/build-script-build` (exit code: 101)
--- stdout
HOSTNAME: 7fd857202976
ROOT_FS: /
REAL_CC: /opt/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-gcc
PATH: /root/.cargo/bin:/opt/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/.cargo/bin
PWD: /source
CHANNEL: stable
CXX: arm-linux-gnueabihf-g++-with-link-search
SHLVL: 1
HOME: /root
CC_DIR: /opt/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin
CC: arm-linux-gnueabihf-gcc-with-link-search
_: /root/.cargo/bin/cargo
LD_LIBRARY_PATH: /source/target/release/deps:/root/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib
CARGO_HOME: /root/.cargo
RUST_RECURSION_COUNT: 1
RUSTUP_TOOLCHAIN: stable-x86_64-unknown-linux-gnu
RUSTUP_HOME: /root/.rustup
SSL_CERT_FILE: /usr/lib/ssl/certs/ca-certificates.crt
SSL_CERT_DIR: /usr/lib/ssl/certs
CARGO_PKG_DESCRIPTION: Safe, fast, small crypto using Rust.
CARGO_CFG_UNIX:
CARGO_PKG_VERSION: 0.7.1
CARGO_PKG_NAME: ring
RUSTDOC: rustdoc
OUT_DIR: /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out
RUSTC: rustc
CARGO_CFG_TARGET_FAMILY: unix
CARGO_CFG_DEBUG_ASSERTIONS:
CARGO_FEATURE_DEFAULT: 1
HOST: x86_64-unknown-linux-gnu
OPT_LEVEL: 3
CARGO_PKG_VERSION_MINOR: 7
CARGO_CFG_TARGET_ENV: gnu
CARGO_MANIFEST_DIR: /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.7.1
CARGO_PKG_VERSION_PRE:
CARGO_CFG_TARGET_ENDIAN: little
CARGO_CFG_TARGET_POINTER_WIDTH: 32
CARGO_FEATURE_DEV_URANDOM_FALLBACK: 1
CARGO_PKG_AUTHORS: Brian Smith <brian@briansmith.org>
CARGO_CFG_TARGET_OS: linux
CARGO_FEATURE_USE_HEAP: 1
CARGO_PKG_HOMEPAGE:
NUM_JOBS: 4
PROFILE: release
DEBUG: false
TARGET: arm-unknown-linux-gnueabihf
CARGO_CFG_TARGET_ARCH: arm
CARGO_PKG_VERSION_MAJOR: 0
CARGO_PKG_VERSION_PATCH: 1
mkdir -p /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/lib/
mkdir -p /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/
mkdir -p /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/aes/
mkdir -p /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/aes/asm/
mkdir -p /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/bn/
mkdir -p /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/bn/asm/
mkdir -p /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/chacha/asm/
mkdir -p /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/cipher/
mkdir -p /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/curve25519/
mkdir -p /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/curve25519/asm/
mkdir -p /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/ec/
mkdir -p /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/ec/asm/
mkdir -p /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/limbs/
mkdir -p /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/modes/
mkdir -p /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/modes/asm/
mkdir -p /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/poly1305/asm/
mkdir -p /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/rand/
mkdir -p /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/sha/asm/
mkdir -p /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/test/
arm-linux-gnueabihf-gcc-with-link-search -std=c1x -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -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  -fstack-protector -DNDEBUG -O3 -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/aes/aes.o crypto/aes/aes.c
arm-linux-gnueabihf-gcc-with-link-search -std=c1x -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -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  -fstack-protector -DNDEBUG -O3 -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/bn/add.o crypto/bn/add.c
arm-linux-gnueabihf-gcc-with-link-search -std=c1x -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -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  -fstack-protector -DNDEBUG -O3 -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/bn/bn.o crypto/bn/bn.c
arm-linux-gnueabihf-gcc-with-link-search -std=c1x -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -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  -fstack-protector -DNDEBUG -O3 -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/bn/cmp.o crypto/bn/cmp.c
arm-linux-gnueabihf-gcc-with-link-search -std=c1x -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -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  -fstack-protector -DNDEBUG -O3 -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/bn/convert.o crypto/bn/convert.c
arm-linux-gnueabihf-gcc-with-link-search -std=c1x -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -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  -fstack-protector -DNDEBUG -O3 -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/bn/div.o crypto/bn/div.c
arm-linux-gnueabihf-gcc-with-link-search -std=c1x -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -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  -fstack-protector -DNDEBUG -O3 -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/bn/exponentiation.o crypto/bn/exponentiation.c
arm-linux-gnueabihf-gcc-with-link-search -std=c1x -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -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  -fstack-protector -DNDEBUG -O3 -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/bn/gcd.o crypto/bn/gcd.c
arm-linux-gnueabihf-gcc-with-link-search -std=c1x -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -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  -fstack-protector -DNDEBUG -O3 -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/bn/generic.o crypto/bn/generic.c
arm-linux-gnueabihf-gcc-with-link-search -std=c1x -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -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  -fstack-protector -DNDEBUG -O3 -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/bn/montgomery.o crypto/bn/montgomery.c
arm-linux-gnueabihf-gcc-with-link-search -std=c1x -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -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  -fstack-protector -DNDEBUG -O3 -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/bn/montgomery_inv.o crypto/bn/montgomery_inv.c
arm-linux-gnueabihf-gcc-with-link-search -std=c1x -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -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  -fstack-protector -DNDEBUG -O3 -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/bn/mul.o crypto/bn/mul.c
arm-linux-gnueabihf-gcc-with-link-search -std=c1x -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -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  -fstack-protector -DNDEBUG -O3 -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/bn/random.o crypto/bn/random.c
arm-linux-gnueabihf-gcc-with-link-search -std=c1x -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -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  -fstack-protector -DNDEBUG -O3 -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/bn/shift.o crypto/bn/shift.c
arm-linux-gnueabihf-gcc-with-link-search -std=c1x -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -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  -fstack-protector -DNDEBUG -O3 -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/cipher/e_aes.o crypto/cipher/e_aes.c
arm-linux-gnueabihf-gcc-with-link-search -std=c1x -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -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  -fstack-protector -DNDEBUG -O3 -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/crypto.o crypto/crypto.c
arm-linux-gnueabihf-gcc-with-link-search -std=c1x -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -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  -fstack-protector -DNDEBUG -O3 -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/curve25519/curve25519.o crypto/curve25519/curve25519.c
arm-linux-gnueabihf-gcc-with-link-search -std=c1x -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -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  -fstack-protector -DNDEBUG -O3 -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/ec/ecp_nistz.o crypto/ec/ecp_nistz.c
arm-linux-gnueabihf-gcc-with-link-search -std=c1x -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -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  -fstack-protector -DNDEBUG -O3 -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/ec/ecp_nistz256.o crypto/ec/ecp_nistz256.c
arm-linux-gnueabihf-gcc-with-link-search -std=c1x -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -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  -fstack-protector -DNDEBUG -O3 -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/ec/gfp_p256.o crypto/ec/gfp_p256.c
arm-linux-gnueabihf-gcc-with-link-search -std=c1x -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -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  -fstack-protector -DNDEBUG -O3 -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/ec/gfp_p384.o crypto/ec/gfp_p384.c
arm-linux-gnueabihf-gcc-with-link-search -std=c1x -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -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  -fstack-protector -DNDEBUG -O3 -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/limbs/limbs.o crypto/limbs/limbs.c
arm-linux-gnueabihf-gcc-with-link-search -std=c1x -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -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  -fstack-protector -DNDEBUG -O3 -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/mem.o crypto/mem.c
arm-linux-gnueabihf-gcc-with-link-search -std=c1x -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -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  -fstack-protector -DNDEBUG -O3 -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/modes/gcm.o crypto/modes/gcm.c
arm-linux-gnueabihf-gcc-with-link-search -std=c1x -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -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  -fstack-protector -DNDEBUG -O3 -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/rand/sysrand.o crypto/rand/sysrand.c
perl crypto/aes/asm/aes-armv4.pl linux32  /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/aes/asm/aes-armv4.S
perl crypto/aes/asm/bsaes-armv7.pl linux32  /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/aes/asm/bsaes-armv7.S
perl crypto/bn/asm/armv4-mont.pl linux32  /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/bn/asm/armv4-mont.S
perl crypto/chacha/asm/chacha-armv4.pl linux32  /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/chacha/asm/chacha-armv4.S
arm-linux-gnueabihf-gcc-with-link-search -std=c1x -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -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  -fstack-protector -DNDEBUG -O3 -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/curve25519/asm/x25519-asm-arm.o crypto/curve25519/asm/x25519-asm-arm.S
perl crypto/ec/asm/ecp_nistz256-armv4.pl linux32  /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/ec/asm/ecp_nistz256-armv4.S
perl crypto/modes/asm/ghash-armv4.pl linux32  /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/modes/asm/ghash-armv4.S
perl crypto/poly1305/asm/poly1305-armv4.pl linux32  /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/poly1305/asm/poly1305-armv4.S
perl crypto/sha/asm/sha256-armv4.pl linux32  /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/sha/asm/sha256-armv4.S
perl crypto/sha/asm/sha512-armv4.pl linux32  /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/sha/asm/sha512-armv4.S
arm-linux-gnueabihf-gcc-with-link-search -std=c1x -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -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  -fstack-protector -DNDEBUG -O3 -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/cpu-arm.o crypto/cpu-arm.c
arm-linux-gnueabihf-gcc-with-link-search -std=c1x -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -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  -fstack-protector -DNDEBUG -O3 -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/cpu-arm-linux.o crypto/cpu-arm-linux.c
perl crypto/aes/asm/aesv8-armx.pl linux32  /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/aes/asm/aesv8-armx.S
perl crypto/modes/asm/ghashv8-armx.pl linux32  /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/modes/asm/ghashv8-armx.S
arm-linux-gnueabihf-g++-with-link-search -std=c++0x -fpic -fdata-sections -ffunction-sections -g3 -pedantic -pedantic-errors -Wall -Werror -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  -fstack-protector -DNDEBUG -O3 -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align       -c -o /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/bn/bn_test.o crypto/bn/bn_test.cc
mk/bottom_of_makefile.mk:41: recipe for target '/source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/bn/bn_test.o' failed
rm /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/ec/asm/ecp_nistz256-armv4.S /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/aes/asm/aes-armv4.S /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/chacha/asm/chacha-armv4.S /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/modes/asm/ghash-armv4.S /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/modes/asm/ghashv8-armx.S /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/aes/asm/bsaes-armv7.S /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/sha/asm/sha256-armv4.S /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/bn/asm/armv4-mont.S /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/sha/asm/sha512-armv4.S /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/poly1305/asm/poly1305-armv4.S /source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/aes/asm/aesv8-armx.S

--- stderr
make: execvp: arm-linux-gnueabihf-g++-with-link-search: Permission denied
make: *** [/source/target/arm-unknown-linux-gnueabihf/release/build/ring-c9ceaa93ca983c5e/out/obj/crypto/bn/bn_test.o] Error 127
make: *** Waiting for unfinished jobs....
thread 'main' panicked at 'make execution failed', /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.7.1/build.rs:236
note: Run with `RUST_BACKTRACE=1` for a backtrace.

Any advice?

celaus commented 7 years ago

Found the issue - for some reason ring uses the g++ compiler (which isn't installed in the docker container) for compiling a .cc file. I will raise an issue there :)

For anyone hitting the same bump, this is a workaround. Make will use the environment variable to bootstrap its compiler definitions:

docker run -i --rm -e CXX=arm-linux-gnueabihf-gcc-with-link-search -v $(pwd):/source dlecan/rust-crosscompiler-arm:stable

dlecan commented 7 years ago

Hi, thank you for reporting this issue. I'm happy you have found a workaround, but I don't understand:

CC and CXX variables are defined to use shell scripts, located here:

Each of them use Linaro gcc and g++ compilers (arm-linux-gnueabihf-gcc and arm-linux-gnueabihf-g++).

In your workaround, you override CXX with the same value as for CC, and it works. Great ! But I don't understand why !

Any idea ?

celaus commented 7 years ago

hmm yes, Ring's Makefile used (they seem to have removed them now) CXX by default to compile .cc files and Environment variables override makefile variables usually; and for some reason it could not find g++ at the time. Using gcc was a good fix, since the .cc file does not require C++ features anyway and it was found :)

This might have been fixed now, since ring seemed to have removed the Makefiles in the meantime :)