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
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.
But on the system the libicu* libraries have the following versions: 71
Here is the listing for /usr/lib64
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
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.