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:
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 libeatmydata/ libeatmydata. so (0xf5fcf000) Canonical/ Mir/mir/ private- library- loading/ partial- armhf-chroot/ usr/lib/ arm-linux- gnueabihf/ libmirclient. so.8 (0xf5f8e000) .so.2 => not found Canonical/ Mir/mir/ private- library- loading/ partial- armhf-chroot/ usr/lib/ arm-linux- gnueabihf/ libglog. so.0 (0xf5f55000) Canonical/ Mir/mir/ private- library- loading/ partial- armhf-chroot/ usr/lib/ arm-linux- gnueabihf/ libgflags. so.2 (0xf5f2e000) linux-gnueabihf /libdl. so.2 (0xf5f1a000) Canonical/ Mir/mir/ private- library- loading/ partial- armhf-chroot/ usr/lib/ arm-linux- gnueabihf/ libprotobuf. so.8 (0xf5e68000) linux-gnueabihf /libpthread. so.0 (0xf5e45000) 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) 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) Canonical/ Mir/mir/ private- library- loading/ partial- armhf-chroot/ usr/lib/ arm-linux- gnueabihf/ libstdc+ +.so.6 (0xf5d1b000) linux-gnueabihf /libm.so. 6 (0xf5ca7000) Canonical/ Mir/mir/ private- library- loading/ partial- armhf-chroot/ lib/arm- linux-gnueabihf /libgcc_ s.so.1 (0xf5c7d000) linux-gnueabihf /libc.so. 6 (0xf5b8e000) linux-armhf. so.3 (0xf6fd7000) Canonical/ Mir/mir/ private- library- loading/ partial- armhf-chroot/ usr/lib/ arm-linux- gnueabihf/ libmircommon. so.1 (0xf5b23000) Canonical/ Mir/mir/ private- library- loading/ partial- armhf-chroot/ lib/arm- linux-gnueabihf /libz.so. 1 (0xf5b08000) Canonical/ Mir/mir/ private- library- loading/ partial- armhf-chroot/ usr/lib/ arm-linux- gnueabihf/ libxkbcommon. so.0 (0xf5acc000) Canonical/ Mir/mir/ private- library- loading/ partial- armhf-chroot/ lib/arm- linux-gnueabihf /libudev. so.1 (0xf5ab0000) Canonical/ Mir/mir/ private- library- loading/ partial- armhf-chroot/ lib/arm- linux-gnueabihf /libselinux. so.1 (0xf5a91000) linux-gnueabihf /librt. so.1 (0xf5a7b000) Canonical/ Mir/mir/ private- library- loading/ partial- armhf-chroot/ lib/arm- linux-gnueabihf /libpcre. so.3 (0xf5a20000)
/usr/lib/
libmirclient.so.8 => /home/chris/
libmirplatform
libmircommon.so.2 => not found
libglog.so.0 => /home/chris/
libgflags.so.2 => /home/chris/
libEGL.so.1 => not found
libGLESv2.so.2 => not found
libdl.so.2 => /lib/arm-
libprotobuf.so.8 => /home/chris/
libpthread.so.0 => /lib/arm-
libboost_
libboost_
libstdc++.so.6 => /home/chris/
libm.so.6 => /lib/arm-
libgcc_s.so.1 => /home/chris/
libc.so.6 => /lib/arm-
/lib/ld-
libmircommon.so.1 => /home/chris/
libz.so.1 => /home/chris/
libxkbcommon.so.0 => /home/chris/
libudev.so.1 => /home/chris/
libselinux.so.1 => /home/chris/
librt.so.1 => /lib/arm-
libpcre.so.3 => /home/chris/
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.