mit-pdos / noria

Fast web applications through dynamic, partially-stateful dataflow
Apache License 2.0
4.98k stars 242 forks source link

Can't compile on fresh debian install? #115

Closed pwoolcoc closed 5 years ago

pwoolcoc commented 5 years ago

I've been having trouble building noria-server on my fresh debian stretch install. I've installed libclang-dev and build-essential, and I have a libstdc++ on my system, but I'm having trouble building rocksdb-sys:

# rustc -V
rustc 1.32.0-nightly (00e03ee57 2018-11-22)
# cargo build --release --bin noria-server
   Compiling librocksdb-sys v5.14.2 (https://github.com/ekmartin/rust-rocksdb.git?branch=custom#20f8595a)
error: failed to run custom build command for `librocksdb-sys v5.14.2 (https://github.com/ekmartin/rust-rocksdb.git?branch=custom#20f8595a)`
process didn't exit successfully: `/app/target/release/build/librocksdb-sys-86702df300c1afd1/build-script-build` (exit code: 101)
--- stdout
cargo:rerun-if-changed=build.rs
cargo:rerun-if-changed=rocksdb/
cargo:rustc-link-lib=lz4
cargo:rerun-if-changed=snappy/

--- stderr
rocksdb/include/rocksdb/c.h:48:9: warning: #pragma once in main file [-Wpragma-once-outside-header]
rocksdb/include/rocksdb/c.h:68:10: fatal error: 'stdarg.h' file not found
rocksdb/include/rocksdb/c.h:48:9: warning: #pragma once in main file [-Wpragma-once-outside-header], err: false
rocksdb/include/rocksdb/c.h:68:10: fatal error: 'stdarg.h' file not found, err: true
thread 'main' panicked at 'unable to generate rocksdb bindings: ()', src/libcore/result.rs:1009:5
note: Run with `RUST_BACKTRACE=1` for a backtrace.
ekmartin commented 5 years ago

I think the fatal error: 'stdarg.h' file not found error comes from an issue with your clang installation — what version does libclang-dev provide? You could try installing the clang package explicitly, and if that doesn't work, try installing at least version 6 of clang?