a no-change rebuild of mir in focal has failed, for reasons that appear unrelated to nettle itself.
[...]
[ 61%] Linking CXX shared module ../../lib/client-modules/dummy.so
cd /<<PKGBUILDDIR>>/build-amd64/tests/mir_test_framework && /usr/bin/cmake -E cmake_link_script CMakeFiles/mirclientplatformstub.dir/link.txt --verbose=1
/usr/bin/c++ -fPIC -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -g -std=c++14 -Wall -fno-strict-aliasing -pedantic -Wnon-virtual-dtor -Wextra -fPIC -Werror -Wno-psabi -ffat-lto-objects -Wno-error=null-dereference -Wno-error=overloaded-virtual -Wno-sign-compare -fno-lto -Dregister= -Wl,--version-script,/<<PKGBUILDDIR>>/tests/mir_test_framework/symbols-client.map -Wl,-Bsymbolic-fu
nctions -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -fuse-ld=gold -Wl,--no-undefined -shared -o ../../lib/client-modules/dummy.so CMakeFiles/mirclientplatformstub.dir/stub_client_platform_module.cpp.o -Wl,-rpath,/<<PKGBUILDDIR>>/build-amd64/lib: libmir-test-framework-static.a -lumockdev -lgobject-2.0 -lglib-2.0 -lumockdev -lgobject-2.0 -lglib-2.0 ../../lib/libmirserver.so.50 ../../lib/libmirplatform.so.16 ../../lib/libmirwayland.so.0 -lwayland-server ../../src/platforms/common/server/libserver_platform_common.a ../../src/platforms/common/server/kms-utils/libkms_utils.a -ldrm -ldrm /usr/lib/x86_64-linux-gnu/libEGL.so -lGLESv2 -lGLESv2 -lepoxy -lepoxy -ludev -ludev -lgio-2.0 -lgio-2.0 -luuid -luuid -lxcb -lxcb -lxcb-composite -lxcb-composite -lxcb-xfixes -lxcb-xfixes -lxcb-render -lxcb-render -lXcursor -lXcursor -llttng-ust -ldl -llttng-ust -latomic ../../lib/libmirclient.so.9 ../../lib/libmircommon.so.7 ../../src/capnproto/libmircapnproto.a /usr/lib/x86_64-linux-gnu/libcapnp-0.7.0.so /usr/lib/x86_64-linux-gnu/libkj-0.7.0.so -lpthread -pthread ../../lib/libmircore.so.1 -ldl ../../lib/libmirprotobuf.so.3 /usr/lib/x86_64-linux-gnu/libprotobuf-lite.so ../../lib/libmircookie.so.2 -lnettle /usr/lib/x86_64-linux-gnu/libxkbcommon.so /usr/lib/x86_64-linux-gnu/libboost_date_time.so /usr/lib/x86_64-linux-gnu/libboost_system.so /usr/lib/x86_64-linux-gnu/libboost_program_options.so /usr/lib/x86_64-linux-gnu/libboost_filesystem.so /usr/lib/x86_64-linux-gnu/libboost_iostreams.so /usr/lib/x86_64-linux-gnu/libboost_regex.so /usr/lib/x86_64-linux-gnu/libgtest.a /usr/lib/x86_64-linux-gnu/libgtest_main.a /usr/lib/x86_64-linux-gnu/libgtest.a /usr/lib/x86_64-linux-gnu/libgtest_main.a ../../libGMock.a -lpthread -lgobject-2.0 -lglib-2.0 -lumockdev -lgobject-2.0 -lglib-2.0
/usr/src/gmock/src/gmock.cc:135: error: undefined reference to 'testing::Message::Message()'
/usr/src/gmock/src/gmock.cc:135: error: undefined reference to 'testing::internal::ParseInt32(testing::Message const&, char const*, int*)'
/usr/src/gmock/src/gmock-internal-utils.cc:181: error: undefined reference to 'testing::UnitTest::GetInstance()'
/usr/src/gmock/src/gmock-internal-utils.cc:181: error: undefined reference to 'testing::internal::GetCurrentOsStackTraceExceptTop[abi:cxx11](testing::UnitTest*, int)'
/usr/include/gtest/internal/gtest-port.h:1651: error: undefined reference to 'testing::internal::GTestLog::GTestLog(testing::internal::GTestLogSeverity, char const*, int)'
/usr/include/gtest/internal/gtest-port.h:1651: error: undefined reference to 'testing::internal::GTestLog::~GTestLog()'
[...]
(https://launchpad.net/ubuntu/+source/mir/1.4.0-0ubuntu4/+build/18005823)
This is holding up a mass of intertwined start-of-cycle library transitions in focal-proposed right now. Please fix this asap.
This is due to the new googletest 1.9 git snapshot in focal-proposed, which is (at least part way) through a big set of deprecations.
If this needs to be pushed through urgently, we could evict googletest from focal-proposed, do the nettle transition, and then let googletest back in.
I'll also keep working on making Mir build with the git snapshot gtest. Additionally we should probably update gtest to 1.10, which is an actual release ;)