On 2025-09-20 21:00, Bruno Haible wrote:
Hi,
The issues that you reported are all caused by your use of the compiler option '-Werror'. Remove that option, simply.
/Users/spoel/tools/include/cln/string.h:28:9: error: class 'cl_string' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Werror,-Wmismatched-tags] Quote: "this is valid". Quote: "may result in linker errors under the Microsoft C++ ABI" Why would you care about the Microsoft C++ ABI, since you are on macOS?
In file included from /Users/spoel/tools/include/cln/cln.h:110: /Users/spoel/tools/include/cln/GV_complex.h:49:15: error: cast from 'void (*)(std::ostream &, const cl_print_flags &, const cl_N &)' (aka 'void (*)(basic_ostream<char> &, const cln::cl_print_flags &, const cln::cl_N &)') to 'void (*)(std::ostream &, const cl_print_flags &, const cl_number &)' (aka 'void (*)(basic_ostream<char> &, const cln::cl_print_flags &, const cln::cl_number &)') converts to incompatible function type This is OK, because cl_N and cl_number have the same de-facto representation. Not a problem.
It would be even easier if the code was hosted on github Please, no. We don't want to get inundated with AI-generated bug reports, nor lose the ability to communicate with you outside of a closed-source platform.
Bruno
Fair enough. Sure, I can turn off certain warnings before including cln.h to make compiling work again. However, modern compilers are better at spotting potential errors in the code, so I upped the C++ standard to 17 in configure.ac. CLN compiles fine with the gnu++17 standard and make check passes. However, there are quite some other warnings as well that would be good to look into, like potential array overflows and uninitialized variables. Cheers, -- David van der Spoel, Ph.D., Professor of Computational Molecular Biophysics Uppsala University. http://virtualchemistry.org