Bug 429723 - mock fails to resolve /usr/include/gnu/stubs-32.h on x86_64
mock fails to resolve /usr/include/gnu/stubs-32.h on x86_64
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: mock (Show other bugs)
9
All Linux
high Severity high
: ---
: ---
Assigned To: David Cantrell
Fedora Extras Quality Assurance
:
: 440368 (view as bug list)
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2008-01-22 13:06 EST by Daniel Berrange
Modified: 2013-01-09 20:46 EST (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2009-02-05 17:52:53 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Daniel Berrange 2008-01-22 13:06:04 EST
Description of problem:
I am attempting todo a mock build for 'xenner' package review:

https://bugzilla.redhat.com/show_bug.cgi?id=429703

I am doing the build on an x86_64 host, running rawhide. mock will fail to
resolve the dependancy for /usr/include/gnu/stubs-32.h, which is usually
provided by glibc-devel.i386  (even on a x86_64 host).


$ mock rebuild -r fedora-devel-x86_64 /home/berrange/xenner-0.22-1.fc8.src.rpm 
INFO: mock.py version 0.9.6 starting...
State Changed: init plugins
State Changed: start
INFO: Start(/home/berrange/xenner-0.22-1.fc8.src.rpm) 
Config(fedora-development-x86_64)
State Changed: lock buildroot
State Changed: clean
State Changed: init
State Changed: lock buildroot
INFO: enabled root cache
INFO: enabled yum cache
State Changed: cleaning yum metadata
State Changed: running yum
State Changed: creating cache
State Changed: setup
ERROR: Exception(/home/berrange/xenner-0.22-1.fc8.src.rpm)
Config(fedora-development-x86_64) 3 minutes 2 seconds
INFO: Results and/or logs in: /var/lib/mock//fedora-development-x86_64/result
ERROR: Bad build req: No Package Found for /usr/include/gnu/stubs-32.h. Exiting.



Version-Release number of selected component (if applicable):
mock-0.9.6-1.fc9

How reproducible:
Always on rawhide host. Works fine on F8 host.

Steps to Reproduce:
1. mock rebuild -r fedora-devel-x86_64 /home/berrange/xenner-0.22-1.fc8.src.rpm
2.
3.
  
Actual results:
ERROR: Bad build req: No Package Found for /usr/include/gnu/stubs-32.h. Exiting.


Expected results:
Build completes

Additional info:
Running on an F8 host with mock-0.7.6-1.fc8  works flawlessly, so this looks
like a regression in rawhide mock RPM to me.

This will also impact rebuilds of Xen, and KVM since they both need the
stubs-32.h to rebuild the QEMU BIOS
Comment 1 Michael E Brown 2008-01-22 13:59:11 EST
I've got your bug report, have reproduced it and am looking into it. This is a
dup of another report that was marked fixed a while back, so this is somewhat
surprising.
Comment 2 Michael E Brown 2008-01-22 14:19:07 EST
This appears to be a dup of #427315. Not closing as a dup, yet.

Can you please check to see if there is any difference in behaviour between
0.9.6 and 0.8.19?
Comment 3 Daniel Berrange 2008-01-22 15:04:16 EST
I took the Fc8 src.rpm for mock-0.8.19 and rebuilt it on rawhide. Then cleared
the cached build roots, and re-ran, but it still fails:

$ mock rebuild -r fedora-devel-x86_64 /home/berrange/xenner-0.22-1.fc8.src.rpm 
INFO: mock.py version 0.8.19 starting...
State Changed: init plugins
State Changed: start
INFO: Start(/home/berrange/xenner-0.22-1.fc8.src.rpm) 
Config(fedora-development-x86_64)
State Changed: lock buildroot
State Changed: clean
State Changed: init
State Changed: lock buildroot
INFO: enabled root cache
INFO: enabled yum cache
State Changed: cleaning yum metadata
State Changed: running yum
State Changed: creating cache
State Changed: setup
ERROR: Exception(/home/berrange/xenner-0.22-1.fc8.src.rpm)
Config(fedora-development-x86_64) 2 minutes 14 seconds
INFO: Results and/or logs in: /var/lib/mock//fedora-development-x86_64/result
ERROR: Bad build req: No Package Found for /usr/include/gnu/stubs-32.h. Exiting.
Comment 4 Daniel Berrange 2008-01-22 15:14:11 EST
Further data point. If i used  mock-0.8.19  on an F8 host, then it works fine.
So it seems to be something odd in the F9 stack that's breaking mock.
Comment 5 Daniel Berrange 2008-01-22 15:25:01 EST
Ok, this appears to be a config file problem

Current mock sets up a config with

exclude=[!g]*.i*86 g[!l]*.i?86  gl[!i]*.i?86 gli[!b]*.i?86 glib[!c]*.i?86 


My F8 host is still using a config with 

exclude=[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefhijklmnopqrstuvwxyz]*.i*86
g[abcdefghijkmnopqrstuvwxyz]*.i?86 glib2.i?86 glib.i?86



If I change my F8 host to use the new style exclude config, it also fails. If I
change my F9 host to use the old style exclude config, it works. 

So the defualt config file for latest mock seems to have bogus excludes.
Comment 6 Michael E Brown 2008-01-22 16:24:43 EST
The exclude line was changed due to another, different problem. I've been
working on IRC and we came to largely the same conclusion. The [!x] syntax in
the exclude line seems to be broken. I'll end up changing the default configs
back to the 'ugly' way.
Comment 7 Daniel Berrange 2008-01-22 16:34:44 EST
The root problem is really yum's need to encode this magic in a single exclude
line - it makes it very hard to exclude just the right amount. It would relaly
be better as a exclude/include pair - cf imagine trying to write apache ACLs
using only the 'deny' clause and no 'allow' clause.

So perhaps its worth asking for a feature enhancement against yum to support
something like:

 order='exclude,include'
 exclude='*.i?86"
 include='glibc-*.i?86'
Comment 8 Michael E Brown 2008-01-22 17:15:04 EST
I've checked in a fix to the exclude= line to upstream git.

I am waiting on code review for some other changes that went into 0.9 recently
before I spin new packages for rawhide. This should hit rawhide within a week.
In the meantime, if you want the official configs, you can obtain them from git.

Thanks for reporting this bug!
Comment 9 Seth Vidal 2008-01-22 17:29:36 EST
There's this plugin - we just need to have a way of enabling plugins for mock
easily.

http://skvidal.fedorapeople.org/x86_64_build_exclude.py
Comment 10 Daniel Berrange 2008-04-03 12:11:35 EDT
*** Bug 440368 has been marked as a duplicate of this bug. ***
Comment 11 Bug Zapper 2008-05-14 00:50:25 EDT
Changing version to '9' as part of upcoming Fedora 9 GA.
More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping
Comment 12 Jesse Keating 2009-02-05 17:52:53 EST
I'm pretty sure this is fixed with the way yum now works with multilib.
Comment 13 Henry Kroll 2010-10-29 16:07:40 EDT
This bug still exists on F14 beta using F14 x86_64 and rawhide (F15) x86_64 mock targets:
texi2html -monolithic -number tcc-doc.texi
In file included from /usr/include/features.h:385:0,
                 from /usr/include/stdlib.h:25,
                 from tcc.h:34,
                 from libtcc.c:21,
                 from tcc.c:24:
/usr/include/gnu/stubs.h:7:27: fatal error: gnu/stubs-32.h: No such file or directory
compilation terminated.

Note You need to log in before you can comment on or make changes to this bug.