bcmyers / argonautica

Idiomatic argon2 password hashing for several languages
Apache License 2.0
146 stars 29 forks source link

Fail to build in docker #30

Closed Arcovv closed 4 years ago

Arcovv commented 4 years ago

Hello, I try to build my library in docker.

Here is my Dockerfile:

FROM rust:1.43 as builder
COPY . .
RUN cargo build --release

FROM rust:1.43-slim-stretch
WORKDIR /api-server
COPY --from=builder /target/release/server .
EXPOSE 8000

ENTRYPOINT ["/api-server/server"]

My cargo.toml:

[dependencies]
actix-web = "2.0.0"
argonautica = "0.2.0"
base64 = "0.12.0"
chrono = { version = "0.4.10", features = ["serde"] }
diesel_migrations = "1.4.0"
dotenv = "0.15.0"
env_logger = "0.7.0"
failure = "0.1.7"
futures = { version = "0.3" }
jsonwebtoken = "7.1.0"
log = "0.4"
passwords = "3.0.0"
regex = "1.3.7"
serde = { version = "1.0.104", features = ["derive"] }
sha3 = "0.8.2"
uuid = { version = "0.8.0", features = ["serde", "v4"] }

[dependencies.diesel]
version = "1.4.4"
default-features = false
features = ["chrono", "postgres", "r2d2", "uuidv07", "numeric", "32-column-tables"]

And the build error:

error: failed to run custom build command for `argonautica v0.2.0`

Caused by:
  process didn't exit successfully: `/target/release/build/argonautica-472f53119b460845/build-script-build` (exit code: 101)
--- stdout
TARGET = Some("x86_64-unknown-linux-gnu")
OPT_LEVEL = Some("3")
HOST = Some("x86_64-unknown-linux-gnu")
CC_x86_64-unknown-linux-gnu = None
CC_x86_64_unknown_linux_gnu = None
HOST_CC = None
CC = None
CFLAGS_x86_64-unknown-linux-gnu = None
CFLAGS_x86_64_unknown_linux_gnu = None
HOST_CFLAGS = None
CFLAGS = None
CRATE_CC_NO_DEFAULTS = None
DEBUG = Some("false")
CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")
CC_x86_64-unknown-linux-gnu = None
CC_x86_64_unknown_linux_gnu = None
HOST_CC = None
CC = None
CFLAGS_x86_64-unknown-linux-gnu = None
CFLAGS_x86_64_unknown_linux_gnu = None
HOST_CFLAGS = None
CFLAGS = None
CRATE_CC_NO_DEFAULTS = None
CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")
CC_x86_64-unknown-linux-gnu = None
CC_x86_64_unknown_linux_gnu = None
HOST_CC = None
CC = None
CFLAGS_x86_64-unknown-linux-gnu = None
CFLAGS_x86_64_unknown_linux_gnu = None
HOST_CFLAGS = None
CFLAGS = None
CRATE_CC_NO_DEFAULTS = None
CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")
running: "cc" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-m64" "-I" "/tmp/argonautica.erY09NmtgreS" "-pthread" "-std=c89" "-o" "/target/release/build/argonautica-9eb41ddcf0127b4d/out/phc-winner-argon2/src/argon2.o" "-c" "phc-winner-argon2/src/argon2.c"
running: "cc" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-m64" "-I" "/tmp/argonautica.erY09NmtgreS" "-pthread" "-std=c89" "-o" "/target/release/build/argonautica-9eb41ddcf0127b4d/out/phc-winner-argon2/src/core.o" "-c" "phc-winner-argon2/src/core.c"
running: "cc" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-m64" "-I" "/tmp/argonautica.erY09NmtgreS" "-pthread" "-std=c89" "-o" "/target/release/build/argonautica-9eb41ddcf0127b4d/out/phc-winner-argon2/src/blake2/blake2b.o" "-c" "phc-winner-argon2/src/blake2/blake2b.c"
running: "cc" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-m64" "-I" "/tmp/argonautica.erY09NmtgreS" "-pthread" "-std=c89" "-o" "/target/release/build/argonautica-9eb41ddcf0127b4d/out/phc-winner-argon2/src/encoding.o" "-c" "phc-winner-argon2/src/encoding.c"
exit code: 0
running: "cc" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-m64" "-I" "/tmp/argonautica.erY09NmtgreS" "-pthread" "-std=c89" "-o" "/target/release/build/argonautica-9eb41ddcf0127b4d/out/phc-winner-argon2/src/thread.o" "-c" "phc-winner-argon2/src/thread.c"
exit code: 0
running: "cc" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-m64" "-I" "/tmp/argonautica.erY09NmtgreS" "-pthread" "-std=c89" "-o" "/target/release/build/argonautica-9eb41ddcf0127b4d/out/phc-winner-argon2/src/ref.o" "-c" "phc-winner-argon2/src/ref.c"
exit code: 0
exit code: 0
exit code: 0
exit code: 0
AR_x86_64-unknown-linux-gnu = None
AR_x86_64_unknown_linux_gnu = None
HOST_AR = None
AR = None
running: "ar" "crs" "/target/release/build/argonautica-9eb41ddcf0127b4d/out/libargon2.a" "/target/release/build/argonautica-9eb41ddcf0127b4d/out/phc-winner-argon2/src/argon2.o" "/target/release/build/argonautica-9eb41ddcf0127b4d/out/phc-winner-argon2/src/core.o" "/target/release/build/argonautica-9eb41ddcf0127b4d/out/phc-winner-argon2/src/blake2/blake2b.o" "/target/release/build/argonautica-9eb41ddcf0127b4d/out/phc-winner-argon2/src/encoding.o" "/target/release/build/argonautica-9eb41ddcf0127b4d/out/phc-winner-argon2/src/thread.o" "/target/release/build/argonautica-9eb41ddcf0127b4d/out/phc-winner-argon2/src/ref.o"
exit code: 0
cargo:rustc-link-lib=static=argon2
cargo:rustc-link-search=native=/target/release/build/argonautica-9eb41ddcf0127b4d/out

--- stderr
thread 'main' panicked at 'Unable to find libclang: "couldn\'t find any valid shared libraries matching: [\'libclang.so\', \'libclang-*.so\', \'libclang.so.*\'], set the `LIBCLANG_PATH` environment variable to a path where one of these files can be found (invalid: [])"', /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/bindgen-0.48.1/src/lib.rs:1652:13
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Thanks for your help!

sidju commented 4 years ago

You are most likely missing clang. Add a CMD to install it and you should be golden.

Arcovv commented 4 years ago

Thanks!