build fails otherwise. x86_64-pc-linux-gnu-g++ -x c++ -I. -I. -I./config -include ./defs.h -DLOCALEDIR="\"/usr/share/locale\"" -DHAVE_CONFIG_H -I./../include/opcode -I../bfd -I./../bfd -I./../include -I../libdecnumber -I./../libdecnumber -I./../gnulib/import -I../gnulib/import -I./.. -I.. -I./../libbacktrace/ -I../libbacktrace/ -DTUI=1 -I/usr/include/guile/3.0 -I./.. -pthread -Wall -Wpointer-arith -Wno-unused -Wunused-value -Wunused-variable -Wunused-function -Wno-switch -Wno-char-subscripts -Wempty-body -Wunused-but-set-parameter -Wunused-but-set-variable -Wno-sign-compare -Wno-error=maybe-uninitialized -Wno-mismatched-tags -Wsuggest-override -Wimplicit-fallthrough=5 -Wduplicated-cond -Wshadow=local -Wdeprecated-copy -Wdeprecated-copy-dtor -Wredundant-move -Wmissing-declarations -Wstrict-null-sentinel -Wformat -Wformat-nonliteral -march=core2 -mtune=native -O2 -flto=1 -fuse-linker-plugin -fno-fat-lto-objects -pipe -Wa,-mbranches-within-32B-boundaries -c -o guile/guile.o -MT guile/guile.o -MMD -MP -MF guile/.deps/guile.Tpo guile/guile.c guile/guile.c: In function 'void gdbscm_initialize(const extension_language_defn*)': guile/guile.c:688:5: error: 'scm_install_gmp_memory_functions' was not declared in this scope 688 | scm_install_gmp_memory_functions = 0; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ make[2]: *** [Makefile:1951: guile/guile.o] Error 1 make[2]: Leaving directory '/var/tmp/portage/dev-debug/gdb-15.2-r100/work/gdb-15.2/gdb' make[2]: *** Waiting for unfinished jobs.... make[2]: Entering directory '/var/tmp/portage/dev-debug/gdb-15.2-r100/work/gdb-15.2/gdb' x86_64-pc-linux-gnu-g++ -x c++ -I. -I. -I./config -include ./defs.h -DLOCALEDIR="\"/usr/share/locale\"" -DHAVE_CONFIG_H -I./../include/opcode -I../bfd -I./../bfd -I./../include -I../libdecnumber -I./../libdecnumber -I./../gnulib/import -I../gnulib/import -I./.. -I.. -I./../libbacktrace/ -I../libbacktrace/ -DTUI=1 -I/usr/include/guile/3.0 -I./.. -pthread -Wall -Wpointer-arith -Wno-unused -Wunused-value -Wunused-variable -Wunused-function -Wno-switch -Wno-char-subscripts -Wempty-body -Wunused-but-set-parameter -Wunused-but-set-variable -Wno-sign-compare -Wno-error=maybe-uninitialized -Wno-mismatched-tags -Wsuggest-override -Wimplicit-fallthrough=5 -Wduplicated-cond -Wshadow=local -Wdeprecated-copy -Wdeprecated-copy-dtor -Wredundant-move -Wmissing-declarations -Wstrict-null-sentinel -Wformat -Wformat-nonliteral -march=core2 -mtune=native -O2 -flto=1 -fuse-linker-plugin -fno-fat-lto-objects -pipe -Wa,-mbranches-within-32B-boundaries -c -o guile/scm-arch.o -MT guile/scm-arch.o -MMD -MP -MF guile/.deps/scm-arch.Tpo guile/scm-arch.c make[2]: Leaving directory '/var/tmp/portage/dev-debug/gdb-15.2-r100/work/gdb-15.2/gdb' make[2]: Entering directory '/var/tmp/portage/dev-debug/gdb-15.2-r100/work/gdb-15.2/gdb' x86_64-pc-linux-gnu-g++ -x c++ -I. -I. -I./config -include ./defs.h -DLOCALEDIR="\"/usr/share/locale\"" -DHAVE_CONFIG_H -I./../include/opcode -I../bfd -I./../bfd -I./../include -I../libdecnumber -I./../libdecnumber -I./../gnulib/import -I../gnulib/import -I./.. -I.. -I./../libbacktrace/ -I../libbacktrace/ -DTUI=1 -I/usr/include/guile/3.0 -I./.. -pthread -Wall -Wpointer-arith -Wno-unused -Wunused-value -Wunused-variable -Wunused-function -Wno-switch -Wno-char-subscripts -Wempty-body -Wunused-but-set-parameter -Wunused-but-set-variable -Wno-sign-compare -Wno-error=maybe-uninitialized -Wno-mismatched-tags -Wsuggest-override -Wimplicit-fallthrough=5 -Wduplicated-cond -Wshadow=local -Wdeprecated-copy -Wdeprecated-copy-dtor -Wredundant-move -Wmissing-declarations -Wstrict-null-sentinel -Wformat -Wformat-nonliteral -march=core2 -mtune=native -O2 -flto=1 -fuse-linker-plugin -fno-fat-lto-objects -pipe -Wa,-mbranches-within-32B-boundaries -c -o guile/scm-auto-load.o -MT guile/scm-auto-load.o -MMD -MP -MF guile/.deps/scm-auto-load.Tpo guile/scm-auto-load.c make[2]: Leaving directory '/var/tmp/portage/dev-debug/gdb-15.2-r100/work/gdb-15.2/gdb' make[1]: *** [Makefile:9987: all-gdb] Error 2 make: *** [Makefile:1028: all] Error 2 * ERROR: dev-debug/gdb-15.2-r100::gentoo failed (compile phase): * emake failed * * If you need support, post the output of `emerge --info '=dev-debug/gdb-15.2-r100::gentoo'`, * the complete build log and the output of `emerge -pqv '=dev-debug/gdb-15.2-r100::gentoo'`. * The complete build log is located at '/var/log/portage/dev-debug:gdb-15.2-r100:20241113-104805.log.gz'. * For convenience, a symlink to the build log is located at '/var/tmp/portage/dev-debug/gdb-15.2-r100/temp/build.log.gz'. * The ebuild environment file is located at '/var/tmp/portage/dev-debug/gdb-15.2-r100/temp/environment'. * Working directory: '/var/tmp/portage/dev-debug/gdb-15.2-r100/work/gdb-15.2' * S: '/var/tmp/portage/dev-debug/gdb-15.2-r100/work/gdb-15.2' >>> Failed to emerge dev-debug/gdb-15.2-r100, Log file: Reproducible: Always
Created attachment 908635 [details] build log
Looking at the gdb code, a proposition. In guile/guile.c, change #if SCM_MAJOR_VERSION < 3 || (SCM_MAJOR_VERSION == 3 && SCM_MINOR_VERSION == 0) to #if SCM_MAJOR_VERSION < 3 || (SCM_MAJOR_VERSION == 3 && SCM_MINOR_VERSION == 0 && SCM_MICRO_VERSION < 8) as it was deprecated then. Given that only only guile 3 version currently in the tree is 3.0.10, should work without changing the dep for gdb.