Bug 1134455

Summary: pkg-config --libs contains cflags
Product: Red Hat Enterprise Linux 6 Reporter: Eric Blake <eblake>
Component: libvirtAssignee: Eric Blake <eblake>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.4CC: agedosier, ajia, berrange, clalancette, dyuan, eblake, extras-qa, itamar, jdenemar, jforbes, laine, lhuang, libvirt-maint, mzhan, rbalakri, rjones, veillard, virt-maint
Target Milestone: rcKeywords: Upstream
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: libvirt-0.10.2-48.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1134453 Environment:
Last Closed: 2015-07-22 05:46:41 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:
Bug Depends On: 1134453    
Bug Blocks: 910269, 1134454    

Description Eric Blake 2014-08-27 14:26:03 UTC
Cloning to RHEL 6; there, pkg-config reports merely '-lvirt -ldl', but the -ldl is spurious, and caused by the same bug (it's just that somewhere between v0.10.2 and v1.1.1, the final value of @LIBS@ after ./configure was complete changed contents, due to refactoring on how configure.ac searches for libraries)

+++ This bug was initially created as a clone of Bug #1134453 +++

Description of problem:

$ pkg-config --libs libvirt
-lvirt -ldl -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic 

obviously only -lvirt and possibly -ldl should be there.

Version-Release number of selected component (if applicable):

libvirt-1.1.3.5-2.fc20.x86_64

Additional info:

Upstream fix is

commit 1167751fcb949b44eddf3d0bfed5473e13c7e94a
Author: Daniel P. Berrange <berrange>
Date:   Fri Jun 20 17:45:05 2014 +0100

    Don't include @LIBS@ in libvirt.pc.in file
    
    The libvirt.pc file we install is ending up polluted with a
    load of compiler flags that should be private to the libvirt
    build. eg
    
    Libs: -L${libdir} -lvirt -ldl -O2 -g -pipe -Wall \
          -Wp,-D_FORTIFY_SOURCE=2 -fexceptions \
          -fstack-protector-strong --param=ssp-buffer-size=4 \
          -grecord-gcc-switches  -m64 -mtune=generic
    
    this is caused by including @LIBS@ in the Libs: line of the
    pkgconfig.pc.in file.

--- Additional comment from Eric Blake on 2014-08-27 08:22:37 MDT ---

Next build for Fedora will be fixed; this is on the v1.1.3-maint branch now

commit 76ad3133fae206f6ccb3f3c0528c2ec6bd6b62bb
Author: Daniel P. Berrange <berrange>
Date:   Fri Jun 20 17:45:05 2014 +0100

    Don't include @LIBS@ in libvirt.pc.in file
... 
    (cherry picked from commit 1167751fcb949b44eddf3d0bfed5473e13c7e94a)

Comment 5 Luyao Huang 2015-02-02 03:51:19 UTC
I can reproduce this issue with libvirt-0.10.2-46.el6.x86_64:

# pkg-config libvirt --libs
-lvirt -ldl

And verify this bug with libvirt-0.10.2-48.el6.x86_64:

# pkg-config libvirt --libs
-lvirt

Comment 7 errata-xmlrpc 2015-07-22 05:46:41 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2015-1252.html