Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 429723 - mock fails to resolve /usr/include/gnu/stubs-32.h on x86_64
Summary: mock fails to resolve /usr/include/gnu/stubs-32.h on x86_64
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: mock
Version: 9
Hardware: All
OS: Linux
high
high
Target Milestone: ---
Assignee: David Cantrell
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 440368 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-01-22 18:06 UTC by Daniel Berrangé
Modified: 2013-01-10 01:46 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-02-05 22:52:53 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Daniel Berrangé 2008-01-22 18:06:04 UTC
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 18:59:11 UTC
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 19:19:07 UTC
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 Berrangé 2008-01-22 20:04:16 UTC
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 Berrangé 2008-01-22 20:14:11 UTC
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 Berrangé 2008-01-22 20:25:01 UTC
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 21:24:43 UTC
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 Berrangé 2008-01-22 21:34:44 UTC
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 22:15:04 UTC
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 22:29:36 UTC
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 Berrangé 2008-04-03 16:11:35 UTC
*** Bug 440368 has been marked as a duplicate of this bug. ***

Comment 11 Bug Zapper 2008-05-14 04:50:25 UTC
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 22:52:53 UTC
I'm pretty sure this is fixed with the way yum now works with multilib.

Comment 13 Henry Kroll 2010-10-29 20:07:40 UTC
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.