[ruby-core:108242] [Ruby master Misc#18726] CI Error on c99 and c2x
From:
"vo.x (Vit Ondruch)" <noreply@...>
Date:
2022-04-14 19:15:26 UTC
List:
ruby-core #108242
Issue #18726 has been updated by vo.x (Vit Ondruch).
shyouhei (Shyouhei Urabe) wrote in #note-1:
> Is it okay to require 2.71? Or any reasons not to?
2.69 is still default on RHEL8 and similar.
----------------------------------------
Misc #18726: CI Error on c99 and c2x
https://bugs.ruby-lang.org/issues/18726#change-97261
* 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: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>