Determine build dependancies

Hi there,
I'm able to build my app locally, but when trying to deploy it I'm not able to get it to build. I'm pretty sure I need to install some dependency, but I'm not able to figure out what it is.

From the errors, it looks like something should to be compiled with C++ but it's compiling with C instead? Ideas would be appreciated. Here's some snipped output:

$ cargo build
   Compiling ring v0.11.0
error: failed to run custom build command for `ring v0.11.0`
process didn't exit successfully: `...` (exit code: 101)
--- stdout
...
running "cc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-m64" "-I" "include" "-std=c1x" "-Wbad-function-cast" "-Wmissing-prototypes" "-Wnested-externs" "-Wstrict-prototypes" "-fdata-sections" "-ffunction-sections" "-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" "-D_XOPEN_SOURCE=700" "-Wall" "-Wextra" "-c" "-o/home/.../target/debug/build/ring-c9a06f0b75797e04/out/exponentiation.o" "crypto/bn/exponentiation.c"

--- stderr
cc1: warning: command line option "-Wenum-compare" is valid for C++/ObjC++ but not for C
cc1: error: unrecognized command line option "-std=c1x"
thread '<unnamed>' panicked at 'execution failed', /home/dempzorz/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.11.0/build.rs:658:8
note: Run with `RUST_BACKTRACE=1` for a backtrace.
cc1: warning: command line option "-Wenum-compare" is valid for C++/ObjC++ but not for C
cc1: error: unrecognized command line option "-std=c1x"
thread '<unnamed>' panicked at 'execution failed', /home/dempzorz/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.11.0/build.rs:658:8
cc1: warning: command line option "-Wenum-compare" is valid for C++/ObjC++ but not for C
cc1: error: unrecognized command line option "-std=c1x"
thread '<unnamed>' panicked at 'execution failed', /home/dempzorz/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.11.0/build.rs:658:8
/home/dempzorz/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.11.0/pregenerated/sha512-x86_64-elf.S: Assembler messages:
/home/dempzorz/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.11.0/pregenerated/sha512-x86_64-elf.S:2995: Error: no such instruction: `vinserti128 $1,(%r12),%ymm0,%ymm0'
...
cc1: warning: command line option "-Wenum-compare" is valid for C++/ObjC++ but not for C
cc1: error: unrecognized command line option "-std=c1x"
thread '<unnamed>' panicked at 'execution failed', /home/dempzorz/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.11.0/build.rs:658:8
thread '<unnamed>' panicked at 'execution failed', /home/dempzorz/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.11.0/build.rs:658:8
cc1: warning: command line option "-Wenum-compare" is valid for C++/ObjC++ but not for C
cc1: error: unrecognized command line option "-std=c1x"

Cheers

There does seem to be some build system confusion between C and C++, but from the source file extension and the CLI option on which the compiler errors out, I think the right answer is actually C, not C++, and it seems to be selected correctly. Maybe @briansmith, author of ring, will have more insight?

If I try to have a guess myself, note that the specific part on which the C compiler errors out...

cc1: error: unrecognized command line option "-std=c1x"

...sounds like something that could be fixed by either a C compiler update (if your C compiler is too old to support C11, even in a preliminary form) or a build rule update in ring (if your C compiler does support C11, but has dropped the preliminary "c1x" standard switch that was popular when that standard was still in development).

Got the same problem at Centos 6.8, did you finally solved it?