[libvirt] trying to build 0.9.13 on F17: cannot find -lcrypto

In trying to build libvirt 0.9.13 on F17, I'm hitting a link error: ... CCLD libvirt_driver_nodedev.la CCLD libvirt_driver_nwfilter.la /usr/bin/ld: cannot find -lcrypto Full log here: http://kojipkgs.fedoraproject.org//work/tasks/3678/4233678/build.log I think this comes from rbd support, from configure.ac: LIBRBD_LIBS="-lrbd -lrados -lcrypto" from this commit: http://libvirt.org/git/?p=libvirt.git;a=commit;h=74951eadef85e2d100c7dc7bd9a... What's missing here? RPM BuildRequires, configure change, ...? Thanks, Cole

On Wed, Jul 11, 2012 at 10:23:21AM -0400, Cole Robinson wrote:
In trying to build libvirt 0.9.13 on F17, I'm hitting a link error:
... CCLD libvirt_driver_nodedev.la CCLD libvirt_driver_nwfilter.la /usr/bin/ld: cannot find -lcrypto
Full log here:
http://kojipkgs.fedoraproject.org//work/tasks/3678/4233678/build.log
I think this comes from rbd support, from configure.ac:
LIBRBD_LIBS="-lrbd -lrados -lcrypto"
from this commit:
http://libvirt.org/git/?p=libvirt.git;a=commit;h=74951eadef85e2d100c7dc7bd9a...
What's missing here? RPM BuildRequires, configure change, ...?
If rbd is include '-lcrypto' in its pkgconfig line, then its RPM is responsible for ensuring BuildRequires is set in its own -devel package. So sounds like there's BR missing there. Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|

On 07/11/2012 10:42 AM, Daniel P. Berrange wrote:
On Wed, Jul 11, 2012 at 10:23:21AM -0400, Cole Robinson wrote:
In trying to build libvirt 0.9.13 on F17, I'm hitting a link error:
... CCLD libvirt_driver_nodedev.la CCLD libvirt_driver_nwfilter.la /usr/bin/ld: cannot find -lcrypto
Full log here:
http://kojipkgs.fedoraproject.org//work/tasks/3678/4233678/build.log
I think this comes from rbd support, from configure.ac:
LIBRBD_LIBS="-lrbd -lrados -lcrypto"
from this commit:
http://libvirt.org/git/?p=libvirt.git;a=commit;h=74951eadef85e2d100c7dc7bd9a...
What's missing here? RPM BuildRequires, configure change, ...?
If rbd is include '-lcrypto' in its pkgconfig line, then its RPM is responsible for ensuring BuildRequires is set in its own -devel package. So sounds like there's BR missing there.
The package here is ceph-devel. You're saying ceph-devel needs a BuildRequires: openssl-devel. Or should that be a plain Requires: ? Otherwise how would 'yum install ceph-devel' pull in openssl-devel, or is that one of the magic things rpm/yum figures out? Thanks, Cole

On Wed, Jul 11, 2012 at 11:15:07AM -0400, Cole Robinson wrote:
On 07/11/2012 10:42 AM, Daniel P. Berrange wrote:
On Wed, Jul 11, 2012 at 10:23:21AM -0400, Cole Robinson wrote:
In trying to build libvirt 0.9.13 on F17, I'm hitting a link error:
... CCLD libvirt_driver_nodedev.la CCLD libvirt_driver_nwfilter.la /usr/bin/ld: cannot find -lcrypto
Full log here:
http://kojipkgs.fedoraproject.org//work/tasks/3678/4233678/build.log
I think this comes from rbd support, from configure.ac:
LIBRBD_LIBS="-lrbd -lrados -lcrypto"
from this commit:
http://libvirt.org/git/?p=libvirt.git;a=commit;h=74951eadef85e2d100c7dc7bd9a...
What's missing here? RPM BuildRequires, configure change, ...?
If rbd is include '-lcrypto' in its pkgconfig line, then its RPM is responsible for ensuring BuildRequires is set in its own -devel package. So sounds like there's BR missing there.
The package here is ceph-devel. You're saying ceph-devel needs a BuildRequires: openssl-devel. Or should that be a plain Requires: ? Otherwise how would 'yum install ceph-devel' pull in openssl-devel, or is that one of the magic things rpm/yum figures out?
Yeah, ceph-devel should have BuildRequires: openssl-devel Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|

