[ruby-core:108230] [Ruby master Misc#18726] CI Error on c99 and c2x
From:
"shyouhei (Shyouhei Urabe)" <noreply@...>
Date:
2022-04-14 07:39:50 UTC
List:
ruby-core #108230
Issue #18726 has been updated by shyouhei (Shyouhei Urabe).
The problem is whether we are allowed to do this.
```patch
From b60e5fdfa540a0ddef35f5dc904d004d226dac25 Mon Sep 17 00:00:00 2001
From: 卜部昌平 <shyouhei@ruby-lang.org>
Date: Thu, 14 Apr 2022 16:34:22 +0900
Subject: [PATCH] require autoconf 2.70
Fixes [Misc #18726]
See also https://lists.gnu.org/r/autoconf-patches/2020-08/msg00000.html
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index cbc53231d8..9f5ae83254 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,7 +3,7 @@ AC_INIT
{
AC_CONFIG_AUX_DIR(tool)
-AC_PREREQ(2.67)
+AC_PREREQ(2.70)
tooldir="$srcdir/tool"
--
2.17.1
```
----------------------------------------
Misc #18726: CI Error on c99 and c2x
https://bugs.ruby-lang.org/issues/18726#change-97251
* 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>