Bug 1697655

Summary: Improve devtoolset-8-lib*-devel dependencies with multilib
Product: Red Hat Developer Toolset Reporter: Marek Polacek <mpolacek>
Component: gccAssignee: Marek Polacek <mpolacek>
Status: CLOSED ERRATA QA Contact: Alexandra Petlanová Hájková <ahajkova>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: DTS 8.1 RHEL 7CC: ahajkova, jakub, law, mcermak, mnewsome, ohudlick, tborcin
Target Milestone: alpha   
Target Release: 8.1   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: devtoolset-9-gcc-9.1.1-1.el7 Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-12-10 07:49:25 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 Marek Polacek 2019-04-08 22:39:34 UTC
Currently, libasan-devel is satisfied by any libasan arch:

Requires: libasan5 >= 8.1.1

meaning that if libasan5.x86_64 is installed, installing devtoolset-8-libasan-devel.i686 won't trigger installation of libasan5.i686.

Seems we might want to use

Requires: libasan5%{_isa} >= 8.1.1

instead (and for other lib*-devel presumably too).  With that:
 
# rpm -qp --requires devtoolset-8-libasan-devel-8.3.1-4.el7.i686.rpm
libasan5(x86-32) >= 8.1.1
# rpm -qp --requires devtoolset-8-libasan-devel-8.3.1-4.el7.x86_64.rpm
libasan5(x86-64) >= 8.1.1

then:

# rpm -q libasan5
libasan5-8.3.1-4.el7.x86_64
# rpm -i devtoolset-8-libasan-devel-8.3.1-4.el7.i686.rpm
error: Failed dependencies:
       libasan5(x86-32) >= 8.1.1 is needed by devtoolset-8-libasan-devel-8.3.1-4.el7.i686
 
so devtoolset-8-libasan-devel.i686 is no longer satisfied by the installed libasan5.x86_64.  Then
 
# rpm -i libasan5-8.3.1-4.el7.i686.rpm
# rpm -i devtoolset-8-libasan-devel-8.3.1-4.el7.i686.rpm

works.

Comment 2 Marek Polacek 2019-04-08 22:49:01 UTC
%{_isa} may not be used for BuildRequires, but seems that it's OK to use it for Requires, as e.g. glibc does.

Comment 3 Marek Polacek 2019-07-09 18:46:17 UTC
I'll go with the %{_isa} fix.

Comment 4 Marek Polacek 2019-07-11 22:45:51 UTC
With devtoolset-9-gcc-9.1.1-1.el7:

# rpm -q libasan5
libasan5-9.1.1-1.el7.x86_64
# rpm -i devtoolset-9-libasan-devel-9.1.1-1.el7.i686.rpm
error: Failed dependencies:
	libasan5(x86-32) >= 9.1.1 is needed by devtoolset-9-libasan-devel-9.1.1-1.el7.i686
which is OK, and then
# rpm -i libasan5-9.1.1-1.el7.i686.rpm
# rpm -i devtoolset-9-libasan-devel-9.1.1-1.el7.i686.rpm
# echo $?
0

So, hopefully fixed.

Comment 8 errata-xmlrpc 2019-12-10 07:49:25 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2019:4134