Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 953977

Summary: kde-apps/marble-24.12.3[pbf]: missing dependency on dev-cpp/abseil-cpp
Product: Gentoo Linux Reporter: Kobboi <gentoo>
Component: Current packagesAssignee: Gentoo KDE team <kde>
Status: RESOLVED FIXED    
Severity: normal CC: gentoo
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Kobboi 2025-04-18 08:03:10 UTC
Compiling marble (dbus geolocation pbf webengine -aprs -debug -designer -gps -handbook -kde -phonon -shapefile -test) installs

/usr/lib64/marble/plugins/OsmPlugin.so

with dependencies:

$  lddtree /usr/lib64/marble/plugins/OsmPlugin.so
OsmPlugin.so => /usr/lib64/marble/plugins/OsmPlugin.so (interpreter => none)
    libmarblewidget-qt6.so.28 => /usr/lib64/libmarblewidget-qt6.so.28
        libastro.so.1 => /usr/lib64/libastro.so.1
        libQt6Xml.so.6 => /usr/lib64/libQt6Xml.so.6
        libQt6Core5Compat.so.6 => /usr/lib64/libQt6Core5Compat.so.6
            libicuuc.so.76 => /usr/lib64/libicuuc.so.76
                libicudata.so.76 => /usr/lib64/libicudata.so.76
                libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/14/libgcc_s.so.1
        libQt6Svg.so.6 => /usr/lib64/libQt6Svg.so.6
        libQt6WebEngineWidgets.so.6 => /usr/lib64/libQt6WebEngineWidgets.so.6
            libQt6QuickWidgets.so.6 => /usr/lib64/libQt6QuickWidgets.so.6
                libQt6Qml.so.6 => /usr/lib64/libQt6Qml.so.6
            libQt6Quick.so.6 => /usr/lib64/libQt6Quick.so.6
                libQt6QmlMeta.so.6 => /usr/lib64/libQt6QmlMeta.so.6
                    libQt6QmlWorkerScript.so.6 => /usr/lib64/libQt6QmlWorkerScript.so.6
                libQt6QmlModels.so.6 => /usr/lib64/libQt6QmlModels.so.6
                libQt6OpenGL.so.6 => /usr/lib64/libQt6OpenGL.so.6
                    libOpenGL.so.0 => /usr/lib64/libOpenGL.so.0
                        libGLdispatch.so.0 => /usr/lib64/libGLdispatch.so.0
        libQt6PrintSupport.so.6 => /usr/lib64/libQt6PrintSupport.so.6
        libQt6WebEngineCore.so.6 => /usr/lib64/libQt6WebEngineCore.so.6
            libicui18n.so.76 => /usr/lib64/libicui18n.so.76
            libsmime3.so => /usr/lib64/libsmime3.so
                libplc4.so => /usr/lib64/libplc4.so
                libplds4.so => /usr/lib64/libplds4.so
            libnss3.so => /usr/lib64/libnss3.so
            libnssutil3.so => /usr/lib64/libnssutil3.so
            libnspr4.so => /usr/lib64/libnspr4.so
            libgio-2.0.so.0 => /usr/lib64/libgio-2.0.so.0
                libgmodule-2.0.so.0 => /usr/lib64/libgmodule-2.0.so.0
                libmount.so.1 => /usr/lib64/libmount.so.1
                    libblkid.so.1 => /usr/lib64/libblkid.so.1
            libgobject-2.0.so.0 => /usr/lib64/libgobject-2.0.so.0
                libffi.so.8 => /usr/lib64/libffi.so.8
            libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0
                libpcre2-8.so.0 => /usr/lib64/libpcre2-8.so.0
            libevent-2.1.so.7 => /usr/lib64/libevent-2.1.so.7
            libjpeg.so.62 => /usr/lib64/libjpeg.so.62
            libopus.so.0 => /usr/lib64/libopus.so.0
            libX11.so.6 => /usr/lib64/libX11.so.6
            libXcomposite.so.1 => /usr/lib64/libXcomposite.so.1
            libXdamage.so.1 => /usr/lib64/libXdamage.so.1
            libXext.so.6 => /usr/lib64/libXext.so.6
            libXfixes.so.3 => /usr/lib64/libXfixes.so.3
            libXrandr.so.2 => /usr/lib64/libXrandr.so.2
                libXrender.so.1 => /usr/lib64/libXrender.so.1
            libXtst.so.6 => /usr/lib64/libXtst.so.6
            libpipewire-0.3.so.0 => /usr/lib64/libpipewire-0.3.so.0
            libgbm.so.1 => /usr/lib64/libgbm.so.1
            libdrm.so.2 => /usr/lib64/libdrm.so.2
            libdbus-1.so.3 => /usr/lib64/libdbus-1.so.3
                libsystemd.so.0 => /usr/lib64/libsystemd.so.0
                    libcap.so.2 => /usr/lib64/libcap.so.2
            libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1
            libfreetype.so.6 => /usr/lib64/libfreetype.so.6
                libbz2.so.1 => /usr/lib64/libbz2.so.1
                libbrotlidec.so.1 => /usr/lib64/libbrotlidec.so.1
                    libbrotlicommon.so.1 => /usr/lib64/libbrotlicommon.so.1
            libexpat.so.1 => /usr/lib64/libexpat.so.1
            libpng16.so.16 => /usr/lib64/libpng16.so.16
            libwebpmux.so.3 => /usr/lib64/libwebpmux.so.3
            libwebpdemux.so.2 => /usr/lib64/libwebpdemux.so.2
            libwebp.so.7 => /usr/lib64/libwebp.so.7
                libsharpyuv.so.0 => /usr/lib64/libsharpyuv.so.0
            libharfbuzz-subset.so.0 => /usr/lib64/libharfbuzz-subset.so.0
            libharfbuzz.so.0 => /usr/lib64/libharfbuzz.so.0
                libgraphite2.so.3 => /usr/lib64/libgraphite2.so.3
            libxkbcommon.so.0 => /usr/lib64/libxkbcommon.so.0
            libxcb.so.1 => /usr/lib64/libxcb.so.1
                libXau.so.6 => /usr/lib64/libXau.so.6
                libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6
            libasound.so.2 => /usr/lib64/libasound.so.2
            libpulse.so.0 => /usr/lib64/libpulse.so.0
                libpulsecommon-17.0.so => /usr/lib64/pulseaudio/libpulsecommon-17.0.so
                    libsndfile.so.1 => /usr/lib64/libsndfile.so.1
                        libFLAC.so.14 => /usr/lib64/libFLAC.so.14
                        libvorbis.so.0 => /usr/lib64/libvorbis.so.0
                        libvorbisenc.so.2 => /usr/lib64/libvorbisenc.so.2
                        libogg.so.0 => /usr/lib64/libogg.so.0
                        libmpg123.so.0 => /usr/lib64/libmpg123.so.0
                        libmp3lame.so.0 => /usr/lib64/libmp3lame.so.0
                    libasyncns.so.0 => /usr/lib64/libasyncns.so.0
            libsnappy.so.1 => /usr/lib64/libsnappy.so.1
            libminizip.so.1 => /usr/lib64/libminizip.so.1
            libxml2.so.2 => /usr/lib64/libxml2.so.2
                liblzma.so.5 => /usr/lib64/liblzma.so.5
            libxslt.so.1 => /usr/lib64/libxslt.so.1
            liblcms2.so.2 => /usr/lib64/liblcms2.so.2
            libopenjp2.so.7 => /usr/lib64/libopenjp2.so.7
            libtiff.so.6 => /usr/lib64/libtiff.so.6
                libzstd.so.1 => /usr/lib64/libzstd.so.1
            libxkbfile.so.1 => /usr/lib64/libxkbfile.so.1
        libQt6WebChannel.so.6 => /usr/lib64/libQt6WebChannel.so.6
        libQt6Widgets.so.6 => /usr/lib64/libQt6Widgets.so.6
        libQt6Network.so.6 => /usr/lib64/libQt6Network.so.6
            libproxy.so.1 => /usr/lib64/libproxy.so.1
                libpxbackend-1.0.so => /usr/lib64/libproxy/libpxbackend-1.0.so
            libcrypto.so.3 => /usr/lib64/libcrypto.so.3
        libQt6DBus.so.6 => /usr/lib64/libQt6DBus.so.6
        libm.so.6 => /usr/lib64/libm.so.6
    libprotobuf.so.29.4.0 => /usr/lib64/libprotobuf.so.29.4.0
        libabsl_die_if_null.so.2501.0.0 => /usr/lib64/libabsl_die_if_null.so.2501.0.0
        libabsl_statusor.so.2501.0.0 => /usr/lib64/libabsl_statusor.so.2501.0.0
        libutf8_validity.so => /usr/lib64/libutf8_validity.so
        libabsl_log_internal_conditions.so.2501.0.0 => /usr/lib64/libabsl_log_internal_conditions.so.2501.0.0
            libabsl_base.so.2501.0.0 => /usr/lib64/libabsl_base.so.2501.0.0
        libabsl_raw_hash_set.so.2501.0.0 => /usr/lib64/libabsl_raw_hash_set.so.2501.0.0
        libabsl_hash.so.2501.0.0 => /usr/lib64/libabsl_hash.so.2501.0.0
            libabsl_city.so.2501.0.0 => /usr/lib64/libabsl_city.so.2501.0.0
            libabsl_low_level_hash.so.2501.0.0 => /usr/lib64/libabsl_low_level_hash.so.2501.0.0
        libabsl_status.so.2501.0.0 => /usr/lib64/libabsl_status.so.2501.0.0
            libabsl_leak_check.so.2501.0.0 => /usr/lib64/libabsl_leak_check.so.2501.0.0
            libabsl_strerror.so.2501.0.0 => /usr/lib64/libabsl_strerror.so.2501.0.0
        libabsl_cord.so.2501.0.0 => /usr/lib64/libabsl_cord.so.2501.0.0
            libabsl_crc_cord_state.so.2501.0.0 => /usr/lib64/libabsl_crc_cord_state.so.2501.0.0
                libabsl_crc32c.so.2501.0.0 => /usr/lib64/libabsl_crc32c.so.2501.0.0
                    libabsl_crc_internal.so.2501.0.0 => /usr/lib64/libabsl_crc_internal.so.2501.0.0
            libabsl_cordz_functions.so.2501.0.0 => /usr/lib64/libabsl_cordz_functions.so.2501.0.0
                libabsl_exponential_biased.so.2501.0.0 => /usr/lib64/libabsl_exponential_biased.so.2501.0.0
        libabsl_cordz_info.so.2501.0.0 => /usr/lib64/libabsl_cordz_info.so.2501.0.0
            libabsl_cordz_handle.so.2501.0.0 => /usr/lib64/libabsl_cordz_handle.so.2501.0.0
            libabsl_stacktrace.so.2501.0.0 => /usr/lib64/libabsl_stacktrace.so.2501.0.0
                libabsl_debugging_internal.so.2501.0.0 => /usr/lib64/libabsl_debugging_internal.so.2501.0.0
        libabsl_cord_internal.so.2501.0.0 => /usr/lib64/libabsl_cord_internal.so.2501.0.0
        libabsl_synchronization.so.2501.0.0 => /usr/lib64/libabsl_synchronization.so.2501.0.0
            libabsl_graphcycles_internal.so.2501.0.0 => /usr/lib64/libabsl_graphcycles_internal.so.2501.0.0
            libabsl_kernel_timeout_internal.so.2501.0.0 => /usr/lib64/libabsl_kernel_timeout_internal.so.2501.0.0
            libabsl_symbolize.so.2501.0.0 => /usr/lib64/libabsl_symbolize.so.2501.0.0
                libabsl_demangle_internal.so.2501.0.0 => /usr/lib64/libabsl_demangle_internal.so.2501.0.0
                    libabsl_demangle_rust.so.2501.0.0 => /usr/lib64/libabsl_demangle_rust.so.2501.0.0
                        libabsl_decode_rust_punycode.so.2501.0.0 => /usr/lib64/libabsl_decode_rust_punycode.so.2501.0.0
                            libabsl_utf8_for_code_point.so.2501.0.0 => /usr/lib64/libabsl_utf8_for_code_point.so.2501.0.0
            libabsl_tracing_internal.so.2501.0.0 => /usr/lib64/libabsl_tracing_internal.so.2501.0.0
            libabsl_malloc_internal.so.2501.0.0 => /usr/lib64/libabsl_malloc_internal.so.2501.0.0
        libabsl_time.so.2501.0.0 => /usr/lib64/libabsl_time.so.2501.0.0
        libabsl_time_zone.so.2501.0.0 => /usr/lib64/libabsl_time_zone.so.2501.0.0
        libabsl_str_format_internal.so.2501.0.0 => /usr/lib64/libabsl_str_format_internal.so.2501.0.0
            libabsl_int128.so.2501.0.0 => /usr/lib64/libabsl_int128.so.2501.0.0
        libabsl_strings.so.2501.0.0 => /usr/lib64/libabsl_strings.so.2501.0.0
            libabsl_strings_internal.so.2501.0.0 => /usr/lib64/libabsl_strings_internal.so.2501.0.0
        libabsl_spinlock_wait.so.2501.0.0 => /usr/lib64/libabsl_spinlock_wait.so.2501.0.0
        libabsl_throw_delegate.so.2501.0.0 => /usr/lib64/libabsl_throw_delegate.so.2501.0.0
        libabsl_raw_logging_internal.so.2501.0.0 => /usr/lib64/libabsl_raw_logging_internal.so.2501.0.0
    libz.so.1 => /usr/lib64/libz.so.1
    libabsl_log_internal_check_op.so.2501.0.0 => /usr/lib64/libabsl_log_internal_check_op.so.2501.0.0
    libQt6Gui.so.6 => /usr/lib64/libQt6Gui.so.6
        libEGL.so.1 => /usr/lib64/libEGL.so.1
        libGLX.so.0 => /usr/lib64/libGLX.so.0
    libQt6Core.so.6 => /usr/lib64/libQt6Core.so.6
        libdouble-conversion.so.3 => /usr/lib64/libdouble-conversion.so.3
        libb2.so.1 => /usr/lib64/libb2.so.1
            libgomp.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/14/libgomp.so.1
        libpcre2-16.so.0 => /usr/lib64/libpcre2-16.so.0
    libabsl_log_internal_message.so.2501.0.0 => /usr/lib64/libabsl_log_internal_message.so.2501.0.0
        libabsl_examine_stack.so.2501.0.0 => /usr/lib64/libabsl_examine_stack.so.2501.0.0
        libabsl_log_internal_format.so.2501.0.0 => /usr/lib64/libabsl_log_internal_format.so.2501.0.0
        libabsl_log_internal_structured_proto.so.2501.0.0 => /usr/lib64/libabsl_log_internal_structured_proto.so.2501.0.0
        libabsl_log_internal_proto.so.2501.0.0 => /usr/lib64/libabsl_log_internal_proto.so.2501.0.0
        libabsl_log_internal_log_sink_set.so.2501.0.0 => /usr/lib64/libabsl_log_internal_log_sink_set.so.2501.0.0
            libabsl_log_sink.so.2501.0.0 => /usr/lib64/libabsl_log_sink.so.2501.0.0
        libabsl_log_internal_globals.so.2501.0.0 => /usr/lib64/libabsl_log_internal_globals.so.2501.0.0
        libabsl_log_globals.so.2501.0.0 => /usr/lib64/libabsl_log_globals.so.2501.0.0
    libabsl_log_internal_nullguard.so.2501.0.0 => /usr/lib64/libabsl_log_internal_nullguard.so.2501.0.0
    libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/14/libstdc++.so.6
    libc.so.6 => /usr/lib64/libc.so.6
    ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2

