Bug 1801144

Summary: Add --without-guile to GDB_MINIMAL_CONFIGURE_FLAGS in specfile
Product: [Fedora] Fedora Reporter: Zdenek Dohnal <zdohnal>
Component: gdbAssignee: Tomas Korbar <tkorbar>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: anto.trande, dan.cermak, jan.kratochvil, jsynacek, keiths, kevinb, negativo17, olysonek, pmuldoon, sergiodj, than, tkorbar, vondruch
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: gdb-9.1-4.fc33 gdb-9.1-5.fc32 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-03-05 19:07:39 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Zdenek Dohnal 2020-02-10 11:10:13 UTC
I encountered an exception/warning messages during build of Vim[1]:

extracting debug info from /builddir/build/BUILDROOT/vim-8.2.236-1.fc32.x86_64/usr/bin/gvim
extracting debug info from /builddir/build/BUILDROOT/vim-8.2.236-1.fc32.x86_64/usr/bin/xxd
Exception caught while booting Guile.
/usr/bin/gdb.minimal: warning: Could not complete Guile gdb module initialization from:
/usr/share/gdb/guile/gdb/boot.scm.
Limited Guile support is available.
Suggest passing --data-directory=/path/to/gdb/data-directory.
Error in function "open-file":
No such file or directory: "/usr/share/gdb/guile/gdb/boot.scm"Exception caught while booting Guile.
/usr/bin/gdb.minimal: warning: Could not complete Guile gdb module initialization from:
/usr/share/gdb/guile/gdb/boot.scm.
Limited Guile support is available.
Suggest passing --data-directory=/path/to/gdb/data-directory.
Error in function "open-file":
No such file or directory: "/usr/share/gdb/guile/gdb/boot.scm"Exception caught while booting Guile.
/usr/bin/gdb.minimal: warning: Could not complete Guile gdb module initialization from:
/usr/share/gdb/guile/gdb/boot.scm.
Limited Guile support is available.
Suggest passing --data-directory=/path/to/gdb/data-directory.
Exception caught while booting Guile.
/usr/bin/gdb.minimal: warning: Could not complete Guile gdb module initialization from:
/usr/share/gdb/guile/gdb/boot.scm.
Limited Guile support is available.
Suggest passing --data-directory=/path/to/gdb/data-directory.
Error in function "open-file":
No such file or directory: "/usr/share/gdb/guile/gdb/boot.scm"Error in function "open-file":
No such file or directory: "/usr/share/gdb/guile/gdb/boot.scm"original debug info size: 33248kB, size after compression: 26888kB
/usr/lib/rpm/sepdebugcrcfix: Updated 4 CRC32s, 0 CRC32s did match.

The build did not fail, but I would like to know whether I should fix something in my package or it is a bug in guile/gdb etc.

Those messages appear in other builds too f.e. sane-backends[2] or minicom[3]. It seems to happen during extracting debuginfo data from the binaries.

[1] https://kojipkgs.fedoraproject.org//packages/vim/8.2.236/1.fc32/data/logs/x86_64/build.log
[2] https://kojipkgs.fedoraproject.org//packages/sane-backends/1.0.29/1.fc32/data/logs/x86_64/build.log
[3] https://kojipkgs.fedoraproject.org//packages/minicom/2.7.1/13.fc32/data/logs/x86_64/build.log

Comment 2 Ben Cotton 2020-02-11 16:30:30 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 32 development cycle.
Changing version to 32.

Comment 3 Tomas Korbar 2020-02-13 06:54:19 UTC
Hi guys,
Thank you Zdenek for bringing this to my attention. I will return to this when i will have time to investigate.

Comment 4 Than Ngo 2020-02-25 16:25:59 UTC
it works for me in f32 but breaks in rawhide. It looks like __brp_strip_lto is used for stripping in rawhide. 

set %global __brp_strip_lto %{nil} to the specfile resolves this issue

Comment 5 Tomas Korbar 2020-03-02 07:39:33 UTC
Hi gdb maintainers,
recently you re-enabled support for guile in gdb which is great but i think that by an accident you enabled it even
for gdb-minimal. Because you added BuildRequires: guile-devel, libguile is present during build and so gdb enables
its support by default [0] "Done by default if libguile is present and found at configure time." and it must be explicitly disabled.
Attempts to boot guile with /usr/share/gdb/guile/gdb/boot.scm which is present only in gdb-headless package then results
in those errors we are now seeing in build logs. I do not think that we need guile support in gdb-minimal.
Solution is quite simple: just add "--without-guile" to GDB_MINIMAL_CONFIGURE_FLAGS.

########################## HOW TO REPRODUCE ##############################################
On fedora rawhide without gdb-headless package
# dnf install gdb-minimal
# gdb-add-index ./executable_with_debuginfo
####### EXPECTED RESULT
No error messages
####### ACTUAL RESULT
Exception caught while booting Guile.
Error in function "open-file":
No such file or directory: "/usr/share/gdb/guile/gdb/boot.scm"
/usr/bin/gdb.minimal: warning: Could not complete Guile gdb module initialization from:
/usr/share/gdb/guile/gdb/boot.scm.
Limited Guile support is available.
Suggest passing --data-directory=/path/to/gdb/data-directory.
##########################################################################################

[0] - https://sourceware.org/gdb/current/onlinedocs/gdb/Configure-Options.html

Comment 6 Sergio Durigan Junior 2020-03-02 16:31:16 UTC
Thanks for the report.  I've pushed a new GDB that fixes this, both on Rawhide and F32.

