Hi,

Am Wed, Mar 30, 2022 at 09:45:30AM +0200 schrieb Markus Blatt:
Am Tue, Mar 29, 2022 at 09:28:22PM +0200 schrieb Graham Inggs:
It seems opm-simulators FTBFS in much the same way now after
opm-common has been rebuilt.


I will take a look and try to fix it. It seems there is a reference to 
libpython3.9.so.


I think I figured out what the issue is. The cmake configuration files of all 
opm modules
have an explicit list of libraries that need to be linked with the library of 
the module and
this is always used for linking. This list is only updated if the 
module/package is rebuilt.
All modules built before the transition have a reference to /usr/lib/x86_64-linux-gnu/libpython3.9.so which was in the Cmake configuration file of opm-common
when they where built. The only way to get rid of them seems to be rebuilding 
all. Hence one
would need to change the dependencies along the following lines

dependency level 3: opm-grid, opm-material, dependency level 4: opm-models, opm-uscaling
dependency level 5: opm-simulators (currently level 3)

Note that opm-upscaling is only needed because: if a user searches for it in 
its project,
then compilation will fail in the same manner as opm-simulators is failing 
currently.

Explanation why it is the way it is:
It is the way OPM uses CMake, these scripts date back to an old Cmake version 
(without support
for targets). At that time this approach was (or seemed to be) needed for 
static libraries. Otherwise
there would have been linker errors, because we use embedded python in 
opm-common. Updating to modern
CMake targets would have prevented this issue.

Sorry for the trouble and HTH.

Cheers,

Markus

Reply via email to