so direct dependency on libabsl_log_internal_message.so and libabsl_log_internal_nullguard.so


Reproducible: Always
Comment 1 Kobboi 2025-04-18 08:04:53 UTC
This is the only file in my marble installation that suffers from this, so probably USE=geolocation is to blame (assuming Osm is short for OpenStreetMap). Did not look into this further yet.
Comment 2 Andreas Sturmlechner gentoo-dev 2025-04-21 11:32:26 UTC
dev-libs/protobuf-c does, not marble.
Comment 3 Kobboi 2025-04-23 23:04:10 UTC
I think this has been incorrectly marked as INVALID.

From the readelf output of the OpenStreetMap plugin mentioned above:

Dynamic section at offset 0x5c300 contains 38 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libmarblewidget-qt6.so.28]
 0x0000000000000001 (NEEDED)             Shared library: [libprotobuf.so.29.4.0]
 0x0000000000000001 (NEEDED)             Shared library: [libz.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libabsl_log_internal_check_op.so.2501.0.0]
 0x0000000000000001 (NEEDED)             Shared library: [libQt6Gui.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libQt6Core.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libabsl_log_internal_message.so.2501.0.0]
 0x0000000000000001 (NEEDED)             Shared library: [libabsl_log_internal_nullguard.so.2501.0.0]
 0x0000000000000001 (NEEDED)             Shared library: [libstdc++.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [ld-linux-x86-64.so.2]

True, the bulk of the abseil-cpp dependencies are indirect via protobuf-c. But not the ones I mentioned in comment #1, namely libabsl_log_internal_message.so and libabsl_log_internal_nullguard.so. This is also visible if you would view that comment in a proper editor, so you can easily view the indentation in the output of lddtree.

The day protobuf-c no longer depends on abseil-cpp, the OpenStreetMap plugin of marble still will.
Comment 4 Andreas Sturmlechner gentoo-dev 2025-04-23 23:20:06 UTC
Actually, they sneaked that dependency into src/plugins/runner/osm/CMakeLists.txt with KF6 porting, so you were right in the first place.

Upstream commit c363124030198f564215e7e6252f6c12cc26e987
Comment 5 Larry the Git Cow gentoo-dev 2025-04-25 18:16:36 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/proj/kde.git/commit/?id=5090c5664cbad7177339c6d2ba3725c392f8ab36

commit 5090c5664cbad7177339c6d2ba3725c392f8ab36
Author:     Andreas Sturmlechner <asturm@gentoo.org>
AuthorDate: 2025-04-25 18:15:00 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2025-04-25 18:15:00 +0000

    kde-apps/marble: Add missing IUSE pbf dependency
    
    Upstream commit c363124030198f564215e7e6252f6c12cc26e987
    
    Bug: https://bugs.gentoo.org/953977
    Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>

 kde-apps/marble/marble-25.04.49.9999.ebuild | 5 ++++-
 kde-apps/marble/marble-9999.ebuild          | 5 ++++-
 2 files changed, 8 insertions(+), 2 deletions(-)
Comment 6 Larry the Git Cow gentoo-dev 2025-04-25 18:32:44 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0e113605eac8e176b722f2b835a517e0d068ab3e

commit 0e113605eac8e176b722f2b835a517e0d068ab3e
Author:     Andreas Sturmlechner <asturm@gentoo.org>
AuthorDate: 2025-04-25 18:15:00 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2025-04-25 18:32:21 +0000

    kde-apps/marble: Add missing IUSE pbf dependency
    
    Upstream commit c363124030198f564215e7e6252f6c12cc26e987
    
    Closes: https://bugs.gentoo.org/953977
    Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>

 kde-apps/marble/marble-24.12.3-r1.ebuild | 95 ++++++++++++++++++++++++++++++++
 kde-apps/marble/marble-25.04.0-r1.ebuild | 95 ++++++++++++++++++++++++++++++++
 2 files changed, 190 insertions(+)