From: "alanwu (Alan Wu)" Date: 2022-04-14T22:44:16+00:00 Subject: [ruby-core:108243] [Ruby master Misc#18726] CI Error on c99 and c2x Issue #18726 has been updated by alanwu (Alan Wu). Sorry, I pushed a CI fix without finding this ticket first: https://github.com/ruby/ruby/commit/307cb57ba6d4833cc40d29d218561e98f9a1dcb9 Please feel free to amend it. By the way, in case someone is looking at the new warnings from clang-15, the warnings about `rb_gvar_readonly_setter` are likely due to a Clang bug. See comments: https://github.com/llvm/llvm-project/commit/11da1b53d8cd3507959022cd790d5a7ad4573d94#commitcomment-71307638 ---------------------------------------- Misc #18726: CI Error on c99 and c2x https://bugs.ruby-lang.org/issues/18726#change-97262 * Author: znz (Kazuhiro NISHIYAMA) * Status: Open * Priority: Normal * Assignee: shyouhei (Shyouhei Urabe) ---------------------------------------- https://github.com/ruby/ruby/runs/6013849896?check_suite_focus=true ``` checking char bit... 8 checking size of int... 0 checking size of short... 0 checking size of long... 0 configure: error: in `/__w/ruby/ruby/build': configure: error: cannot compute sizeof (long long) See `config.log' for more details checking size of long long... Error: Process completed with exit code 77. ``` I investigate it, the cause is that autoconf is old in `ghcr.io/ruby/ruby-ci-image:clang-15`. (Autoconf 2.69) Autoconf 2.71 generates with `void`. How to reproduce: ``` % docker run --rm -it ghcr.io/ruby/ruby-ci-image:clang-15 $ sudo apt update $ sudo apt install git $ git clone --depth=1 https://github.com/ruby/ruby $HOME/src $ mkdir $HOME/build $ cd $HOME/build $ ../src/autogen.sh $ ../src/configure -C --enable-debug-env --disable-install-doc --with-ext=-test-/cxxanyargs,+ --without-valgrind --without-jemalloc --without-gmp --with-gcc="clang-15 -std=c99 -Werror=pedantic -pedantic-errors" --enable-shared optflags=-O1 debugflags=-ggdb3 ``` Tail of configure output: ``` checking char bit... 8 checking size of int... 0 checking size of short... 0 checking size of long... 0 checking size of long long... configure: error: in `/home/ci/build': configure: error: cannot compute sizeof (long long) See `config.log' for more details ``` Quote from config.log: ``` configure:13939: checking size of int configure:13944: clang-15 -std=c99 -Werror=pedantic -pedantic-errors -o conftest -O1 -fno-fast-math -ggdb3 -fdeclspec -fstack-protector-strong conftest.c -lm >&5 conftest.c:107:25: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] static long int longval () { return (long int) (sizeof (int)); } ^ void conftest.c:108:35: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] static unsigned long int ulongval () { return (long int) (sizeof (int)); } ^ void 2 errors generated. ``` -- https://bugs.ruby-lang.org/ Unsubscribe: