ruby-core@ruby-lang.org archive (unofficial mirror)
 help / color / mirror / Atom feed
* [ruby-core:122639] [Ruby Bug#21497] building issue when using gcc15, because C23 is default
@ 2025-07-01 15:17 liuzx (Liu Z.) via ruby-core
  2025-07-01 16:05 ` [ruby-core:122640] " liuzx (Liu Z.) via ruby-core
  0 siblings, 1 reply; 2+ messages in thread
From: liuzx (Liu Z.) via ruby-core @ 2025-07-01 15:17 UTC (permalink / raw)
  To: ruby-core; +Cc: liuzx (Liu Z.)

Issue #21497 has been reported by liuzx (Liu Z.).

----------------------------------------
Bug #21497: building issue when using gcc15, because C23 is default
https://bugs.ruby-lang.org/issues/21497

* Author: liuzx (Liu Z.)
* Status: Open
* ruby -v: 3.2, 3.3, 3.4
* Backport: 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN
----------------------------------------
https://github.com/ruby/ruby/pull/13736

1. for ruby 3.3, 3.4: when compiling using gcc 15 with "-flto -Werror=lto-type-mismatch", ext/io/console/extconf.h will have:

> #define HAVE_RB_IO_PATH 1
> #define HAVE_RB_IO_DESCRIPTOR 1
> #define HAVE_RB_IO_GET_WRITE_IO 1
> #define HAVE_RB_IO_CLOSED_P 1
> #define HAVE_RB_IO_OPEN_DESCRIPTOR 1

the build is failed with:

> console.c:1417:1: error: static declaration of ‘rb_io_closed_p’ follows non-static declaration
>  1417 | rb_io_closed_p(VALUE io)
>       | ^~~~~~~~~~~~~~
> ../../.././include/ruby/io.h:385:7: note: previous declaration of ‘rb_io_closed_p’ with type ‘VALUE(VALUE)’ {aka ‘long unsigned int(long un
signed int)’}
>   385 | VALUE rb_io_closed_p(VALUE io);
>       |       ^~~~~~~~~~~~~~

see https://bugs.gentoo.org/945643#c17 for more detail analysis

2. for ruby 3.2, 3.3, 3.4: when enable socks5 support, gcc15 will report:

> init.c:573:19: error: too many arguments to function ‘Rconnect’; expected 0, have 3
>   573 |     return (VALUE)Rconnect(arg->fd, arg->sockaddr, arg->len);
>       |                   ^~~~~~~~ ~~~~~~~
> In file included from init.c:11:
> rubysocket.h:294:5: note: declared here
>   294 | int Rconnect();
>       |     ^~~~~~~~

> sockssocket.c:33:9: error: too many arguments to function ‘SOCKSinit’; expected 0, have 1
>    33 |         SOCKSinit("ruby");
>       |         ^~~~~~~~~ ~~~~~~
> In file included from sockssocket.c:11:
> rubysocket.h:293:6: note: declared here
>   293 | void SOCKSinit();
>       |      ^~~~~~~~~




-- 
https://bugs.ruby-lang.org/
______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [ruby-core:122640] [Ruby Bug#21497] building issue when using gcc15, because C23 is default
  2025-07-01 15:17 [ruby-core:122639] [Ruby Bug#21497] building issue when using gcc15, because C23 is default liuzx (Liu Z.) via ruby-core
@ 2025-07-01 16:05 ` liuzx (Liu Z.) via ruby-core
  0 siblings, 0 replies; 2+ messages in thread
From: liuzx (Liu Z.) via ruby-core @ 2025-07-01 16:05 UTC (permalink / raw)
  To: ruby-core; +Cc: liuzx (Liu Z.)

Issue #21497 has been updated by liuzx (Liu Z.).


1 had been fixed in commit https://github.com/ruby/io-console/commit/dd013030dd276a7372df34cf43ada1c14d0cbc21

----------------------------------------
Bug #21497: building issue when using gcc15, because C23 is default
https://bugs.ruby-lang.org/issues/21497#change-113912

* Author: liuzx (Liu Z.)
* Status: Open
* ruby -v: 3.2, 3.3, 3.4
* Backport: 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN
----------------------------------------
https://github.com/ruby/ruby/pull/13736

1. for ruby 3.3, 3.4: when compiling using gcc 15 with "-flto -Werror=lto-type-mismatch", ext/io/console/extconf.h will have:

> #define HAVE_RB_IO_PATH 1
> #define HAVE_RB_IO_DESCRIPTOR 1
> #define HAVE_RB_IO_GET_WRITE_IO 1
> #define HAVE_RB_IO_CLOSED_P 1
> #define HAVE_RB_IO_OPEN_DESCRIPTOR 1

the build is failed with:

> console.c:1417:1: error: static declaration of ‘rb_io_closed_p’ follows non-static declaration
>  1417 | rb_io_closed_p(VALUE io)
>       | ^~~~~~~~~~~~~~
> ../../.././include/ruby/io.h:385:7: note: previous declaration of ‘rb_io_closed_p’ with type ‘VALUE(VALUE)’ {aka ‘long unsigned int(long un
signed int)’}
>   385 | VALUE rb_io_closed_p(VALUE io);
>       |       ^~~~~~~~~~~~~~

see https://bugs.gentoo.org/945643#c17 for more detail analysis

2. for ruby 3.2, 3.3, 3.4: when enable socks5 support, gcc15 will report:

> init.c:573:19: error: too many arguments to function ‘Rconnect’; expected 0, have 3
>   573 |     return (VALUE)Rconnect(arg->fd, arg->sockaddr, arg->len);
>       |                   ^~~~~~~~ ~~~~~~~
> In file included from init.c:11:
> rubysocket.h:294:5: note: declared here
>   294 | int Rconnect();
>       |     ^~~~~~~~

> sockssocket.c:33:9: error: too many arguments to function ‘SOCKSinit’; expected 0, have 1
>    33 |         SOCKSinit("ruby");
>       |         ^~~~~~~~~ ~~~~~~
> In file included from sockssocket.c:11:
> rubysocket.h:293:6: note: declared here
>   293 | void SOCKSinit();
>       |      ^~~~~~~~~




-- 
https://bugs.ruby-lang.org/
______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-07-01 16:06 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-07-01 15:17 [ruby-core:122639] [Ruby Bug#21497] building issue when using gcc15, because C23 is default liuzx (Liu Z.) via ruby-core
2025-07-01 16:05 ` [ruby-core:122640] " liuzx (Liu Z.) via ruby-core

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).