Skip to content
This repository was archived by the owner on Jan 14, 2024. It is now read-only.
This repository was archived by the owner on Jan 14, 2024. It is now read-only.

Bindgen fails on Arch Linux 5.2.8-arch1-1-ARCH #1

@kbleeke

Description

@kbleeke

Hi, I just saw this on reddit and want to try. But bindgen seems to fail on my machine running Arch Linux with kernel version 5.2.8-arch1-1-ARCH

I have no experience in kernel development, so I'm not sure what the issue is here. The errors seems to come from clang:

Full output:

 ~/git/linux-kernel-module-rust/hello_world   master  RUST_TARGET_PATH=$(pwd)/.. cargo xbuild --target x86_64-linux-kernel-module
    Updating crates.io index
   Compiling core v0.0.0 (/home/kai/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore)
   Compiling compiler_builtins v0.1.19
   Compiling rustc-std-workspace-core v1.0.0 (/home/kai/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/tools/rustc-std-workspace-core)
   Compiling alloc v0.0.0 (/tmp/xargo.S1rXilz6pftT)
    Finished release [optimized] target(s) in 16.28s
   Compiling memchr v2.2.1
   Compiling libc v0.2.62
   Compiling version_check v0.1.5
   Compiling cc v1.0.40
   Compiling log v0.4.8
   Compiling bitflags v1.1.0
   Compiling lazy_static v1.3.0
   Compiling glob v0.2.11
   Compiling regex-syntax v0.6.11
   Compiling quick-error v1.2.2
   Compiling cfg-if v0.1.9
   Compiling unicode-width v0.1.5
   Compiling unicode-xid v0.1.0
   Compiling strsim v0.8.0
   Compiling bindgen v0.43.2
   Compiling ansi_term v0.11.0
   Compiling termcolor v1.0.5
   Compiling vec_map v0.8.1
   Compiling peeking_take_while v0.1.2
   Compiling shlex v0.1.1
   Compiling humantime v1.2.0
   Compiling thread_local v0.3.6
   Compiling textwrap v0.11.0
   Compiling proc-macro2 v0.3.5
   Compiling nom v4.2.3
   Compiling clang-sys v0.26.4
   Compiling quote v0.5.2
   Compiling aho-corasick v0.7.6
   Compiling libloading v0.5.2
   Compiling atty v0.2.13
   Compiling which v1.0.5
   Compiling clap v2.33.0
   Compiling cexpr v0.3.5
   Compiling regex v1.2.1
   Compiling env_logger v0.6.2
   Compiling linux-device-driver v0.1.0 (/home/kai/git/linux-kernel-module-rust)
error: failed to run custom build command for `linux-device-driver v0.1.0 (/home/kai/git/linux-kernel-module-rust)`

Caused by:
  process didn't exit successfully: `/home/kai/git/linux-kernel-module-rust/hello_world/target/debug/build/linux-device-driver-fd96a7e17f92603d/build-script-build` (exit code: 101)
--- stdout
Target=x86_64-linux-kernel-module
get output:-nostdinc -isystem /usr/lib/clang/8.0.1/include -I/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./arch/x86/include -I/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./arch/x86/include/generated -I/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include -I/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./arch/x86/include/uapi -I/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./arch/x86/include/generated/uapi -I/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/uapi -I/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/generated/uapi -include /usr/lib/modules/5.2.8-arch1-1-ARCH/build/include/linux/kconfig.h -DMODULE

cargo:rerun-if-changed=src/bindgen_helper.h

