Bug 959531 - libvirt does not compile with latest kernel-headers-3.8.8-100
Summary: libvirt does not compile with latest kernel-headers-3.8.8-100
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: libvirt
Version: 17
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Eric Blake
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-05-03 17:35 UTC by Jesse Brandeburg
Modified: 2013-06-25 03:28 UTC (History)
12 users (show)

Fixed In Version: libvirt-0.9.11.10-1.fc17
Clone Of:
Environment:
Last Closed: 2013-06-25 03:28:06 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

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.


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