Hey, On Wed, Jul 11, 2012 at 03:42:20PM +0100, Daniel P. Berrange wrote:
On Wed, Jul 11, 2012 at 10:23:21AM -0400, Cole Robinson wrote:
I think this comes from rbd support, from configure.ac:
LIBRBD_LIBS="-lrbd -lrados -lcrypto"
from this commit:
http://libvirt.org/git/?p=libvirt.git;a=commit;h=74951eadef85e2d100c7dc7bd9a...
What's missing here? RPM BuildRequires, configure change, ...?
If rbd is include '-lcrypto' in its pkgconfig line, then its RPM is responsible for ensuring BuildRequires is set in its own -devel package. So sounds like there's BR missing there.
ceph-devel does not seem to come with a pkgconfig file, and the LIBRBD_LIBS line Cole quoted comes from libvirt's own configure.ac. I've checked with ldd that nor librbd nor librados link with libcrypto. If libcrypto is needed for rbd support, then libvirt should check itself that libcrypto is present. All of this would indeed be much simpler if ceph shipped a pkgconfig file... Christophe

On Thu, Jul 12, 2012 at 02:20:11PM +0200, Christophe Fergeau wrote:
Hey,
On Wed, Jul 11, 2012 at 03:42:20PM +0100, Daniel P. Berrange wrote:
On Wed, Jul 11, 2012 at 10:23:21AM -0400, Cole Robinson wrote:
I think this comes from rbd support, from configure.ac:
LIBRBD_LIBS="-lrbd -lrados -lcrypto"
from this commit:
http://libvirt.org/git/?p=libvirt.git;a=commit;h=74951eadef85e2d100c7dc7bd9a...
What's missing here? RPM BuildRequires, configure change, ...?
If rbd is include '-lcrypto' in its pkgconfig line, then its RPM is responsible for ensuring BuildRequires is set in its own -devel package. So sounds like there's BR missing there.
ceph-devel does not seem to come with a pkgconfig file, and the LIBRBD_LIBS line Cole quoted comes from libvirt's own configure.ac. I've checked with ldd that nor librbd nor librados link with libcrypto.
Ah, I see that now, in configure.ac we have LIBRBD_LIBS="-lrbd -lrados -lcrypto" I vote for just removing the '-lcrypto' line from configure.ac then.
If libcrypto is needed for rbd support, then libvirt should check itself that libcrypto is present. All of this would indeed be much simpler if ceph shipped a pkgconfig file...
Yeah, I despair everytime I find a modern library that does not use pkgconfig :-( Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|

On 12-07-12 14:32, Daniel P. Berrange wrote:
On Thu, Jul 12, 2012 at 02:20:11PM +0200, Christophe Fergeau wrote:
Hey,
On Wed, Jul 11, 2012 at 03:42:20PM +0100, Daniel P. Berrange wrote:
On Wed, Jul 11, 2012 at 10:23:21AM -0400, Cole Robinson wrote:
I think this comes from rbd support, from configure.ac:
LIBRBD_LIBS="-lrbd -lrados -lcrypto"
from this commit:
http://libvirt.org/git/?p=libvirt.git;a=commit;h=74951eadef85e2d100c7dc7bd9a...
What's missing here? RPM BuildRequires, configure change, ...?
If rbd is include '-lcrypto' in its pkgconfig line, then its RPM is responsible for ensuring BuildRequires is set in its own -devel package. So sounds like there's BR missing there.
ceph-devel does not seem to come with a pkgconfig file, and the LIBRBD_LIBS line Cole quoted comes from libvirt's own configure.ac. I've checked with ldd that nor librbd nor librados link with libcrypto.
Ah, I see that now, in configure.ac we have
LIBRBD_LIBS="-lrbd -lrados -lcrypto"
I vote for just removing the '-lcrypto' line from configure.ac then.
If libcrypto is needed for rbd support, then libvirt should check itself that libcrypto is present. All of this would indeed be much simpler if ceph shipped a pkgconfig file...
Yeah, I despair everytime I find a modern library that does not use pkgconfig :-(
I'll open a issue for this at the Ceph guys, we can probably sort that out. Wido
Daniel
participants (4)
-
Christophe Fergeau
-
Cole Robinson
-
Daniel P. Berrange
-
Wido den Hollander