[#105544] [Ruby master Feature#18239] Variable Width Allocation: Strings — "peterzhu2118 (Peter Zhu)" <noreply@...>

Issue #18239 has been reported by peterzhu2118 (Peter Zhu).

18 messages 2021/10/04

[#105566] [Ruby master Bug#18242] Parser makes multiple assignment sad in confusing way — "danh337 (Dan Higgins)" <noreply@...>

Issue #18242 has been reported by danh337 (Dan Higgins).

9 messages 2021/10/06

[#105573] [Ruby master Bug#18243] Ractor.make_shareable does not freeze the receiver of a Proc but allows accessing ivars of it — "Eregon (Benoit Daloze)" <noreply@...>

Issue #18243 has been reported by Eregon (Benoit Daloze).

11 messages 2021/10/06

[#105618] [Ruby master Bug#18249] The ABI version of dev builds of CRuby does not correspond to the ABI — "Eregon (Benoit Daloze)" <noreply@...>

Issue #18249 has been reported by Eregon (Benoit Daloze).

23 messages 2021/10/11

[#105626] [Ruby master Bug#18250] Anonymous variables seem to break `Ractor.make_shareable` — "tenderlovemaking (Aaron Patterson)" <noreply@...>

Issue #18250 has been reported by tenderlovemaking (Aaron Patterson).

14 messages 2021/10/12

[#105660] [Ruby master Feature#18254] Add an `offset` parameter to String#unpack and String#unpack1 — "byroot (Jean Boussier)" <noreply@...>

Issue #18254 has been reported by byroot (Jean Boussier).

13 messages 2021/10/18

[#105672] [Ruby master Feature#18256] Change the canonical name of Thread::Mutex, Thread::Queue, Thread::SizedQueue and Thread::ConditionVariable to just Mutex, Queue, SizedQueue and ConditionVariable — "Eregon (Benoit Daloze)" <noreply@...>

Issue #18256 has been reported by Eregon (Benoit Daloze).

6 messages 2021/10/19

[#105692] [Ruby master Bug#18257] SystemTap/DTrace coredump on ppc64le/s390x — "vo.x (Vit Ondruch)" <noreply@...>

Issue #18257 has been reported by vo.x (Vit Ondruch).

22 messages 2021/10/20

[#105781] [Ruby master Misc#18266] DevelopersMeeting20211118Japan — "mame (Yusuke Endoh)" <noreply@...>

Issue #18266 has been reported by mame (Yusuke Endoh).

13 messages 2021/10/25

[#105805] [Ruby master Bug#18270] Refinement#{extend_object, append_features, prepend_features} should be removed — "shugo (Shugo Maeda)" <noreply@...>

Issue #18270 has been reported by shugo (Shugo Maeda).

8 messages 2021/10/26

[#105826] [Ruby master Feature#18273] Class.subclasses — "byroot (Jean Boussier)" <noreply@...>

Issue #18273 has been reported by byroot (Jean Boussier).

35 messages 2021/10/27

[#105833] [Ruby master Feature#18275] Add an option to define_method to not capture the surrounding environment — "vinistock (Vinicius Stock)" <noreply@...>

Issue #18275 has been reported by vinistock (Vinicius Stock).

11 messages 2021/10/27

[#105853] [Ruby master Feature#18276] `Proc#bind_call(obj)` same as `obj.instance_exec(..., &proc_obj)` — "ko1 (Koichi Sasada)" <noreply@...>

Issue #18276 has been reported by ko1 (Koichi Sasada).

15 messages 2021/10/28

[ruby-core:105519] [Ruby master Bug#18156] 3.0.2 configuration checks by default for C++ compiler instead of C?

From: "jaruga (Jun Aruga)" <noreply@...>
Date: 2021-10-01 12:25:12 UTC
List: ruby-core #105519
Issue #18156 has been updated by jaruga (Jun Aruga).


Thank you for the patch to fix the warning about AC_C_BIGENDIAN.

For the patch `912a8dcfc5369d840dcd6bf0f88ee0bac7d902d6`, I guess the patch is required to use autoconf >= 2.70, as autoconf 2.71 is a stable bug fix release. Maybe I saw the release note URL introduced by @vo.x somewhere, but I forgot where I saw it. So, I would reintroduce the URL here again.

https://lwn.net/Articles/839395/
> GNU Autoconf 2.70 released
> ...
> *** Setting CC to a C++ compiler is no longer supported.
>
> *** AC_PROG_CC_STDC, AC_PROG_CC_C89, AC_PROG_CC_C99 are now obsolete.
> 
>   Applications should use AC_PROG_CC.

https://lists.gnu.org/archive/html/info-gnu/2021-01/msg00017.html
> autoconf-2.71 released [stable]
>
> 2.71 is a bugfix release, correcting several important compatibility
problems and regressions discovered since the release of 2.70.  There
are no new features.


----------------------------------------
Bug #18156: 3.0.2 configuration checks by default for C++ compiler instead of C?
https://bugs.ruby-lang.org/issues/18156#change-93969

* Author: vo.x (Vit Ondruch)
* Status: Closed
* Priority: Normal
* ruby -v: ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-linux]
* Backport: 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN
----------------------------------------
It seems that with commit:git|c32375883a696fcf8e9e99875f1339ee5474a255 the configure script does not check for C compiler but for C++ using Autoconf 2.71. This is the difference between 2.69 [1] and 2.71 [2]:

~~~
--- 2.69
+++ 2.71
@@ -1,40 +1,27 @@
-+ ./configure --prefix=/home/chkbuild/chkbuild/tmp/build/20210908T123006Z --with-baseruby=/home/chkbuild/.rbenv/versions/3.0.2/bin/ruby --enable-debug-env --with-valgrind
-downloading config.guess ... done
-downloading config.sub ... done
++ ./configure --prefix=/home/chkbuild/chkbuild/tmp/build/20210908T120006Z --with-baseruby=/home/chkbuild/.rbenv/versions/3.0.2/bin/ruby --enable-debug-env --with-valgrind
+tool/config.guess already exists
+tool/config.sub already exists
 checking build system type... x86_64-pc-linux-gnu
 checking host system type... x86_64-pc-linux-gnu
 checking target system type... x86_64-pc-linux-gnu
 checking for gcc... gcc
 checking for ld... ld
 checking for gcc-ar... gcc-ar
-checking for g++... no
+checking for g++... g++
 checking for gcc-nm... gcc-nm
 checking for gcc-ranlib... gcc-ranlib
-checking for gcc... (cached) gcc
-checking whether the C compiler works... yes
-checking for C compiler default output file name... a.out
+checking whether the C++ compiler works... yes
+checking for C++ compiler default output file name... a.out
 checking for suffix of executables... 
 checking whether we are cross compiling... no
 checking for suffix of object files... o
-checking whether we are using the GNU C compiler... yes
+checking whether the compiler supports GNU C++... yes
+checking whether g++ accepts -g... yes
+checking for g++ option to enable C++11 features... none needed
+checking for gcc... (cached) gcc
+checking whether the compiler supports GNU C... yes
 checking whether gcc accepts -g... yes
-checking for gcc option to accept ISO C89... none needed
-checking for gcc option to accept ISO C99... none needed
-checking for g++... no
-checking for c++... no
-checking for gpp... no
-checking for aCC... no
-checking for CC... no
-checking for cxx... no
-checking for cc++... no
-checking for cl.exe... no
-checking for FCC... no
-checking for KCC... no
-checking for RCC... no
-checking for xlC_r... no
-checking for xlC... no
-checking whether we are using the GNU C++ compiler... no
-checking whether g++ accepts -g... no
+checking for gcc option to enable C11 features... none needed
 checking how to run the C preprocessor... gcc -E
 checking for ranlib... (cached) gcc-ranlib
 checking for gas... no
@@ -45,22 +32,20 @@
 checking for objdump... objdump
 checking for gstrip... no
 checking for strip... strip
-checking for grep that handles long lines and -e... /usr/bin/grep
-checking for egrep... /usr/bin/grep -E
-checking for ANSI C header files... yes
-checking for sys/types.h... yes
-checking for sys/stat.h... yes
+checking for stdio.h... yes
 checking for stdlib.h... yes
 checking for string.h... yes
-checking for memory.h... yes
-checking for strings.h... yes
 checking for inttypes.h... yes
 checking for stdint.h... yes
+checking for strings.h... yes
+checking for sys/stat.h... yes
+checking for sys/types.h... yes
 checking for unistd.h... yes
-checking minix/config.h usability... no
-checking minix/config.h presence... no
+checking for wchar.h... yes
 checking for minix/config.h... no
+checking for vfork.h... no
 checking whether it is safe to define __EXTENSIONS__... yes
+checking whether _XOPEN_SOURCE should be defined... no
 checking whether the linker is GNU ld... yes
 checking whether gcc -E accepts -o... yes
 checking for gcc... /usr/bin/gcc
@@ -68,7 +53,7 @@
 checking whether ln -s works... yes
 checking whether make sets $(MAKE)... yes
 checking for a BSD-compatible install... /usr/bin/install -c
-checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
+checking for a race-free mkdir -p... /usr/bin/mkdir -p
 checking for dtrace... no
 checking for dot... no
 checking for doxygen... no
@@ -126,157 +111,64 @@
 checking whether -fexcess-precision=standard is accepted as CFLAGS... yes
 checking whether -fp-model precise is accepted as CFLAGS... no
 checking whether compiler has statement and declarations in expressions... yes
-configure: Test skipped due to lack of a C++ compiler.
+checking whether CXXFLAGS is valid... yes
 checking for crypt in -lcrypt... yes
 checking for dlopen in -ldl... yes
 checking for shl_load in -ldld... no
 checking for shutdown in -lsocket... no
 checking for dirent.h that defines DIR... yes
 checking for library containing opendir... none required
+checking for _Bool... yes
 checking for stdbool.h that conforms to C99... yes
-checking for _Bool... yes
 checking for sys/wait.h that is POSIX.1 compatible... yes
-checking atomic.h usability... no
-checking atomic.h presence... no
 checking for atomic.h... no
-checking copyfile.h usability... no
-checking copyfile.h presence... no
 checking for copyfile.h... no
-checking direct.h usability... no
-checking direct.h presence... no
 checking for direct.h... no
-checking grp.h usability... yes
-checking grp.h presence... yes
 checking for grp.h... yes
-checking fcntl.h usability... yes
-checking fcntl.h presence... yes
 checking for fcntl.h... yes
-checking float.h usability... yes
-checking float.h presence... yes
 checking for float.h... yes
-checking ieeefp.h usability... no
-checking ieeefp.h presence... no
 checking for ieeefp.h... no
-checking intrinsics.h usability... no
-checking intrinsics.h presence... no
 checking for intrinsics.h... no
-checking langinfo.h usability... yes
-checking langinfo.h presence... yes
 checking for langinfo.h... yes
-checking limits.h usability... yes
-checking limits.h presence... yes
 checking for limits.h... yes
-checking locale.h usability... yes
-checking locale.h presence... yes
 checking for locale.h... yes
-checking malloc.h usability... yes
-checking malloc.h presence... yes
 checking for malloc.h... yes
-checking malloc/malloc.h usability... no
-checking malloc/malloc.h presence... no
 checking for malloc/malloc.h... no
-checking malloc_np.h usability... no
-checking malloc_np.h presence... no
 checking for malloc_np.h... no
-checking net/socket.h usability... no
-checking net/socket.h presence... no
 checking for net/socket.h... no
-checking process.h usability... no
-checking process.h presence... no
 checking for process.h... no
-checking pwd.h usability... yes
-checking pwd.h presence... yes
 checking for pwd.h... yes
-checking sanitizer/asan_interface.h usability... yes
-checking sanitizer/asan_interface.h presence... yes
 checking for sanitizer/asan_interface.h... yes
-checking sanitizer/msan_interface.h usability... no
-checking sanitizer/msan_interface.h presence... no
 checking for sanitizer/msan_interface.h... no
-checking setjmpex.h usability... no
-checking setjmpex.h presence... no
 checking for setjmpex.h... no
-checking stdalign.h usability... yes
-checking stdalign.h presence... yes
 checking for stdalign.h... yes
-checking sys/attr.h usability... no
-checking sys/attr.h presence... no
 checking for sys/attr.h... no
-checking sys/eventfd.h usability... yes
-checking sys/eventfd.h presence... yes
 checking for sys/eventfd.h... yes
-checking sys/fcntl.h usability... yes
-checking sys/fcntl.h presence... yes
 checking for sys/fcntl.h... yes
-checking sys/file.h usability... yes
-checking sys/file.h presence... yes
 checking for sys/file.h... yes
-checking sys/id.h usability... no
-checking sys/id.h presence... no
 checking for sys/id.h... no
-checking sys/ioctl.h usability... yes
-checking sys/ioctl.h presence... yes
 checking for sys/ioctl.h... yes
-checking sys/mkdev.h usability... no
-checking sys/mkdev.h presence... no
 checking for sys/mkdev.h... no
-checking sys/param.h usability... yes
-checking sys/param.h presence... yes
 checking for sys/param.h... yes
-checking sys/prctl.h usability... yes
-checking sys/prctl.h presence... yes
 checking for sys/prctl.h... yes
-checking sys/random.h usability... yes
-checking sys/random.h presence... yes
 checking for sys/random.h... yes
-checking sys/resource.h usability... yes
-checking sys/resource.h presence... yes
 checking for sys/resource.h... yes
-checking sys/select.h usability... yes
-checking sys/select.h presence... yes
 checking for sys/select.h... yes
-checking sys/sendfile.h usability... yes
-checking sys/sendfile.h presence... yes
 checking for sys/sendfile.h... yes
-checking sys/socket.h usability... yes
-checking sys/socket.h presence... yes
 checking for sys/socket.h... yes
-checking sys/syscall.h usability... yes
-checking sys/syscall.h presence... yes
 checking for sys/syscall.h... yes
-checking sys/sysmacros.h usability... yes
-checking sys/sysmacros.h presence... yes
 checking for sys/sysmacros.h... yes
-checking sys/time.h usability... yes
-checking sys/time.h presence... yes
 checking for sys/time.h... yes
-checking sys/times.h usability... yes
-checking sys/times.h presence... yes
 checking for sys/times.h... yes
-checking sys/uio.h usability... yes
-checking sys/uio.h presence... yes
 checking for sys/uio.h... yes
-checking sys/utime.h usability... no
-checking sys/utime.h presence... no
 checking for sys/utime.h... no
-checking syscall.h usability... yes
-checking syscall.h presence... yes
 checking for syscall.h... yes
-checking time.h usability... yes
-checking time.h presence... yes
 checking for time.h... yes
-checking ucontext.h usability... yes
-checking ucontext.h presence... yes
 checking for ucontext.h... yes
-checking utime.h usability... yes
-checking utime.h presence... yes
 checking for utime.h... yes
-checking x86intrin.h usability... yes
-checking x86intrin.h presence... yes
 checking for x86intrin.h... yes
-checking gmp.h usability... no
-checking gmp.h presence... no
-checking for gmp.h... no
+checking for gmp.h... yes
+checking for library containing __gmpz_init... -lgmp
 checking for special C compiler options needed for large files... no
 checking for _FILE_OFFSET_BITS value needed for large files... no
 checking whether byte ordering is bigendian... no
@@ -285,7 +177,7 @@
 checking for inline... inline
 checking for working volatile... yes
 checking for typeof syntax and keyword spelling... typeof
-checking for C/C++ restrict keyword... __restrict
+checking for C/C++ restrict keyword... __restrict__
 checking for long long... yes
 checking for off_t... yes
 checking char bit... 8
@@ -331,7 +223,7 @@
 checking for DEPRECATED_BY function attribute... __attribute__ ((__deprecated__("by "#n))) x
 checking for NOINLINE function attribute... __attribute__ ((__noinline__)) x
 checking for ALWAYS_INLINE function attribute... __attribute__ ((__always_inline__)) x
-checking for NO_SANITIZE function attribute... x
+checking for NO_SANITIZE function attribute... __attribute__ ((__no_sanitize__(san))) x
 checking for NO_SANITIZE_ADDRESS function attribute... __attribute__ ((__no_sanitize_address__)) x
 checking for NO_ADDRESS_SAFETY_ANALYSIS function attribute... __attribute__ ((__no_address_safety_analysis__)) x
 checking for WARN_UNUSED_RESULT function attribute... __attribute__ ((__warn_unused_result__)) x
@@ -339,8 +231,8 @@
 checking for ERRORFUNC function attribute... __attribute__ ((__error__ mesg)) x
 checking for WARNINGFUNC function attribute... __attribute__ ((__warning__ mesg)) x
 checking for WEAK function attribute... __attribute__ ((__weak__)) x
-checking for __attribute__((__depreacted__(msg))) in C++... no
-checking for std::nullptr_t... no
+checking for __attribute__((__depreacted__(msg))) in C++... yes
+checking for std::nullptr_t... yes
 checking for FUNC_STDCALL function attribute... x
 checking for FUNC_CDECL function attribute... x
 checking for FUNC_FASTCALL function attribute... x
@@ -354,7 +246,8 @@
 checking for RUBY_FUNC_NONNULL function attribute... __attribute__ ((__nonnull__(n))) x
 checking for function name string predefined identifier... __func__
 checking if enum over int is allowed... yes
-checking whether sys_nerr is declared... yes
+checking for gcc options needed to detect all undeclared functions... none needed
+checking whether sys_nerr is declared... no
 checking whether getenv is declared... yes
 checking for size_t... yes
 checking size of size_t... 8
@@ -413,6 +306,8 @@
 checking size of ssize_t... 8
 checking for printf prefix for int64_t... NONE
 checking for stack end address... __libc_stack_end
+checking for grep that handles long lines and -e... /usr/bin/grep
+checking for egrep... /usr/bin/grep -E
 checking for uid_t in sys/types.h... (cached) yes
 checking type of array argument to getgroups... gid_t
 checking for working alloca.h... yes
@@ -440,13 +335,8 @@
 checking for strlcpy... no
 checking for strstr... yes
 checking for tgamma... yes
-checking sys/pstat.h usability... no
-checking sys/pstat.h presence... no
 checking for sys/pstat.h... no
 checking for pid_t... (cached) yes
-checking vfork.h usability... no
-checking vfork.h presence... no
-checking for vfork.h... no
 checking for fork... yes
 checking for vfork... yes
 checking for working fork... yes
@@ -514,7 +404,7 @@
 checking for isfinite... no
 checking for issetugid... no
 checking for killpg... yes
-checking for lchmod... no
+checking for lchmod... yes
 checking for lchown... yes
 checking for link... yes
 checking for llabs... yes
@@ -591,8 +481,6 @@
 checking for __sinpi... no
 checking for statx... yes
 checking if getcwd allocates buffer if NULL is given... yes
-checking crypt.h usability... yes
-checking crypt.h presence... yes
 checking for crypt.h... yes
 checking for struct crypt_data.initialized... yes
 checking for __builtin_alloca_with_align... yes
@@ -659,27 +547,17 @@
 checking for getcontext... yes
 checking for setcontext... yes
 checking if fork works with pthread... yes
-checking sys/user.h usability... yes
-checking sys/user.h presence... yes
 checking for sys/user.h... yes
 checking whether PAGE_SIZE is compile-time const... yes
 checking ioctl request type... unsigned long
 checking whether ELF binaries are produced... yes
-checking elf.h usability... yes
-checking elf.h presence... yes
 checking for elf.h... yes
-checking elf_abi.h usability... no
-checking elf_abi.h presence... no
 checking for elf_abi.h... no
 checking for uncompress in -lz... yes
-checking mach-o/loader.h usability... no
-checking mach-o/loader.h presence... no
 checking for mach-o/loader.h... no
 checking whether OS depend dynamic link works... yes
 checking for backtrace... yes
 checking for broken backtrace... no
-checking valgrind/memcheck.h usability... no
-checking valgrind/memcheck.h presence... no
 checking for valgrind/memcheck.h... no
 checking for strip flags... -S -x
 checking whether -fPIE is accepted as CFLAGS... yes
@@ -692,8 +570,6 @@
 checking for sigsetjmp as a macro or function... no
 checking for setjmp type... __builtin_setjmp
 checking for prefix of external symbols... NONE
-checking pthread.h usability... yes
-checking pthread.h presence... yes
 checking for pthread.h... yes
 checking if make is GNU make... yes
 .ext/include/x86_64-linux/ruby/config.h updated
@@ -704,7 +580,7 @@
 ---
 Configuration summary for ruby version 3.1.0
 
-   * Installation prefix: /home/chkbuild/chkbuild/tmp/build/20210908T123006Z
+   * Installation prefix: /home/chkbuild/chkbuild/tmp/build/20210908T120006Z
    * exec prefix:         ${prefix}
    * arch:                x86_64-linux
    * site arch:           ${arch}
~~~

Not sure what is the practical impact other than that the OpenSUSE CI is going break once it update to Autoconf 2.71, because there is not C++ compiler installed (and something similar already happened on Fedora [3], that is why I am looking into this).


[1]: http://rubyci.s3.amazonaws.com/opensuseleap/ruby-master/log/20210908T123006Z.log.html.gz#configure
[2]: http://rubyci.s3.amazonaws.com/arch/ruby-master/log/20210908T120006Z.log.html.gz#configure
[3]: https://bugzilla.redhat.com/show_bug.cgi?id=1999479




-- 
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>

In This Thread

Prev Next