When execute gthumb, it could not start and report: ** (gthumb:22355): CRITICAL **: 22:01:54.928: Could not load the mandatory extension 'cairo_io': Could not open the module ?cairo_io?: extensions/jpeg_utils/libjpeg_utils.so: cannot open shared object file: No such file or directory fish: Job 1, 'gthumb' terminated by signal SIGABRT (Abort) Reproducible: Always Steps to Reproduce: 1. emerge =media-gfx/gthumb-3.10.4 2. execute /usr/bin/gthumb within a terminal Actual Results: gthumb did not start and crashed with the following message: ** (gthumb:22355): CRITICAL **: 22:01:54.928: Could not load the mandatory extension 'cairo_io': Could not open the module ?cairo_io?: extensions/jpeg_utils/libjpeg_utils.so: cannot open shared object file: No such file or directory fish: Job 1, 'gthumb' terminated by signal SIGABRT (Abort) Expected Results: gthumb correctly started. 1. It's same if I download the gthumb source code and compile myself. 2. noticed it complains about libjpeg_utils.so, and the build log shows: Library jpeg found: YES Checking if "libjpeg version is 8 or greater" with dependencies -lm, zlib, -ljpeg: compiles: NO Checking for function "jpeg_simple_progression" with dependencies -lm, zlib, -ljpeg: YES 3. My gentoo box just re-installed few days ago. I have use gThumb with my old gentoo system and works fine, suspect it related with some jpeg library issue. 4. I have two jpeg related library on my system: - media-libs/openjpeg-2.4.0:2/7::gentoo - media-libs/libjpeg-turbo-2.1.2:0/0.2::gentoo
Created attachment 756049 [details] build.log
Created attachment 756055 [details] emerge --info media-gfx/gthumb
From build.log: * QA Notice: Unresolved soname dependencies: * * /usr/lib64/gthumb/extensions/libcairo_io.so: extensions/jpeg_utils/libjpeg_utils.so [...] I see this message also in my environment after updating dev-util/meson to dev-util/meson-0.60.1 (from 0.59.4). So a workaround seems to be to mask >=dev-util/meson-0.60.
Confirmed that after mask >=dev-util/meson-0.60 and emerge media-gfx/gthumb-3.10.4::gentoo again fix this problem. Thanks very much.
It looks like DT_RUNPATH is being removed from the .so files in the extensions directory.
Nope, not DT_RUNPATH. It looks like DT_SONAME is not being set for shared_module targets. https://github.com/mesonbuild/meson/issues/9492
Upgrading to meson-0.60.2 improves the situation greatly. However, I still get one failure. ** (gthumb:229801): WARNING **: 21:00:35.932: Could not load the 'photo_importer' extension: Could not open the module “photo_importer”: extensions/importer/libimporter.so: cannot open shared object file: No such file or directory
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d4eb421dfbf11992695da541c4dae5535235bd88 commit d4eb421dfbf11992695da541c4dae5535235bd88 Author: Mike Gilbert <floppym@gentoo.org> AuthorDate: 2021-11-26 02:28:37 +0000 Commit: Mike Gilbert <floppym@gentoo.org> CommitDate: 2021-11-26 02:28:37 +0000 dev-util/meson: fix legacy soname behavior for shared_module targets Closes: https://bugs.gentoo.org/827143 Signed-off-by: Mike Gilbert <floppym@gentoo.org> .../files/meson-0.60.2-check-module-linking.patch | 28 ++++++++++++++++++++++ ...{meson-0.60.2.ebuild => meson-0.60.2-r1.ebuild} | 4 ++++ 2 files changed, 32 insertions(+)
Should be resolved in meson-0.60.2-r1.