[OE-core] libcurl vs. libcurl5 vs. libcurl4

Bryan Evenson bevenson at melinkcorp.com
Mon Feb 13 13:17:28 UTC 2017


Martin,

> -----Original Message-----
> From: Martin Jansa [mailto:martin.jansa at gmail.com]
> Sent: Friday, February 10, 2017 2:54 PM
> To: Bryan Evenson <bevenson at melinkcorp.com>
> Cc: Openembedded-core at lists.openembedded.org
> Subject: Re: [OE-core] libcurl vs. libcurl5 vs. libcurl4
> 
> On Fri, Feb 10, 2017 at 03:41:44PM +0000, Bryan Evenson wrote:
> > I'm on the dizzy branch and I'm working on updating my build tools to use a
> more recent branch.  I have an image built using fido and I'm doing some
> firmware upgrade testing.  I have a package that depends on libcurl and I'm
> getting some strange version dependencies that I'm trying to sort out.
> >
> > In my package recipe I have "RDEPENDS_${PN} = <number of unrelated
> packages> libcurl" to pull in the runtime depenency on curl.  When I build my
> image using the dizzy branch, libcurl gets built as libcurl5-7.37.1, but when I
> build my image using the fido branch libcurl gets built as libcurl4-7.40.0.  As a
> result, by checking my package dependencies with "opkg info
> <my_package_name>" I see that the package dependency has changed
> from "libcurl5 (>=7.37.1)" to "libcurl4 (>=7.40.1)".
> >
> > Any ideas why the package name dropped from libcurl5 to libcurl4?  Is this
> something that has been fixed in a more recent branch?  If I'm reading the
> dependencies correctly, opkg should still install libcurl-7.40.0 since my
> package depends on libcurl4, correct?
> 
> See --enable-soname-bump option in curl.
> 
> This change in oe-core:
>   commit 49c848018484827c433e1bcf9c63416640456f3e
>   Author: Khem Raj <raj.khem at gmail.com>
>   Date:   Tue Apr 28 22:34:22 2015 -0700
>   Subject:  curl: Fix wrong assumption about sizeof off_t on largefile
>     systems
> 
>     This issue was reported on poky ml as well see
>     https://lists.yoctoproject.org/pipermail/poky/2013-
> December/009435.html
> 
> Causes this difference in curl_config.h between Dizzy and Fido:
> diff 7.40.0-r0-dizzy/build/lib/curl_config.h
>      7.40.0-r0-fido/build/lib/curl_config.h
> 878c877
> < #define SIZEOF_OFF_T 4
> ---
> > #define SIZEOF_OFF_T 8
> Which in turn causes curl's configure script to stop bumping the SONAME
> version.
> 
> That's why newer curl 7.40.1 produces libcurl4 while older 7.37.1 produced
> libcurl5.

Thanks for the explanation.  I also verified that the package dependencies worked correctly.  My updated package now depends on libcurl4 instead of libcurl5, so the new package was correctly installed.  In my case I'll avoid doing any specific patch to keep the SONAME version the same if firmware upgrade works as expected.

Thanks,
Bryan

> 
> --
> Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com



More information about the Openembedded-core mailing list