pyswmm / Stormwater-Management-Model

PySWMM Stormwater Management Model repository
Other
99 stars 77 forks source link

remove boost shared library link from header only test suite #406

Closed karosc closed 2 months ago

karosc commented 2 months ago

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.