Bug#996956: libbenchmark-dev: libbenchmark_main.a has no actual object code

Timo Röhling roehling at debian.org
Thu Oct 21 11:37:55 BST 2021


Package: libbenchmark-dev
Version: 1.6.0-1
Severity: serious
Tag: patch

Dear maintainer,

the latest version of libbenchmark-dev has a regression that breaks the
libbenchmark_main.a static library for users who do not use
link-time-optimzation. This is very similar to bug #968461:
https://bugs.debian.org/968461

Relevant excerpt from a build log:

  /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libbenchmark_main.a(benchmark_main.cc.o): plugin needed to handle lto object
  /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libbenchmark_main.a(benchmark_main.cc.o): plugin needed to handle lto object
  /usr/bin/ld: /usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crt1.o: in function `_start':
  (.text+0x20): undefined reference to `main'

The static library has no actual object code in it, only the
intermediate code used for link-time optimization. You need to
replace the -flto flag with -ffat-lto-objects to ensure that both
the intermediate code AND the actual object code will be emitted:

diff --git a/CMakeLists.txt b/CMakeLists.txt
index e6b2b81..8effea8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -215,7 +215,7 @@ else()
  
    # Link time optimisation
    if (BENCHMARK_ENABLE_LTO)
-    add_cxx_compiler_flag(-flto)
+    add_cxx_compiler_flag(-ffat-lto-objects)
      add_cxx_compiler_flag(-Wno-lto-type-mismatch)
      if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
        find_program(GCC_AR gcc-ar)


Cheers
Timo

-- 
⢀⣴⠾⠻⢶⣦⠀   ╭────────────────────────────────────────────────────╮
⣾⠁⢠⠒⠀⣿⡁   │ Timo Röhling                                       │
⢿⡄⠘⠷⠚⠋⠀   │ 9B03 EBB9 8300 DF97 C2B1  23BF CC8C 6BDD 1403 F4CA │
⠈⠳⣄⠀⠀⠀⠀   ╰────────────────────────────────────────────────────╯
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/debian-science-maintainers/attachments/20211021/1f3c438d/attachment.sig>


More information about the debian-science-maintainers mailing list