Mir

Code review comment for lp:~alan-griffiths/mir/fix-1358698

Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

What I think is happening is that when we dlopen("libmirplatformgraphics.so", ...) we *don't* load the libmirplatformgraphics.so platform from the build, but the one previously installed on the system.

Because we're using libmircommon.so.2 and the release libmirplatformgraphics.so has linked against libmircommon.so.1 we end up with two versions of mircommon registering with libprotobuf. Hence the error.

The current version of this MP should masks the problem by reverting the bump to libmircommon.so.2 - so we only get a single version loaded and CI works. It also removes some unnecessary linking against mircommon which (once that change is released) will reduce the likelihood of similar problems in the future.

The reason the problem started appearing was a combination of two factors:

1. prior to the latest release version it was an unversioned mirprotobuf that registered with libprotobuf, not a versioned mircommon
2. we (duflu thinks unnecessarily) bumped the mircommon version

As the latter landed before the former there was no CI error at that stage.

*This does not address the root cause*

The root cause is loading that we are dlopen()ing the incorrect libmirplatformgraphics.so - and I'm going to log that as a bug if this MP has the expected effect.

« Back to merge proposal