Currently, the python bindings doesn't check the version of preCICE. It uses whatever version pkg-config finds on the system.
This leads to compile or link issues which could have been handled more gracefully via an error message.
There are two practical ways of tying the bindings version ot the preCICE version:
Exact match: bindings 3.1.X matches preCICE 3.1.Y. (what we currently do in the rust bindings)
Compatible match: bindings 3.1.X matches preCICE >=3.1 and <4.
The compatible match allows for forwards-compatibility, which is guaranteed due to the semanatic versioning we use (and follow) in preCICE. Meaning we can test newer releases with existing bindings.
Currently, the python bindings doesn't check the version of preCICE. It uses whatever version
pkg-config
finds on the system.This leads to compile or link issues which could have been handled more gracefully via an error message.
There are two practical ways of tying the bindings version ot the preCICE version:
3.1.X
matches preCICE3.1.Y
. (what we currently do in the rust bindings)3.1.X
matches preCICE>=3.1
and<4
.The compatible match allows for forwards-compatibility, which is guaranteed due to the semanatic versioning we use (and follow) in preCICE. Meaning we can test newer releases with existing bindings.