Multiple CI targets fail on rust-tree-sitter compile
rfdonnelly opened this issue · comments
Relevant Error
cargo:warning=src/././atomic.h:25:29: error: '__ATOMIC_RELAXED' undeclared (first use in this function)
Cause
This is due to use of old GCC version without full C11 support specifically atomics.
The old GCC version is due to use of japaric/trust which uses rust-embedded/cross which provides Docker images that use an older version of Ubuntu (14.04). This is done to maximize the portablility of the generated binaries.
References
Full Error
error: failed to run custom build command for `tree-sitter v0.3.10`
Caused by:
process didn't exit successfully: `/target/debug/build/tree-sitter-c958c35e40c2d7f9/build-script-build` (exit code: 1)
--- stdout
cargo:rerun-if-env-changed=TREE_SITTER_STATIC_ANALYSIS
cargo:rerun-if-env-changed=TREE_SITTER_TEST
cargo:rerun-if-changed=src/reusable_node.h
cargo:rerun-if-changed=src/subtree.h
cargo:rerun-if-changed=src/tree.h
cargo:rerun-if-changed=src/subtree.c
cargo:rerun-if-changed=src/node.c
cargo:rerun-if-changed=src/clock.h
cargo:rerun-if-changed=src/error_costs.h
cargo:rerun-if-changed=src/reduce_action.h
cargo:rerun-if-changed=src/stack.h
cargo:rerun-if-changed=src/language.c
cargo:rerun-if-changed=src/parser.c
cargo:rerun-if-changed=src/language.h
cargo:rerun-if-changed=src/get_changed_ranges.c
cargo:rerun-if-changed=src/tree_cursor.h
cargo:rerun-if-changed=src/alloc.h
cargo:rerun-if-changed=src/point.h
cargo:rerun-if-changed=src/get_changed_ranges.h
cargo:rerun-if-changed=src/lib.c
cargo:rerun-if-changed=src/atomic.h
cargo:rerun-if-changed=src/tree.c
cargo:rerun-if-changed=src/stack.c
cargo:rerun-if-changed=src/array.h
cargo:rerun-if-changed=src/utf16.c
cargo:rerun-if-changed=src/tree_cursor.c
cargo:rerun-if-changed=src/lexer.c
cargo:rerun-if-changed=src/lexer.h
cargo:rerun-if-changed=src/utf16.h
cargo:rerun-if-changed=src/length.h
TARGET = Some("x86_64-unknown-linux-gnu")
OPT_LEVEL = Some("0")
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("true")
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" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "include" "-I" "utf8proc" "-Wall" "-Wextra" "-std=c99" "-Wno-unused-parameter" "-o" "/target/x86_64-unknown-linux-gnu/debug/build/tree-sitter-0812dc3bbd9c4112/out/src/lib.o" "-c" "src/lib.c"
cargo:warning=In file included from src/./parser.c:9:0,
cargo:warning= from src/lib.c:14:
cargo:warning=src/././atomic.h: In function 'atomic_load':
cargo:warning=src/././atomic.h:25:3: warning: implicit declaration of function '__atomic_load_n' [-Wimplicit-function-declaration]
cargo:warning=src/././atomic.h:25:29: error: '__ATOMIC_RELAXED' undeclared (first use in this function)
cargo:warning=src/././atomic.h:25:29: note: each undeclared identifier is reported only once for each function it appears in
cargo:warning=In file included from src/lib.c:16:0:
cargo:warning=src/./subtree.c: In function 'ts_subtree_new_node':
cargo:warning=src/./subtree.c:486:5: warning: missing initializer [-Wmissing-field-initializers]
cargo:warning=src/./subtree.c:486:5: warning: (near initialization for '(anonymous).<anonymous>.<anonymous>.first_leaf') [-Wmissing-field-initializers]
cargo:warning=src/./subtree.c:493:5: warning: missing initializer [-Wmissing-field-initializers]
cargo:warning=src/./subtree.c:493:5: warning: (near initialization for '(anonymous).<anonymous>.<anonymous>.first_leaf') [-Wmissing-field-initializers]
cargo:warning=src/lib.c: In function 'atomic_load':
cargo:warning=src/././atomic.h:26:1: warning: control reaches end of non-void function [-Wreturn-type]
exit code: 1