https://github.com/VICE-Team/svn-mirror/commit/008423c869d694784ed9ad99055add5d8a27fbbd added -fno-exceptions to CXXFLAGS:
dnl Set CXXFLAGS. Use -fno-exceptions for G++ if supported.
if test "$ac_test_CXXFLAGS" != set; then
if test "$GXX" = yes; then
old_CXXFLAGS=$CXXFLAGS
CXXFLAGS="$CXXFLAGS -fno-exceptions"
but residfp throws:
https://github.com/VICE-Team/svn-mirror/blob/main/vice/src/lib/libresidfp/src/SID.cpp#L256
default:
throw SIDError("Unknown chip type");
}
so the build fails:
/home/name/src/vice-emu-code/vice/src/lib/libresidfp/src/SID.cpp: In member function ‘void reSIDfp::SID::setChipModel(reSIDfp::ChipModel)’:
/home/name/src/vice-emu-code/vice/src/lib/libresidfp/src/SID.cpp:256:43: error: exception handling disabled, use ‘-fexceptions’ to enable
256 | throw SIDError("Unknown chip type");
| ^
-fno-exceptions is also added in the "$with_resid" block, so it's actually added twice.
what is your build system? (And configure options) (maybe an issue to report upstream)
Ubuntu 24.04.4 LTS,
./configure --enable-cmakedid that even work before? please try regular build system :)
I don't know if
--enable-cmakeworked before, I worked around this particular failure withCXXFLAGS="" ./cmake-bootstrap.shand the compilation succeeded.The error doesn't happen in the regular build system because libresidfp is built using its own Makefile. With cmake,
configure.acruns:with
CXXFLAGScontaining-fno-exceptions, so the flag is actually propagated to the generated build scripts for libresidfp.btw, both cmake and regular build system fail
./autogen.shwith:due to Ubuntu 24 having an older version of
autoconf-archivewhere theAX_CXX_COMPILE_STDCXXmacro doesn't support C++23. Can be worked around by downloading a newer version of the macro definition:Should be fixed when Ubuntu 24 is upgraded to Ubuntu 26 shortly.
ok, the cmake generator stuff must be updated then