open-simulation-platform / libcosim

OSP C++ co-simulation library
https://open-simulation-platform.github.io/libcosim
Mozilla Public License 2.0
54 stars 10 forks source link

Use gcc9 and ubuntu-20.04 #723

Closed markaren closed 1 year ago

markaren commented 1 year ago

As discussed in the OSP meeting, removing gcc7.

Closes #719

Mhhh.. This triggered #717

restenb commented 1 year ago

I can look at this a bit now, since we would really like a new release. Once this is fixed I can organize a release of libcosim & dependent tools as well.

I'm not really that much into C++ build problems, so can't guarantee I'll be able to fix it... @kyllingstad, do you have any time to spare for this in the coming days?

davidhjp01 commented 1 year ago

For the error image

I see in our cmake file

target_compile_definitions(cosim PUBLIC "BOOST_ALL_NO_LIB=0" "BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE=1")

Wondering whether the intention of "BOOST_ALL_NO_LIB=0" here is to turn on or off this feature (by setting it to zero)? Because it seems boost just checks the definition of the macro not its value.

Also it seems FindBoost adds BOOST_ALL_NO_LIB to the build, see the below (duplicated definitions): image

So my suggestion is to remove "=0" part in the cmake file if our intention is to enable "BOOST_ALL_NO_LIB". At least this resolved the issue when I built libcosim locally.

Tested in a separate branch: https://github.com/open-simulation-platform/libcosim/actions/runs/3547760474

kyllingstad commented 1 year ago

Good catch, @davidhjp01. It makes no sense to set BOOST_ALL_NO_LIB=0; the macro only exists as a means to disable autolinking. But I suggest we just remove the =0 part as you suggest, because earlier FindBoost versions might not set it automatically.