Comment 7 Than Ngo 2020-03-05 16:30:10 UTC
I still encountered an exception/warning messages during build kitty:

extracting debug info from /builddir/build/BUILDROOT/kitty-0.16.0-2.fc32.x86_64/usr/lib64/kitty/kittens/diff/diff_speedup.so
extracting debug info from /builddir/build/BUILDROOT/kitty-0.16.0-2.fc32.x86_64/usr/lib64/kitty/kitty/fast_data_types.so
extracting debug info from /builddir/build/BUILDROOT/kitty-0.16.0-2.fc32.x86_64/usr/lib64/kitty/kitty/glfw-wayland.so
extracting debug info from /builddir/build/BUILDROOT/kitty-0.16.0-2.fc32.x86_64/usr/lib64/kitty/kitty/glfw-x11.so
Exception caught while booting Guile.
/usr/bin/gdb.minimal: warning: Could not complete Guile gdb module initialization from:
/usr/share/gdb/guile/gdb/boot.scm.
Limited Guile support is available.
Suggest passing --data-directory=/path/to/gdb/data-directory.
Exception caught while booting Guile.
/usr/bin/gdb.minimal: warning: Could not complete Guile gdb module initialization from:
/usr/share/gdb/guile/gdb/boot.scm.
Limited Guile support is available.
Suggest passing --data-directory=/path/to/gdb/data-directory.
Exception caught while booting Guile.
/usr/bin/gdb.minimal: warning: Could not complete Guile gdb module initialization from:
/usr/share/gdb/guile/gdb/boot.scm.
Limited Guile support is available.
Suggest passing --data-directory=/path/to/gdb/data-directory.
Exception caught while booting Guile.
/usr/bin/gdb.minimal: warning: Could not complete Guile gdb module initialization from:
/usr/share/gdb/guile/gdb/boot.scm.
Limited Guile support is available.
Suggest passing --data-directory=/path/to/gdb/data-directory.
Error in function "open-file":
No such file or directory: "/usr/share/gdb/guile/gdb/boot.scm"gdb-add-index: No index was created for /builddir/build/BUILDROOT/kitty-0.16.0-2.fc32.x86_64/usr/bin/kitty
gdb-add-index: [Was there no debuginfo? Was there already an index?]
Exception caught while booting Guile.
/usr/bin/gdb.minimal: warning: Could not complete Guile gdb module initialization from:
/usr/share/gdb/guile/gdb/boot.scm.
Limited Guile support is available.
Suggest passing --data-directory=/path/to/gdb/data-directory.
Error in function "open-file":
No such file or directory: "/usr/share/gdb/guile/gdb/boot.scm"Error in function "open-file":
No such file or directory: "/usr/share/gdb/guile/gdb/boot.scm"Exception caught while booting Guile.
/usr/bin/gdb.minimal: warning: Could not complete Guile gdb module initialization from:
/usr/share/gdb/guile/gdb/boot.scm.
Limited Guile support is available.
Suggest passing --data-directory=/path/to/gdb/data-directory.
Exception caught while booting Guile.
/usr/bin/gdb.minimal: warning: Could not complete Guile gdb module initialization from:
/usr/share/gdb/guile/gdb/boot.scm.
Limited Guile support is available.
Suggest passing --data-directory=/path/to/gdb/data-directory.
Error in function "open-file":
No such file or directory: "/usr/share/gdb/guile/gdb/boot.scm"Error in function "open-file":
No such file or directory: "/usr/share/gdb/guile/gdb/boot.scm"Error in function "open-file":
No such file or directory: "/usr/share/gdb/guile/gdb/boot.scm"Error in function "open-file":


https://kojipkgs.fedoraproject.org//work/tasks/6549/42216549/build.log

Comment 8 Than Ngo 2020-03-05 19:07:39 UTC
it's a bug in shebang, please ignore this report!

Comment 9 Simone Caronni 2020-05-04 09:50:07 UTC
(In reply to Sergio Durigan Junior from comment #6)
> Thanks for the report.  I've pushed a new GDB that fixes this, both on
> Rawhide and F32.

The Fedora 32 build went into the trashcan: https://koji.fedoraproject.org/koji/buildinfo?buildID=1472956

Any plan to backport this to other branches?

Comment 10 Kevin Buettner 2020-05-05 20:45:20 UTC
(In reply to Simone Caronni from comment #9)

> The Fedora 32 build went into the trashcan:
> https://koji.fedoraproject.org/koji/buildinfo?buildID=1472956

I tried to get it out of the trashcan so that it could be released, but apparently this is not possible.

There is another build problem (in bfd) that needs to be fixed for F32; once that goes in, changes made for gdb-9.1-4.fc32 will go in too.

> Any plan to backport this to other branches?

No, unless there's a really compelling reason to do so.

Comment 11 Fedora Update System 2020-05-06 20:24:41 UTC
FEDORA-2020-0bc8abfe7d has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2020-0bc8abfe7d

Comment 12 Fedora Update System 2020-05-07 05:21:11 UTC
FEDORA-2020-0bc8abfe7d has been pushed to the Fedora 32 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-0bc8abfe7d`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-0bc8abfe7d

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 13 Fedora Update System 2020-05-09 03:12:40 UTC
FEDORA-2020-0bc8abfe7d has been pushed to the Fedora 32 stable repository.
If problem still persists, please make note of it in this bug report.