Bug 1541639

Summary: Cannot install libgo-devel.i686
Product: [Fedora] Fedora Reporter: Sergio Durigan Junior <sergiodj>
Component: gccAssignee: Jakub Jelinek <jakub>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: aoliva, davejohansen, fweimer, jakub, jan.kratochvil, jwakely, law, mjw, mpolacek
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: gcc-8.0.1-0.13.fc28 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-02-13 09:05:58 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 Sergio Durigan Junior 2018-02-03 16:16:42 UTC
Sorry if this is the wrong component.

I'm trying to install libgo-devel.i686 (a dependency of GDB) on a Fedora Rawhide, and I'm getting the following error:

[root@localhost ~]# dnf install libgo-devel.i686                                               
Last metadata expiration check: 0:03:38 ago on Sat 03 Feb 2018 11:04:26 AM EST.                
Error:                                         
 Problem: conflicting requests                 
  - nothing provides libgo.so.13 needed by libgo-devel-8.0.1-0.8.fc28.i686                     

Apparently there's some broken dependency/requirement somewhere.

Comment 1 Jakub Jelinek 2018-02-03 19:05:37 UTC
This is caused by the new way of avoiding debug info splitting from selected go binaries and libgo.so.13, sadly go requires debuginfo to be available directly in the objects.  Previously, before debuginfo has been revamped in F27, we used to unstrip it and deal with it in find-debuginfo wrapper script.
The new way just marked the ELF binaries and shared library that shouldn't be stripped to file as no-exec and mark it executable in %files section.
As this bug shows, this doesn't really work properly, if the no-exec hack can work at all, we need to change the permissions when the rpm auto requires/provides is done.  Don't know right now if this happens before the debuginfo related scripts or after them, if before them, then we need them executable first and mark them non-executable in some script invoked before the split to file and stripping is done, if after it, then we need some script to mark them executable again when the stripping scripts are done.

Comment 2 Jakub Jelinek 2018-02-13 09:05:58 UTC
Should be fixed in gcc-8.0.1-0.13.fc28.