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
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.
dev-libs/protobuf-c does, not marble.
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.
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
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(-)
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(+)