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.
%{_isa} may not be used for BuildRequires, but seems that it's OK to use it for Requires, as e.g. glibc does.
I'll go with the %{_isa} fix.
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.
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