Control: owner 1034908 !

On Sun, 30 Apr 2023 22:29:27 -0500 Steven Robbins <st...@sumost.ca> wrote:
> The reported build error is:
> 
> dpkg-shlibdeps: error: cannot find library libgtest.so.1.12.1 needed by 
> debian/libabsl20230125/usr/lib/x86_64-linux-gnu/
> libabsl_per_thread_sem_test_common.so.20230125.0.0 
> (ELF format: 'elf64-x86-64' abi: '0201003e00000000'; RPATH: '')
> 
> How did libabsl20230125 get such a dependency?  Debian has never shipped 
> libgtest.so -- was this built against a locally-built libgtest
> somehow?

Yes. Historically, Abseil has dynamically linked its unit tests against
a one-off libgtest.so built from /usr/src/googletest. Depending on the
local libgtest.so was never a problem because Abseil never shipped any
public libraries that depended on GoogleTest. As of 20230125, however,
Abseil ships a library that (a) is intended for public consumption and
(b) depends on GoogleTest, which brings us to this issue.

> My recommendation is to preferably build libgtest in your own build process 
> -- 
> this ensures gtest is built with the same compiler options as your test code; 
> or else link against the provided static libgtest.a.

On Mon, 1 May 2023 18:39:06 +0530 Praveen Arimbrathodiyil 
<prav...@onenetbeyond.org> wrote:
> I will leave it to abseil maintainer to decide which approach to take.

I’m about to do an upload to experimental that encourages the first
option. abseil 20230125.3-1 and later will avoid shipping dynamic
libraries for any Abseil library that depends on googletest; library
consumers will have to manually link against libgtest. This only affects
consumers who want to use Abseil libraries that involve GoogleTest
(e.g., libabsl_scoped_mock_log).

Thank you both for bringing this to my attention, and thank you,
Praveen, for all the work you’ve done keeping Abseil going in Debian!

Reply via email to