Hi, Running the libtool tests on Ubuntu 22.04, I saw this test output: Constructors. 142: C++ static constructors ok 143: C++ exception handling skipped (exceptions.at:361) It sounds odd that a C++ test gets skipped when a perfectly fine C++ compiler is present. So I investigated... The log file of the respective test is: -------------------------------------------------------------------------------- # -*- compilation -*- 143. exceptions.at:24: testing C++ exception handling ... ./exceptions.at:33: case $LIBLTDL in #( */_inst/lib/*) test -f "$LIBLTDL" || (exit 77) ;; esac stdout: ./exceptions.at:361: $CXX $CPPFLAGS $CXXFLAGS -DUSING_COMMON_DLL -DUSING_MODULE_DLL -DUSING_LIB_DLL -c main.cpp || exit 77 stderr: In file included from main.cpp:7: lib.h:30:26: error: ISO C++17 does not allow dynamic exception specifications 30 | int LIB_IMPEXP libfoo () throw (libexc); | ^~~~~ In file included from main.cpp:8: module.h:17:40: error: ISO C++17 does not allow dynamic exception specifications 17 | extern "C" int MODULE_IMPEXP modfoo () throw (modexc); | ^~~~~ main.cpp:22:16: error: ISO C++17 does not allow dynamic exception specifications 22 | int foo (void) throw (exc) | ^~~~~ stdout: 143. exceptions.at:24: 143. C++ exception handling (exceptions.at:24): skipped (exceptions.at:361) -------------------------------------------------------------------------------- The problem is apparently that the test uses old syntax that was deprecated in C++11 and removed in C++17 [1]. The new syntax is described in [2]. The attached patch fixes it. [1] https://en.cppreference.com/w/cpp/language/except_spec [2] https://en.cppreference.com/w/cpp/language/noexcept_spec