** Also affects: mir (Ubuntu) Importance: Undecided Status: New -- 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/1610215
Title: Mir build and test failures with gcc-6 and LTO Status in Mir: Fix Committed Status in Mir 0.24 series: Fix Committed Status in mir package in Ubuntu: New Bug description: The exact failure mode is different depending on whether ld.bfd or ld.gold is used. In both cases, however, the core issue seems to be that implicit destructor symbols cannot be found. ==== ld.bfd === Build error for mir_acceptance_tests: ../libmir-test-assist.a(fake_display.cpp.o): In function `mir::test::doubles::NullDisplaySyncGroup::NullDisplaySyncGroup()': /root/mir/include/test/mir/test/doubles/null_display_sync_group.h:68: undefined reference to `vtable for mir::test::doubles::NullDisplaySyncGroup' ../libmir-test-assist.a(fake_display.cpp.o): In function `mir::test::doubles::NullDisplayBuffer::NullDisplayBuffer()': /root/mir/include/test/mir/test/doubles/null_display_buffer.h:31: undefined reference to `vtable for mir::test::doubles::NullDisplayBuffer' ../libmir-test-assist.a(fake_display.cpp.o): In function `mir::test::doubles::NullDisplaySyncGroup::NullDisplaySyncGroup()': /root/mir/include/test/mir/test/doubles/null_display_sync_group.h:68: undefined reference to `vtable for mir::test::doubles::NullDisplaySyncGroup' ../libmir-test-assist.a(fake_display.cpp.o): In function `mir::test::doubles::NullDisplayBuffer::NullDisplayBuffer()': /root/mir/include/test/mir/test/doubles/null_display_buffer.h:31: undefined reference to `vtable for mir::test::doubles::NullDisplayBuffer' collect2: error: ld returned 1 exit status tests/acceptance-tests/CMakeFiles/mir_acceptance_tests.dir/build.make:1450: recipe for target 'bin/mir_acceptance_tests.bin' failed make[2]: *** [bin/mir_acceptance_tests.bin] Error 1 CMakeFiles/Makefile2:9407: recipe for target 'tests/acceptance-tests/CMakeFiles/mir_acceptance_tests.dir/all' failed make[1]: *** [tests/acceptance-tests/CMakeFiles/mir_acceptance_tests.dir/all] Error 2 Build error for mir_unit_tests: ../mir_test_framework/libmir-test-framework-static.a(stub_session.cpp.o): In function `_GLOBAL__sub_I_stub_session.cpp': /root/mir/tests/mir_test_framework/stub_session.cpp:161: undefined reference to `mir::test::doubles::StubSession::~StubSession()' ../mir_test_framework/libmir-test-framework-static.a(stub_session.cpp.o):(.data.rel.ro._ZTVN3mir4test7doubles11StubSessionE[_ZTVN3mir4test7doubles11StubSessionE]+0x10): undefined reference to `mir::test::doubles::StubSession::~StubSession()' ../mir_test_framework/libmir-test-framework-static.a(stub_session.cpp.o):(.data.rel.ro._ZTVN3mir4test7doubles11StubSessionE[_ZTVN3mir4test7doubles11StubSessionE]+0x18): undefined reference to `mir::test::doubles::StubSession::~StubSession()' ../mir_test_framework/libmir-test-framework-static.a(stub_session.cpp.o):(.debug_info+0xbb84): undefined reference to `mir::test::doubles::StubSession::~StubSession()' ../mir_test_framework/libmir-test-framework-static.a(testing_server_options.cpp.o): In function `mir::ServerConfiguration::ServerConfiguration()': /root/mir/src/include/server/mir/server_configuration.h:89: undefined reference to `vtable for mir::ServerConfiguration' /root/mir/src/include/server/mir/server_configuration.h:89: undefined reference to `vtable for mir::ServerConfiguration' ../mir_test_framework/libmir-test-framework-static.a(stubbed_server_configuration.cpp.o): In function `mir::ServerConfiguration::ServerConfiguration()': /root/mir/src/include/server/mir/server_configuration.h:89: undefined reference to `vtable for mir::ServerConfiguration' collect2: error: ld returned 1 exit status tests/unit-tests/CMakeFiles/mir_unit_tests.dir/build.make:4588: recipe for target 'bin/mir_unit_tests.bin' failed make[2]: *** [bin/mir_unit_tests.bin] Error 1 CMakeFiles/Makefile2:10841: recipe for target 'tests/unit-tests/CMakeFiles/mir_unit_tests.dir/all' failed make[1]: *** [tests/unit-tests/CMakeFiles/mir_unit_tests.dir/all] Error 2 Makefile:138: recipe for target 'all' failed make: *** [all] Error 2 === ld.gold === No build errors, but we get segfaults when running the mir_unit_tests during the destruction of StubSession objects. To manage notifications about this bug go to: https://bugs.launchpad.net/mir/+bug/1610215/+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