Mir

Code review comment for lp:~raof/mir/buildsystems-are-the-worst

Revision history for this message
Chris Halse Rogers (raof) wrote :

Yeah, the basic demos will be fine - they've got the RPATH linked in, and don't link against anything that links against the Mir libs.

And since Mesa uses dlopen() that's also OK. So my concern is moot (at least until we have a demo that links against something that links against Mir ☺).

We really do need something like this, though. When we build using cross-compile-chroot.sh all our tests are linked against the libraries in the chroot. For example, the ldd output of libmirserver.so:

(utopic-armhf)root@RedTail:/home/chris/Canonical/Mir/mir/private-library-loading/build-android-arm# ldd lib/libmirserver.so
 /usr/lib/libeatmydata/libeatmydata.so (0xf5fcf000)
 libmirclient.so.8 => /home/chris/Canonical/Mir/mir/private-library-loading/partial-armhf-chroot/usr/lib/arm-linux-gnueabihf/libmirclient.so.8 (0xf5f8e000)
 libmirplatform.so.2 => not found
 libmircommon.so.2 => not found
 libglog.so.0 => /home/chris/Canonical/Mir/mir/private-library-loading/partial-armhf-chroot/usr/lib/arm-linux-gnueabihf/libglog.so.0 (0xf5f55000)
 libgflags.so.2 => /home/chris/Canonical/Mir/mir/private-library-loading/partial-armhf-chroot/usr/lib/arm-linux-gnueabihf/libgflags.so.2 (0xf5f2e000)
 libEGL.so.1 => not found
 libGLESv2.so.2 => not found
 libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0xf5f1a000)
 libprotobuf.so.8 => /home/chris/Canonical/Mir/mir/private-library-loading/partial-armhf-chroot/usr/lib/arm-linux-gnueabihf/libprotobuf.so.8 (0xf5e68000)
 libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0xf5e45000)
 libboost_system.so.1.55.0 => /home/chris/Canonical/Mir/mir/private-library-loading/partial-armhf-chroot/usr/lib/arm-linux-gnueabihf/libboost_system.so.1.55.0 (0xf5e32000)
 libboost_program_options.so.1.55.0 => /home/chris/Canonical/Mir/mir/private-library-loading/partial-armhf-chroot/usr/lib/arm-linux-gnueabihf/libboost_program_options.so.1.55.0 (0xf5dd5000)
 libstdc++.so.6 => /home/chris/Canonical/Mir/mir/private-library-loading/partial-armhf-chroot/usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0xf5d1b000)
 libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0xf5ca7000)
 libgcc_s.so.1 => /home/chris/Canonical/Mir/mir/private-library-loading/partial-armhf-chroot/lib/arm-linux-gnueabihf/libgcc_s.so.1 (0xf5c7d000)
 libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xf5b8e000)
 /lib/ld-linux-armhf.so.3 (0xf6fd7000)
 libmircommon.so.1 => /home/chris/Canonical/Mir/mir/private-library-loading/partial-armhf-chroot/usr/lib/arm-linux-gnueabihf/libmircommon.so.1 (0xf5b23000)
 libz.so.1 => /home/chris/Canonical/Mir/mir/private-library-loading/partial-armhf-chroot/lib/arm-linux-gnueabihf/libz.so.1 (0xf5b08000)
 libxkbcommon.so.0 => /home/chris/Canonical/Mir/mir/private-library-loading/partial-armhf-chroot/usr/lib/arm-linux-gnueabihf/libxkbcommon.so.0 (0xf5acc000)
 libudev.so.1 => /home/chris/Canonical/Mir/mir/private-library-loading/partial-armhf-chroot/lib/arm-linux-gnueabihf/libudev.so.1 (0xf5ab0000)
 libselinux.so.1 => /home/chris/Canonical/Mir/mir/private-library-loading/partial-armhf-chroot/lib/arm-linux-gnueabihf/libselinux.so.1 (0xf5a91000)
 librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0xf5a7b000)
 libpcre.so.3 => /home/chris/Canonical/Mir/mir/private-library-loading/partial-armhf-chroot/lib/arm-linux-gnueabihf/libpcre.so.3 (0xf5a20000)

The system libraries aren't a problem, but it's linking against the old Mir libraries as well, rather than those we want to test.

« Back to merge proposal