I have just upgraded my system from Fedora 36 to Fedora 37.
But currently it seems the GDB installation is broken on Fedora 37.
Unable to launch gdb, getting following error when trying to execute gdb from terminal.
gdb: error while loading shared libraries: libicudata.so.69: cannot open shared object file: No such file or directory
Can anyone help me fix this on my system?
Welcome to ask
Have you updated your system since doing the upgrade?
sudo dnf upgrade --refresh
I just checked and F37 uses
libicu-71.1-2.fc37.x86_64 so the libicudata.so.69 does not exist. The updated file similar is
/usr/lib64/libicudata.so.71.1 You may be able to solve the issue with doing an update, which may update gdb to use the newer library file. If that does not work then possibly creating a link such as
sudo ln -s /usr/lib64/libicudata.so.71.1 /usr/lib64/libicudata.so.69 would work.
Thank you for your response.
I did update my system after upgrade.
I will probably try creating this symlink, for now.
But will probably want the package to be fixed.
That seems like you may need to file a bug against gdb since it requires a library file that does not exist with an updated F37 system…
Perhaps you some old version installed.
libicudata is directly required by
which are directly or indirectly used by gdb.
Also check the version of
It seems the gdb still requires the old libicu* libs:
Here the output of the following command:
$ ldd `which gdb` | grep icu
libicudata.so.69 => /lib64/libicudata.so.69 (0x00007f1431200000)
libicui18n.so.69 => /lib64/libicui18n.so.69 (0x00007f1430e00000)
libicuuc.so.69 => /lib64/libicuuc.so.69 (0x00007f1430c03000)
But on the system the libicu* libraries have the following versions: 71
Here is the listing for
I have created symlinked version .69 to satisfy the dependency for gdb as per the first comment.
$ ls -al /lib64/libicu* | grep 69
lrwxrwxrwx. 1 root root 27 Dec 18 10:19 /lib64/libicudata.so.69 -> /usr/lib64/libicudata.so.71
lrwxrwxrwx. 1 root root 27 Dec 18 10:19 /lib64/libicui18n.so.69 -> /usr/lib64/libicui18n.so.71
lrwxrwxrwx. 1 root root 25 Dec 18 10:20 /lib64/libicuuc.so.69 -> /usr/lib64/libicuuc.so.71
To me that suggests that you should file a bug against gdb on F37 since its dependency does not match the available libicu libraries.
It seems the system had a custom built boot regex library which was built for Fedora 36.
When the system upgraded it broke the dependencies on that installation.
After the system update the gdb executable was not picking up the libraries from the system paths but from the custom boost installation.
I have removed the custom boost installation and I can confirm gdb is now working.
Any time a package is custom built the user runs a risk of conflict with standard packages and has to be prepared for problems that may result.