Bug#1096604: f2j: ftbfs with GCC-15
Matthias Klose
doko at debian.org
Mon Feb 17 17:12:29 GMT 2025
Package: src:f2j
Version: 0.8.1+dfsg-5
Severity: important
Tags: sid forky
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-15
[This bug is NOT targeted to the upcoming trixie release]
Please keep this issue open in the bug tracker for the package it
was filed for. If a fix in another package is required, please
file a bug for the other package (or clone), and add a block in this
package. Please keep the issue open until the package can be built in
a follow-up test rebuild.
The package fails to build in a test rebuild on at least amd64 with
gcc-15/g++-15, but succeeds to build with gcc-14/g++-14. The
severity of this report will be raised before the forky release.
The full build log can be found at:
http://qa-logs.debian.net/2025/02/16/amd64exp/f2j_0.8.1+dfsg-5_unstable_gccexp.log.gz
The last lines of the build log are at the end of this report.
To build with GCC 15, either set CC=gcc-15 CXX=g++-15 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.
apt-get -t=experimental install g++
GCC 15 now defaults to the C23/C++23 standards, exposing many FTBFS.
Other Common build failures are new warnings resulting in build failures
with -Werror turned on, or new/dropped symbols in Debian symbols files.
For other C/C++ related build failures see the porting guide at
http://gcc.gnu.org/gcc-15/porting_to.html
[...]
f2jparse.y: In function ‘clone_ident’:
f2jparse.y:4818:70: warning: iteration 7 invokes undefined behavior [-Waggressive-loop-optimizations]
4818 | new_node->astnode.ident.startDim[i] = ast->astnode.ident.startDim[i];
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
f2jparse.y:4817:13: note: within this loop
4817 | for(i=0; i<=MAX_ARRAY_DIM; i++) {
gcc -Wall -DDEBUG_MEM -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/f2j-0.8.1+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I /build/reproducible-path/f2j-0.8.1+dfsg/libbytecode -c f2jlex.c
gcc -Wall -DDEBUG_MEM -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/f2j-0.8.1+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I /build/reproducible-path/f2j-0.8.1+dfsg/libbytecode -c f2jmain.c
gcc -Wall -DDEBUG_MEM -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/f2j-0.8.1+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I /build/reproducible-path/f2j-0.8.1+dfsg/libbytecode -c codegen.c
gcc -Wall -DDEBUG_MEM -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/f2j-0.8.1+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I /build/reproducible-path/f2j-0.8.1+dfsg/libbytecode -c vcg_emitter.c
gcc -Wall -DDEBUG_MEM -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/f2j-0.8.1+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I /build/reproducible-path/f2j-0.8.1+dfsg/libbytecode -c typecheck.c
gcc -Wall -DDEBUG_MEM -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/f2j-0.8.1+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I /build/reproducible-path/f2j-0.8.1+dfsg/libbytecode -c optimize.c
gcc -Wall -DDEBUG_MEM -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/f2j-0.8.1+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I /build/reproducible-path/f2j-0.8.1+dfsg/libbytecode -c globals.c
optimize.c: In function ‘optimize’:
optimize.c:188:5: warning: case value ‘0’ not in enumerated type ‘enum _nodetype’ [-Wswitch]
188 | case 0:
| ^~~~
vcg_emitter.c: In function ‘emit_vcg’:
typecheck.c: In function ‘typecheck’:
vcg_emitter.c:234:5: warning: case value ‘0’ not in enumerated type ‘enum _nodetype’ [-Wswitch]
234 | case 0:
| ^~~~
typecheck.c:102:5: warning: case value ‘0’ not in enumerated type ‘enum _nodetype’ [-Wswitch]
102 | case 0:
| ^~~~
codegen.c: In function ‘emit’:
codegen.c:112:7: warning: case value ‘0’ not in enumerated type ‘enum _nodetype’ [-Wswitch]
112 | case 0:
| ^~~~
codegen.c:108:9: warning: variable ‘locals’ set but not used [-Wunused-but-set-variable]
108 | int locals;
| ^~~~~~
codegen.c: At top level:
codegen.c:765:1: error: conflicting types for ‘free_lists’; have ‘void(JVM_METHOD *)’ {aka ‘void(struct _method_info *)’}
765 | free_lists(JVM_METHOD *meth)
| ^~~~~~~~~~
In file included from codegen.c:17:
codegen.h:278:3: note: previous declaration of ‘free_lists’ with type ‘void(void)’
278 | free_lists();
| ^~~~~~~~~~
codegen.c: In function ‘getNameFromCommonDesc’:
codegen.c:1847:8: warning: comparison between pointer and zero character constant [-Wpointer-compare]
1847 | if(p == '\0')
| ^~
codegen.c:1847:6: note: did you mean to dereference the pointer?
1847 | if(p == '\0')
| ^
codegen.c: In function ‘getFieldDescFromCommonDesc’:
codegen.c:1890:8: warning: comparison between pointer and zero character constant [-Wpointer-compare]
1890 | if(p == '\0')
| ^~
codegen.c:1890:6: note: did you mean to dereference the pointer?
1890 | if(p == '\0')
| ^
codegen.c: In function ‘data_string_emit’:
codegen.c:3306:16: warning: variable ‘count’ set but not used [-Wunused-but-set-variable]
3306 | unsigned int count, size = 0;
| ^~~~~
codegen.c: In function ‘LHS_bytecode_emit’:
codegen.c:11009:12: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
11009 | (BOOL)isArg, class, name, desc, typenode->variable->astnode.ident.localvnum, FALSE);
| ^
make[2]: *** [Makefile:16: codegen.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/build/reproducible-path/f2j-0.8.1+dfsg/src'
make[1]: *** [Makefile:24: f2java] Error 2
make[1]: Leaving directory '/build/reproducible-path/f2j-0.8.1+dfsg'
dh_auto_build: error: make -j8 returned exit code 2
make: *** [debian/rules:12: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
More information about the pkg-java-maintainers
mailing list