Rust-bindgen: Can't find system headers

Created on 13 Nov 2016  路  6Comments  路  Source: rust-lang/rust-bindgen

/usr/include/sys/types.h:146:10: fatal error: 'stddef.h' file not found
/usr/include/sys/types.h:146:10: fatal error: 'stddef.h' file not found, err: true

Looks like you go to the trouble of figuring out where to look - https://github.com/servo/rust-bindgen/blob/bdfab643e70df469dd0d163cc91bf48955250735/src/bin/bindgen.rs#L64-L67 - and then forget all about it! - https://github.com/servo/rust-bindgen/blob/bdfab643e70df469dd0d163cc91bf48955250735/src/bin/bindgen.rs#L73.

I think the fix is simply:

-    match builder_from_flags(env::args()) {
+    match builder_from_flags(bind_args.into_iter()) {

Most helpful comment

It wasn't a bug after all. I was missing the clang-3.9 package. I thought llvm-3.9-dev and libclang-3.9-dev were enough (I had llvm-config-3.9). It was on 64 bit. Thanks.

All 6 comments

Pfft, right, cc @jdub, sorry for missing this while reviewing #228. Thanks for filing this!

D'oh! Nice catch.

I have a similar problem:

/usr/include/gssapi/gssapi.h:63:10: fatal error: 'stddef.h' file not found, err: true

bindgen: 0.20.2
rustc 1.16.0-nightly (83c2d9523 2017-01-24)
clang/llvm: 3.9.1
Ubuntu 16.04.1 LTS (64-bit)

This is on 64 bit? Huh, in any case, this is a different issue (a check that exists was broken), may you fill a new issue with the output of clang -E - -v?

It wasn't a bug after all. I was missing the clang-3.9 package. I thought llvm-3.9-dev and libclang-3.9-dev were enough (I had llvm-config-3.9). It was on 64 bit. Thanks.

I moved my previous reply here.

Was this page helpful?
0 / 5 - 0 ratings