Follow-up after investigating the source (cairo-dock 3.5.1-2.1), tracing
the root cause to a specific, well-understood category of Linux linking
issue.

Summary of findings:

- cairo_dock_show_items_gui is defined in src/cairo-dock-gui-backend.c,
  correctly compiled (confirmed via `nm` on the object file - it's a
  proper global text symbol), and listed in the "cairo-dock" executable
  target's sources in src/CMakeLists.txt - NOT in the ${core_lib_SRCS}
  list that builds libgldi.so.
- The Help plugin (Help/src/applet-notifications.c, a separately loaded
  .so) calls this function directly at line 59, expecting to resolve it
  dynamically from the running process.
- Confirmed via a clean rebuild from the exact source package
  (3.5.1-2.1, snapshot.debian.org) in an isolated container that the
  symbol is genuinely absent from BOTH the compiled libgldi.so AND the
  "cairo-dock" executable's dynamic symbol table (checked with
  `nm -D`), even though it's present and correctly linked at the object
  level. This rules out a Debian-buildd-specific miscompilation - it
  reproduces identically from clean upstream source.
- Root cause: without -rdynamic (CMake: ENABLE_EXPORTS ON, or
  target_link_options(... -rdynamic)) on the cairo-dock executable
  target, dlopen()'d plugins cannot resolve even public symbols defined
  in the main executable. This is a standard Linux dynamic-linking
  behavior, not a bug in glibc/ld or in this specific function.

[VERIFIED FIX LINE - only if we test it:]
Verified that adding -rdynamic to the cairo-dock executable's link
flags resolves this: the symbol becomes visible via `nm -D` after
rebuild, and the Help plugin loads without the undefined symbol error.

[UNVERIFIED FIX LINE - if we don't test it first:]
Proposed fix (not yet tested by me, but a standard remedy for this
exact linking pattern): add -rdynamic to the cairo-dock executable's
link flags, either via ENABLE_EXPORTS ON as a CMake target property,
or explicitly via target_link_options(cairo-dock PRIVATE -rdynamic)
in src/CMakeLists.txt.

Happy to test a patch, submit one myself, or provide anything else
useful - this looks like a small, well-contained fix once someone
with upload rights can confirm the approach.

On Mon, Jul 6, 2026 at 4:29 AM Debian Bug Tracking System <
[email protected]> wrote:

> Thank you for filing a new Bug report with Debian.
>
> You can follow progress on this Bug here: 1141555:
> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1141555.
>
> This is an automatically generated reply to let you know your message
> has been received.
>
> Your message is being forwarded to the package maintainers and other
> interested parties for their attention; they will reply in due course.
>
> Your message has been sent to the package maintainer(s):
>  [email protected]
>
> If you wish to submit further information on this problem, please
> send it to [email protected].
>
> Please do not send mail to [email protected] unless you wish
> to report a problem with the Bug-tracking system.
>
> --
> 1141555: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1141555
> Debian Bug Tracking System
> Contact [email protected] with problems
>

Reply via email to