I started running Fedora 40 on my personal laptop and found that SWMM wouldn't pass unit tests on that OS. Fedora is known for running newer software than debian/ubuntu and I wanted to understand why the tests would not pass. I was getting all sorts of malloc errors suggesting there was a memory leak in boost, but I doubted that could be true.
Turns out our Boost.Test configuration is not quite correct and breaks in newer versions of our linux build stack (gcc/cmake/boost). Our Solver, LID, and output test suites are configured as header-only suites, but cmake is configured to link boost as if our tests are configured as the shared variant.
After consulting the cmake docs and boost docs, I thought it best to remove the boost link....which solved my issues on fedora 40.
Regression tests still are failing on mac and windows, but that's a separate issue entirely.
I started running Fedora 40 on my personal laptop and found that SWMM wouldn't pass unit tests on that OS. Fedora is known for running newer software than debian/ubuntu and I wanted to understand why the tests would not pass. I was getting all sorts of malloc errors suggesting there was a memory leak in boost, but I doubted that could be true.
Turns out our Boost.Test configuration is not quite correct and breaks in newer versions of our linux build stack (gcc/cmake/boost). Our Solver, LID, and output test suites are configured as header-only suites, but cmake is configured to link boost as if our tests are configured as the shared variant.
After consulting the cmake docs and boost docs, I thought it best to remove the boost link....which solved my issues on fedora 40.
Regression tests still are failing on mac and windows, but that's a separate issue entirely.