On Sat, Jul 7, 2012 at 9:12 PM, zxq9 <[log in to unmask]> wrote: > On 07/08/2012 03:27 AM, Nico Kadel-Garcia wrote: >> >> My patch is below, and will hopefully be useful to the SL 6.3 release. > > > Thanks for bringing this up, whether or not it gets looked at elsewhere. > What an odd thing, though. Is there any rationale behind leaving it the way > it was? Grub seems a rather well cross-examined package so I feel like > someone had a reason somewhere -- but I may be projecting this where it > isn't due. > > Anyway, I'm going to play with this. And again, thanks! There were multiple bug reports, all closed, some marked "not a bug". Our favorite upstream vendor did not include the "glibc-static.i686" package in their main "channels", probably as part of the separation and clean-out of non-x86_64 packages from i686 packages. This was also not a problem on their "enterprise release" version 5 which auto-installed i686 packages along with x86_64 packages by default. Whoever closed the bug reports considered "manually install the package to compile grub" to be enough of an answer. I'm a bit confused about why it didn't show up in the Scientific Linux build setups, and would like to get a better handle on how those are done. Unfortunately, my patch had a bug. Using "BuildRequires: glibc-static.i686" does not, in fact, find the .i686 version of glibc-static, it expects a package named "glibc-static.i686" of an arbitrary architecture. I've fixed it below. $ diff -u grub* --- grub-broken-glibc-static.spec 2012-02-29 11:07:21.000000000 -0500 +++ grub.spec 2012-07-07 16:07:20.776832241 -0400 @@ -11,6 +11,10 @@ BuildRequires: autoconf /usr/lib/crt1.o automake BuildRequires: gnu-efi >= 3.0e-9 BuildRequires: glibc-static +# Fixes Bug 641739, broken 32-bit dependencies on x86_64 architecture +%if %{_arch} == x86_64 +BuildRequires: glibc-static(x86-32) +%endif Requires(post): /sbin/install-info Requires(preun): /sbin/install-info Requires: mktemp