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-configfinds 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.Xmatches preCICE3.1.Y. (what we currently do in the rust bindings)3.1.Xmatches preCICE>=3.1and<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.