** Changed in: mir/0.24
       Status: Fix Committed => Fix Released

-- 
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 Released
Status in mir package in Ubuntu:
  Fix Released

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

Reply via email to