Bug 959531

Summary: libvirt does not compile with latest kernel-headers-3.8.8-100
Product: [Fedora] Fedora Reporter: Jesse Brandeburg <jesse.brandeburg>
Component: libvirtAssignee: Eric Blake <eblake>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 17CC: berrange, clalancette, crobinso, dallan, eblake, itamar, jforbes, jyang, laine, libvirt-maint, veillard, virt-maint
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: libvirt-0.9.11.10-1.fc17 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-06-25 03:28:06 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 Jesse Brandeburg 2013-05-03 17:35:02 UTC
Description of problem:
trying to rebuild rpm for libvirt-0.9.11.9-1.fc17
./configure fails because it fails this check
dnl
dnl check for kernel headers required by src/bridge.c
dnl
if test "$with_qemu" = "yes" || test "$with_lxc" = "yes" ; then
  AC_CHECK_HEADERS([linux/param.h linux/sockios.h linux/if_bridge.h linux/if_tun.h],,
                   AC_MSG_ERROR([You must install kernel-headers in order to compile libvirt with QEMU or LXC support]))
fi


The check fails because the kernel-headers package was updated with a new if_bridge.h that is incompatible somehow with libvirt's checks.

Version-Release number of selected component (if applicable):
libvirt-0.9.11.9-1.fc17


How reproducible:
always

Steps to Reproduce:
1. yum update to latest 3.8.8-100 kernel and kernel-headers
2. yumdownloader --source libvirt
3. rpmbuild --rebuild libvirt*.src.rpm
  
Actual results:
configure pass fails in rpmbuild

Expected results:
fedora packages should be buildable with stock fedora toolchain and packages.


Additional info:

Comment 1 Dave Allan 2013-05-03 20:03:47 UTC
I can reproduce the build failure:

checking linux/if_bridge.h presence... yes
configure: WARNING: linux/if_bridge.h: present but cannot be compiled
configure: WARNING: linux/if_bridge.h:     check for missing prerequisite headers?
configure: WARNING: linux/if_bridge.h: see the Autoconf documentation
configure: WARNING: linux/if_bridge.h:     section "Present But Cannot Be Compiled"
configure: WARNING: linux/if_bridge.h: proceeding with the compiler's result
configure: WARNING:     ## ------------------------------------- ##
configure: WARNING:     ## Report this to libvir-list ##
configure: WARNING:     ## ------------------------------------- ##
checking for linux/if_bridge.h... no
configure: error: You must install kernel-headers in order to compile libvirt with QEMU or LXC support
error: Bad exit status from /var/tmp/rpm-tmp.YWE2mV (%build)

Comment 2 Eric Blake 2013-05-04 15:50:16 UTC
This is already fixed in libvirt.git's v0.9.11-maint branch; all we need to do now is release 0.9.11.10.

commit e474a208e063997b8c7bc5227a75e9eafc9711cb
Author: Eric Blake <eblake>
Date:   Mon Jan 14 10:47:41 2013 -0700

    build: further fixes for broken if_bridge.h
    
    Commit c308a9ae was incomplete; it resolved the configure failure,
    but not a later build failure.
    
    * src/util/virnetdevbridge.c: Include pre-req header.
    * configure.ac (AC_CHECK_HEADERS): Prefer standard in.h over
    non-standard ip6.h.
    (cherry picked from commit 1bf661caf4e926efcad6e85151a587cea5fd29f4)
    
    Conflicts:
    	src/util/virnetdevbridge.c

commit 7ae53f15936277dfc777539ce13970293fdb03d0
Author: Cole Robinson <crobinso>
Date:   Tue Mar 26 17:53:54 2013 -0400

    build: work around broken kernel header
    
    I got this scary warning during ./configure on rawhide:
    
    checking linux/if_bridge.h usability... no
    checking linux/if_bridge.h presence... yes
    configure: WARNING: linux/if_bridge.h: present but cannot be compiled
    configure: WARNING: linux/if_bridge.h:     check for missing prerequisite headers?
    configure: WARNING: linux/if_bridge.h: see the Autoconf documentation
    configure: WARNING: linux/if_bridge.h:     section "Present But Cannot Be Compiled"
    configure: WARNING: linux/if_bridge.h: proceeding with the compiler's result
    configure: WARNING:     ## ------------------------------------- ##
    configure: WARNING:     ## Report this to libvir-list ##
    configure: WARNING:     ## ------------------------------------- ##
    checking for linux/if_bridge.h... no
    
    * configure.ac (AC_CHECK_HEADERS): Provide struct in6_addr, since
    linux/if_bridge.h uses it without declaring it.
    (cherry picked from commit c308a9ae153db619fc0366bad9fd8f6c49cfac58)

Comment 3 Cole Robinson 2013-05-08 18:26:20 UTC
Backported those to v0.9.11-maint

Comment 4 Eric Blake 2013-05-08 18:51:21 UTC
(In reply to comment #3)
> Backported those to v0.9.11-maint

They were _already on_ v0.9.11-maint; now the branch looks weird because of doubled-up backports with a triple cherry-picked-from message in the second version of the backport.  Is it worth trying to rewind the branch to avoid confusion?

Comment 5 Cole Robinson 2013-05-08 23:34:48 UTC
Argh sorry, I sure screwed that one up. I pushed revert commits.

Comment 6 Fedora Update System 2013-06-12 23:01:52 UTC
libvirt-0.9.11.10-1.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/libvirt-0.9.11.10-1.fc17

Comment 7 Fedora Update System 2013-06-14 02:26:08 UTC
Package libvirt-0.9.11.10-1.fc17:
* should fix your issue,
* was pushed to the Fedora 17 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing libvirt-0.9.11.10-1.fc17'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2013-10803/libvirt-0.9.11.10-1.fc17
then log in and leave karma (feedback).

Comment 8 Fedora Update System 2013-06-25 03:28:06 UTC
libvirt-0.9.11.10-1.fc17 has been pushed to the Fedora 17 stable repository.  If problems still persist, please make note of it in this bug report.