--- stderr
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./arch/x86/include/asm/bitops.h:128:2: warning: implicit declaration of function 'barrier' is invalid in C99 [-Wimplicit-function-declaration]
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./arch/x86/include/asm/bitops.h:209:9: error: 'asm goto' constructs are not supported yet
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./arch/x86/include/asm/bitops.h:255:9: error: 'asm goto' constructs are not supported yet
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./arch/x86/include/asm/bitops.h:308:9: error: 'asm goto' constructs are not supported yet
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/bitops.h:47:10: warning: implicit declaration of function 'fls' is invalid in C99 [-Wimplicit-function-declaration]
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/bitops.h:53:26: warning: implicit declaration of function 'hweight32' is invalid in C99 [-Wimplicit-function-declaration]
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/bitops.h:53:41: warning: implicit declaration of function 'hweight64' is invalid in C99 [-Wimplicit-function-declaration]
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/bitops.h:163:10: warning: implicit declaration of function 'fls' is invalid in C99 [-Wimplicit-function-declaration]
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/bitops.h:164:9: warning: implicit declaration of function 'fls64' is invalid in C99 [-Wimplicit-function-declaration]
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/bitops.h:171:10: warning: implicit declaration of function 'fls' is invalid in C99 [-Wimplicit-function-declaration]
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/log2.h:24:9: warning: implicit declaration of function 'fls' is invalid in C99 [-Wimplicit-function-declaration]
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/log2.h:32:9: warning: implicit declaration of function 'fls64' is invalid in C99 [-Wimplicit-function-declaration]
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/log2.h:197:15: error: unknown type name '__attribute_const__'
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/log2.h:198:1: error: expected identifier or '('
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/init.h:142:13: error: expected parameter declarator
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/init.h:142:13: error: expected ')'
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/init.h:142:13: note: to match this '('
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/init.h:142:24: error: expected function body after function declarator
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/init.h:149:5: error: expected parameter declarator
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/init.h:149:5: error: expected ')'
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/init.h:149:5: note: to match this '('
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/init.h:149:5: error: expected function body after function declarator
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/printk.h:142:28: error: expected parameter declarator
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/printk.h:142:28: error: expected ')'
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/printk.h:142:27: note: to match this '('
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/printk.h:142:19: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/printk.h:142:33: error: expected ';' after top level declarator
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/printk.h:162:21: error: expected parameter declarator
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/printk.h:162:21: error: expected ')'
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/printk.h:162:20: note: to match this '('
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/printk.h:162:12: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/printk.h:162:26: error: expected ';' after top level declarator
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/printk.h:167:21: error: expected parameter declarator
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/printk.h:167:21: error: expected ')'
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/printk.h:167:20: note: to match this '('
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/printk.h:167:12: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
fatal error: too many errors emitted, stopping now [-ferror-limit=]
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./arch/x86/include/asm/bitops.h:128:2: warning: implicit declaration of function 'barrier' is invalid in C99 [-Wimplicit-function-declaration], err: false
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./arch/x86/include/asm/bitops.h:209:9: error: 'asm goto' constructs are not supported yet, err: true
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./arch/x86/include/asm/bitops.h:255:9: error: 'asm goto' constructs are not supported yet, err: true
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./arch/x86/include/asm/bitops.h:308:9: error: 'asm goto' constructs are not supported yet, err: true
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/bitops.h:47:10: warning: implicit declaration of function 'fls' is invalid in C99 [-Wimplicit-function-declaration], err: false
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/bitops.h:53:26: warning: implicit declaration of function 'hweight32' is invalid in C99 [-Wimplicit-function-declaration], err: false
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/bitops.h:53:41: warning: implicit declaration of function 'hweight64' is invalid in C99 [-Wimplicit-function-declaration], err: false
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/bitops.h:163:10: warning: implicit declaration of function 'fls' is invalid in C99 [-Wimplicit-function-declaration], err: false
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/bitops.h:164:9: warning: implicit declaration of function 'fls64' is invalid in C99 [-Wimplicit-function-declaration], err: false
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/bitops.h:171:10: warning: implicit declaration of function 'fls' is invalid in C99 [-Wimplicit-function-declaration], err: false
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/log2.h:24:9: warning: implicit declaration of function 'fls' is invalid in C99 [-Wimplicit-function-declaration], err: false
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/log2.h:32:9: warning: implicit declaration of function 'fls64' is invalid in C99 [-Wimplicit-function-declaration], err: false
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/log2.h:197:15: error: unknown type name '__attribute_const__', err: true
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/log2.h:198:1: error: expected identifier or '(', err: true
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/init.h:142:13: error: expected parameter declarator, err: true
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/init.h:142:13: error: expected ')', err: true
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/init.h:142:24: error: expected function body after function declarator, err: true
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/init.h:149:5: error: expected parameter declarator, err: true
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/init.h:149:5: error: expected ')', err: true
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/init.h:149:5: error: expected function body after function declarator, err: true
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/printk.h:142:28: error: expected parameter declarator, err: true
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/printk.h:142:28: error: expected ')', err: true
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/printk.h:142:19: warning: type specifier missing, defaults to 'int' [-Wimplicit-int], err: false
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/printk.h:142:33: error: expected ';' after top level declarator, err: true
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/printk.h:162:21: error: expected parameter declarator, err: true
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/printk.h:162:21: error: expected ')', err: true
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/printk.h:162:12: warning: type specifier missing, defaults to 'int' [-Wimplicit-int], err: false
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/printk.h:162:26: error: expected ';' after top level declarator, err: true
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/printk.h:167:21: error: expected parameter declarator, err: true
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/printk.h:167:21: error: expected ')', err: true
/usr/lib/modules/5.2.8-arch1-1-ARCH/build/./include/linux/printk.h:167:12: warning: type specifier missing, defaults to 'int' [-Wimplicit-int], err: false
fatal error: too many errors emitted, stopping now [-ferror-limit=], err: true
thread 'main' panicked at 'Unable to generate bindings: ()', src/libcore/result.rs:1084:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
$clang --version                         
clang version 8.0.1 (tags/RELEASE_801/final)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions