Compatibility Issue Report: cairo-fdr Library Naming Change in Cairo 1.18
Uli Schlachter
psychon at znc.in
Tue Jul 8 15:45:26 UTC 2025
Hi,
Am 08.07.25 um 04:33 schrieb zengjianqi163 at 163.co:
> Consequently, applications using dlopen("cairo-fdr.so") will fail after upgrading to Cairo 1.18 due to the missing library name.
Quick first reaction: Are there any such libraries? Why would they do
that? I thought cairo-fdr is meant to be used through LD_PRELOAD by
users to debug crashes and I think no one actually does that / uses it.
Debian codesearch finds nothing:
https://codesearch.debian.net/search?q=cairo-fdr.so&literal=1
Also, I doubt that anyone uses cairo-fdr for anything. In commit
b35a9ead974 I removed the hidden visibility specification which broke it
completely. We got reports about this for cairo-trace, but I do not
recall anyone mentioning this for cairo-fdr.
Do you actually use cairo-fdr for something? Could you tell us more
about that.
> If this change is intentional, please disregard this report. Otherwise, I propose three solutions:
I doubt that it is intention. :-)
> Attached patches demonstrate each approach. I welcome further discussion or feedback.
Solution 4: Do not install cairo-fdr and wait for someone to complain
about this change.
diff --git a/util/cairo-fdr/meson.build b/util/cairo-fdr/meson.build
index c333bf765..4bf986535 100644
--- a/util/cairo-fdr/meson.build
+++ b/util/cairo-fdr/meson.build
@@ -6,6 +6,5 @@ libcairofdr = library('cairo-fdr', cairo_fdr_sources,
include_directories: [incbase, incsrc],
dependencies: deps,
link_args: extra_link_args,
- install: true,
- install_dir: get_option('libdir') / 'cairo',
+ install: false,
)
Cons: If someone actually uses this, this breaks their workflow... but
apparently we already did something similar with Cairo 1.18.
Cheers,
Uli
--
Homophobia - The fear that another man will treat you the way you treat
women.
More information about the cairo
mailing list