Darktable 4.5.0.r14.ge12a2a2a09-1 installed from (chaotic-aur)
Was working perfectly till day before yesterday there were few updated and today it is not starting giving me error
darktable: error while loading shared libraries: libicui18n.so.72: cannot open shared object file: No such file or directory
This file is present in /usr/lib32 and it was installed by icu package (International components for Unicode library) which was recently upgraded. I reinstalled it and darktable but still this error comes.
When I give
sudo ldconfig -v |grep libicui18n.so.72
ldconfig: Path `/usr/lib64' given more than once
(from <builtin>:0 and <builtin>:0)
ldconfig: Can't stat /usr/libx32: No such file or directory
libicui18n.so.72 -> libicui18n.so.72.1
This means that you system has update to a new version of libicui18n.so. You need to build yourself against this new lib or wait/download another build compatible with your new system.
I am absolutely new to Arch and like Ubuntu (which I was more familiar) there is no LD_LIBRARY_PATH to look in the search path. In Arch as per my search it looks in /etc/ld.so.conf/ and there, there are 3 files
So these are the additional path where /usr/lib32 is already mentioned. Why it is not looking there and why this entry of /usr/libx32?
But if you notice that the grep line finds the libicui18n.so.72 → libicui18n.so.72.1 file but DT is not able to why?
Something else that surprises me is looking for libraries in directories for 32-bit versions.
Have you tried using ldd? (> ldd /usr/bin/darktable) That should show you what libraries dt is expecting and where it found them.
Most use exclusively 64-bit on modern systems…
For comparison, if I use `ldd /opt/darktable/bin/darktable |grep -i libicu’, it gives me
(Also, if possible, minor versions tend to have a symlink from the corresponding base version, i.e.
if the installed version is libicui18n.so.suse65.1, there would be a symlink to that library named libicui18n.so.suse65. That avoids executables from not working while there is a compatible library available)
Here is a Garuda Linux running with the last update yesterday evening.
Differently to your system the darktable version here is the precompiled 4.4.0 binary from the extra/darktable package and I can not only start but also use it.
The “ldconfig -v” command shows the same error regarding “/usr/libx32” as on your system. That seems to be an older issue with ldconfig because I found complaints about that through the years, dating back to 2014 and for several different Linux distributions. Based on that I think that is not the culprit that darktable shows that “file not found” error for libicui18n.so.72.
I tried the following:
[ecky@Waldo ~]$ ldd /usr/bin/darktable | grep libicui18n
libicui18n.so.73 => /usr/lib/libicui18n.so.73 (0x00007fadc6600000)
[ecky@Waldo ~]$ pacman -F /usr/lib/libicui18n.so.73
usr/lib/libicui18n.so.73 is owned by core/icu 73.2-1
[ecky@Waldo ~]$ file /usr/lib/libicui18n.so.73
/usr/lib/libicui18n.so.73: symbolic link to libicui18n.so.73.2
[ecky@Waldo ~]$ file /usr/lib/libicui18n.so.73.2
/usr/lib/libicui18n.so.73.2: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=901ccd084e9b85eac6b4c0393f2697812c98e8c5, stripped
Perhaps the output of these commands on your system can hint to something…
Here’s my build script, which I have posted several times. You’ll need to come darktable first, and install the build dependencies listed in the README file.
Thanks! @Claes build my first Darktable with your endeavour.txt
/opt/darktable/bin/darktable --version
this is darktable 4.5.0+38~g57f0f67816
copyright (c) 2009-2023 johannes hanika
https://github.com/darktable-org/darktable/issues/new/choose
compile options:
bit depth is 64 bit
normal build
SSE2 optimized codepath enabled
OpenMP support enabled
OpenCL support enabled
Lua support enabled, API version 9.1.0
Colord support enabled
gPhoto2 support enabled
GraphicsMagick support enabled
ImageMagick support disabled
libavif support enabled
libheif support enabled
libjxl support enabled
OpenJPEG support enabled
OpenEXR support enabled
WebP support enabled
/opt/darktable/bin/darktable-cmstest
darktable-cmstest version 4.5.0+38~g57f0f67816
this executable was built with colord support enabled
darktable itself was built with colord support enabled
primary CRTC is at CRTC 0
DP-4 the X atom and colord returned different profiles
X atom: _ICC_PROFILE (0 bytes)
description: (none)
colord: "/home/raj/.local/share/icc/edid-44da77e788024f87c9ac2a6e19671453.icc"
description: Dell Inc. 24"
Better check your system setup
- some monitors reported different profiles
You may experience inconsistent color rendition between color managed applications
What is this?
/opt/darktable/bin/darktable-cltest
0.0818 [dt_get_sysresource_level] switched to 1 as `default'
0.0818 total mem: 15854MB
0.0818 mipmap cache: 1981MB
0.0818 available mem: 7927MB
0.0818 singlebuff: 123MB
0.0818 OpenCL tune mem: OFF
0.0818 OpenCL pinned: OFF
[opencl_init] opencl related configuration options:
[opencl_init] opencl: ON
[opencl_init] opencl_scheduling_profile: 'very fast GPU'
[opencl_init] opencl_library: 'default path'
[opencl_init] opencl_device_priority: '!0,*/!0,*/!0,*/!0,*/!0,*'
[opencl_init] opencl_mandatory_timeout: 200
[opencl_init] opencl library 'libOpenCL' found on your system and loaded
[opencl_init] found 1 platform
[opencl_init] found 1 device
[dt_opencl_device_init]
DEVICE: 0: 'Ellesmere'
PLATFORM NAME & VENDOR: AMD Accelerated Parallel Processing, Advanced Micro Devices, Inc.
CANONICAL NAME: amdacceleratedparallelprocessingellesmere
DRIVER VERSION: 3224.4
DEVICE VERSION: OpenCL 1.2 AMD-APP (3224.4)
DEVICE_TYPE: GPU
GLOBAL MEM SIZE: 7957 MB
MAX MEM ALLOC: 6763 MB
MAX IMAGE SIZE: 16384 x 16384
MAX WORK GROUP SIZE: 256
MAX WORK ITEM DIMENSIONS: 3
MAX WORK ITEM SIZES: [ 1024 1024 1024 ]
ASYNC PIXELPIPE: NO
PINNED MEMORY TRANSFER: NO
MEMORY TUNING: NO
FORCED HEADROOM: 400
AVOID ATOMICS: NO
MICRO NAP: 250
ROUNDUP WIDTH: 16
ROUNDUP HEIGHT: 16
CHECK EVENT HANDLES: 128
PERFORMANCE: 2.594
TILING ADVANTAGE: 0.000
DEFAULT DEVICE: NO
KERNEL BUILD DIRECTORY: /opt/darktable/share/darktable/kernels
KERNEL DIRECTORY: /home/raj/.cache/darktable/cached_v1_kernels_for_AMDAcceleratedParallelProcessingEllesmere_32244
CL COMPILER OPTION: -cl-fast-relaxed-math
KERNEL LOADING TIME: 4.8694 sec
[opencl_init] OpenCL successfully initialized. Internal numbers and names of available devices:
[opencl_init] 0 'AMD Accelerated Parallel Processing Ellesmere'
[opencl_init] FINALLY: opencl is AVAILABLE and ENABLED.
[dt_opencl_update_priorities] these are your device priorities:
[dt_opencl_update_priorities] image preview export thumbs preview2
[dt_opencl_update_priorities] 0 0 0 0 0
[dt_opencl_update_priorities] show if opencl use is mandatory for a given pixelpipe:
[dt_opencl_update_priorities] image preview export thumbs preview2
[dt_opencl_update_priorities] 1 1 1 1 1
[opencl_synchronization_timeout] synchronization timeout set to 0
[dt_opencl_update_priorities] these are your device priorities:
[dt_opencl_update_priorities] image preview export thumbs preview2
[dt_opencl_update_priorities] 0 0 0 0 0
[dt_opencl_update_priorities] show if opencl use is mandatory for a given pixelpipe:
[dt_opencl_update_priorities] image preview export thumbs preview2
[dt_opencl_update_priorities] 1 1 1 1 1
[opencl_synchronization_timeout] synchronization timeout set to 0
Now how to check when a new version is available and how to build it?
Again Thanks “for making me go where I have not gone before”
Are you using Endeavouros?
When you have started dt, an icon will show up at the bottom of your monitor. In my case it is the 3rd icon from the right.
Right-click on that icon and select “pin to task manager”