Bug 2155304 - Unable to launch gdb after system update to Fedora 37
Summary: Unable to launch gdb after system update to Fedora 37
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: gdb
Version: rawhide
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Keith Seitz
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2022-12-20 17:27 UTC by AmeyaVS
Modified: 2022-12-21 03:32 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-12-21 03:32:59 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description AmeyaVS 2022-12-20 17:27:50 UTC
Description of problem:
gdb Package versioned dependency on libicu*.69 version on Fedora 37.
But no such libraries available on Fedora 37.

Only libicu*.71 versioned library available

Version-Release number of selected component (if applicable):
gdb-12.1-6.fc37.x86_64

How reproducible:
Everytime, unable to launch gdb

Steps to Reproduce:
1. sudo dnf install gdb
2. gdb


Actual results:
gdb: error while loading shared libraries: libicudata.so.69: cannot open shared object file: No such file or directory

Expected results:
Expected to get gdb console.


Additional info:
Also, posted query on ask fedora:
https://ask.fedoraproject.org/t/unable-to-launch-gdb-in-fedora-37-after-upgrade-from-fedora-36/29957

Comment 1 Keith Seitz 2022-12-20 18:29:23 UTC
GDB does not directly depend on this, I think...

$ (for i in gdb gdb-headless; do rpm -qR $i; done) | grep icu
$

Looking through the list of gdb's dependencies, I think this is
coming from boost-regex:

[this is on f36]
$ rpm -qR boost-regex | grep icu
libicudata.so.69()(64bit)
libicui18n.so.69()(64bit)
libicuuc.so.69()(64bit)

Elsewhere in the filesystem,
$ grep -i icu boost.spec
BuildRequires: libicu-devel
Requires: libicu-devel%{?_isa}
./bootstrap.sh --with-toolset=%{toolchain} --with-icu
# library in particular) end up being built second time during
- Rebuilt for ICU 71.1
- Rebuild for ICU 69
- Rebuild for ICU 69
- Rebuild for ICU 67
- Rebuild for ICU 65
- Rebuild for ICU 63
- Rebuild for ICU 62
- Rebuild for ICU 61.1
- Rebuild for ICU 60.1
- rebuild for ICU 57.1
- rebuild for ICU 56.1
- rebuild for ICU 53.1
- Rebuild for ICU soname bump.
- Rebuild for icu soname bump
- Rebuild for libicu soname bump
- rebuild for icu 4.6
- rebuild for icu
- bump release and rebuild as the package was linked with an old libicu
- Rebuild for libicu bump.
- Rebuild for icu 3.8 bump.
- REGEX_FLAGS, add, to compile regex with ICU support.

Two things:
1) The required version for ICU is not hard-coded into the spec file.
2) "Rebuild for ICU N"

#2 suggests that this package needs to be rebuilt. However, according to
koji, a new build does exist on f37 which requires the 0.71 version of the
library:

https://koji.fedoraproject.org/koji/rpminfo?rpmID=31535156

Out of curiosity, what's rpm -q boost-regex say?

Comment 2 Keith Seitz 2022-12-20 18:51:43 UTC
I just installed a brand-new Fedora 37 VM using the network installer
image. That does not suffer from any of these problems. Perhaps there
is some sort of dependency problem?

Can you manually (force) reinstall libicu/libicu-devel?

Comment 3 Keith Seitz 2022-12-20 20:35:41 UTC
I've installed f36 into a VM, installed gdb, and then upgraded to f37
(following https://docs.fedoraproject.org/en-US/quick-docs/dnf-system-upgrade/ ),
and I could not reproduce this.

I will wait for the NEEDINFO to be answered, but I will otherwise close/worksforme
this. I suspect this is just some distro-sync hiccup that you unfortunately landed in.

Comment 4 AmeyaVS 2022-12-21 03:32:59 UTC
Based on your comments, and after debugging for a while I figured it out.
It seems there was a custom build of boost1.78 version built for Fedora 36.
When the system upgraded the gdb was picking the custom built boost-regex not the one from the system path.
Which resulted in this error.
Since, then I have removed custom built boost libraries, and it seems to be working now.


Note You need to log in before you can comment on or make changes to this bug.