[issue:491] Compiling euptex using gcc-15 fails
Hello, when trying to build euptex (inside the TL source code) we noticed that building the euptex source code using gcc-15 fails. The relevant error message (for now) should be: gcc -DHAVE_CONFIG_H -I. -I../../../texk/web2c -I./w2c -I/<<PKGBUILDDIR>>/Work/texk/ptexenc -I/<<PKGBUILDDIR>>/texk/ptexenc -I/<<PKGBUILDDIR>>/Work/texk -I/<<PKGBUILDDIR>>/texk -I../../../texk/web2c/libmd5 -I../../../texk/web2c/synctexdir -D__SyncTeX__ -DSYNCTEX_ENGINE_H=\"synctex-euptex.h\" -Wdate-time -D_FORTIFY_SOURCE=2 -Wimplicit -Wreturn-type -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -c -o euptex-euptex0.o `test -f 'euptex0.c' || echo '../../../texk/web2c/'`euptex0.c euptex0.c: In function ‘convtoks’: euptex0.c:13216:11: error: two or more data types in declaration specifiers 13216 | boolean bool ; | ^~~~ euptex0.c:13216:3: warning: useless type name in empty declaration 13216 | boolean bool ; | ^~~~~~~ euptex0.c:13370:12: error: expected identifier or ‘(’ before ‘=’ token 13370 | bool = scankeyword ( 876 ) ; | ^ euptex0.c:13372:17: error: expected identifier or ‘(’ before ‘)’ token 13372 | if ( bool ) | ^ euptex0.c:13372:12: error: declaration in the controlling expression must have an initializer 13372 | if ( bool ) | ^~~~ euptex0.c:13385:23: error: expected expression before ‘bool’ 13385 | getmd5sum ( s , bool ) ; | ^~~~ Please be so kind to evaluate. If the issue is already knows and I missed the issue tracker carrying the fix, let me know. Thanks, Hilmar -- #206401 http://counter.li.org
Hi. https://gcc.gnu.org/gcc-15/changes.html
C23 by default: GCC 15 changes the default language version for C compilation from -std=gnu17 to -std=gnu23.
Since C23 added a new keyword bool, we must change the variable name. Best regards Kazuki Maeda On Sat, 3 May 2025 00:02:43 +0200 Hilmar Preuße <hille42@web.de> wrote:
Hello,
when trying to build euptex (inside the TL source code) we noticed that building the euptex source code using gcc-15 fails.
The relevant error message (for now) should be:
gcc -DHAVE_CONFIG_H -I. -I../../../texk/web2c -I./w2c -I/<<PKGBUILDDIR>>/Work/texk/ptexenc -I/<<PKGBUILDDIR>>/texk/ptexenc -I/<<PKGBUILDDIR>>/Work/texk -I/<<PKGBUILDDIR>>/texk -I../../../texk/web2c/libmd5 -I../../../texk/web2c/synctexdir -D__SyncTeX__ -DSYNCTEX_ENGINE_H=\"synctex-euptex.h\" -Wdate-time -D_FORTIFY_SOURCE=2 -Wimplicit -Wreturn-type -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -c -o euptex-euptex0.o `test -f 'euptex0.c' || echo '../../../texk/web2c/'`euptex0.c euptex0.c: In function ‘convtoks’: euptex0.c:13216:11: error: two or more data types in declaration specifiers 13216 | boolean bool ; | ^~~~ euptex0.c:13216:3: warning: useless type name in empty declaration 13216 | boolean bool ; | ^~~~~~~ euptex0.c:13370:12: error: expected identifier or ‘(’ before ‘=’ token 13370 | bool = scankeyword ( 876 ) ; | ^ euptex0.c:13372:17: error: expected identifier or ‘(’ before ‘)’ token 13372 | if ( bool ) | ^ euptex0.c:13372:12: error: declaration in the controlling expression must have an initializer 13372 | if ( bool ) | ^~~~ euptex0.c:13385:23: error: expected expression before ‘bool’ 13385 | getmd5sum ( s , bool ) ; | ^~~~
Please be so kind to evaluate. If the issue is already knows and I missed the issue tracker carrying the fix, let me know.
Thanks, Hilmar -- #206401 http://counter.li.org
Hi. https://svn.tug.org:8369/texlive?revision=75135&view=revision This commit will fix the issue. Thank you. Best regards Kazuki Maeda On Sat, 3 May 2025 11:18:18 +0900 Kazuki Maeda <kmaeda@kmaeda.net> wrote:
Hi.
https://gcc.gnu.org/gcc-15/changes.html
C23 by default: GCC 15 changes the default language version for C compilation from -std=gnu17 to -std=gnu23.
Since C23 added a new keyword bool, we must change the variable name.
Best regards Kazuki Maeda
On Sat, 3 May 2025 00:02:43 +0200 Hilmar Preuße <hille42@web.de> wrote:
Hello,
when trying to build euptex (inside the TL source code) we noticed that building the euptex source code using gcc-15 fails.
The relevant error message (for now) should be:
gcc -DHAVE_CONFIG_H -I. -I../../../texk/web2c -I./w2c -I/<<PKGBUILDDIR>>/Work/texk/ptexenc -I/<<PKGBUILDDIR>>/texk/ptexenc -I/<<PKGBUILDDIR>>/Work/texk -I/<<PKGBUILDDIR>>/texk -I../../../texk/web2c/libmd5 -I../../../texk/web2c/synctexdir -D__SyncTeX__ -DSYNCTEX_ENGINE_H=\"synctex-euptex.h\" -Wdate-time -D_FORTIFY_SOURCE=2 -Wimplicit -Wreturn-type -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -c -o euptex-euptex0.o `test -f 'euptex0.c' || echo '../../../texk/web2c/'`euptex0.c euptex0.c: In function ‘convtoks’: euptex0.c:13216:11: error: two or more data types in declaration specifiers 13216 | boolean bool ; | ^~~~ euptex0.c:13216:3: warning: useless type name in empty declaration 13216 | boolean bool ; | ^~~~~~~ euptex0.c:13370:12: error: expected identifier or ‘(’ before ‘=’ token 13370 | bool = scankeyword ( 876 ) ; | ^ euptex0.c:13372:17: error: expected identifier or ‘(’ before ‘)’ token 13372 | if ( bool ) | ^ euptex0.c:13372:12: error: declaration in the controlling expression must have an initializer 13372 | if ( bool ) | ^~~~ euptex0.c:13385:23: error: expected expression before ‘bool’ 13385 | getmd5sum ( s , bool ) ; | ^~~~
Please be so kind to evaluate. If the issue is already knows and I missed the issue tracker carrying the fix, let me know.
Thanks, Hilmar -- #206401 http://counter.li.org
_______________________________________________ issue mailing list issue@texjp.org https://ml.texjp.org/mailman/listinfo/issue