** 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 : [email protected]
Unsubscribe : https://launchpad.net/~touch-packages
More help : https://help.launchpad.net/ListHelp