I have started experimenting with an alternative solution which is much simpler than what I originally proposed. The solution is to ensure libprotobuf exposes only the symbols it has to (i.e. google protobuf related), to avoid binding to libstdc++, and thus working around the problem.
I have pushed package protobuf-2.6.1-1alf2 with the experimental fix at: https://launchpad.net/~afrantzis/+archive/ubuntu/staging/+packages -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to mir in Ubuntu. https://bugs.launchpad.net/bugs/1391976 Title: Loading libmircommon.so twice leads to a segfault in libprotobuf.so Status in Mir: Confirmed Status in mir package in Ubuntu: Confirmed Bug description: Can be reproduced with: load_twice libmircommon.so.1 (or .2) For recent versions of mir use: load_twice libmirclient.so.X (currently .8) load_twice.c: #include <stdio.h> #include <dlfcn.h> int main(int argc, char** argv) { void *dl; int i; for (i = 0; i < 2; i++) { dl = dlopen (argv[1], RTLD_LAZY); printf ("%d open dl: %p\n", i, dl); if (dl) dlclose (dl); } } To manage notifications about this bug go to: https://bugs.launchpad.net/mir/+bug/1391976/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp