[yocto] Curl recipe not applying DISTRO_FEATURES

Khem Raj raj.khem at gmail.com
Tue May 17 07:56:02 PDT 2016


On Tue, May 17, 2016 at 1:14 AM, Christian Fuchs
<christian.fuchs at fos4x.de> wrote:
> Hello everybody,
>
> I am using Yocto version 1.8 and I'm having trouble compiling curl on a
> 64-bit machine running Debian Wheezy 7.10.
>
> The recipe always creates a libcurl.so.5 library, which I understand is due
> to an error regarding the size of off_t picked up by autotools. From the
> recipe:
>
>> # see
>> https://lists.yoctoproject.org/pipermail/poky/2013-December/009435.html
>> # We should ideally drop ac_cv_sizeof_off_t from site files but until then
>> EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'largefile',
>> 'ac_cv_sizeof_off_t=8', '', d)}"
>
> As far as I understand bitbake this last line should add the string
> 'ac_cv_sizeoff_off_t=8' to EXTRA_OECONF, if 'largefile' is set in
> DISTRO_FEATURES. When I checked the DISTRO_FEATURES variable with "bitbake
> -e curl", 'largefile' was indeed set.
>>
>> DISTRO_FEATURES="alsa argp bluetooth ext2 irda largefile pcmcia usbgadget
>> usbhost wifi xattr nfs zeroconf pci 3g nfc x11 ipv4 ipv6 libc-backtrace
>> libc-big-macros libc-bsd libc-cxx-tests libc-catgets libc-charsets
>> libc-crypt                                         libc-crypt-ufc
>> libc-db-aliases libc-envz libc-fcvt libc-fmtmsg libc-fstab libc-ftraverse
>> libc-getlogin libc-idn libc-inet-anl libc-libm libc-locales libc-locale-code
>> libc-memusage libc-nis libc-nsswitch libc-rcmd libc-rtld-debug libc-spawn
>> libc-streams libc-sunrpc libc-utmp libc-utmpx libc-wordexp
>> libc-posix-clang-wchar libc-posix-regexp libc-posix-regexp-glibc
>> libc-posix-wchar-io largefile multiarch tiny pam keyboard usbhost ext2 ipv6
>> pcmcia pulseaudio sysvinit"
>
>
> However the configure log shows that configure is called without
> 'ac_cv_sizeoff_off_t=8':
>>
>> NOTE: Running
>> /data/jenkins/workspace/kOS/build/tmp/work/core2-32-fos4x-linux/curl/7.40.0-r0/curl-7.40.0/configure
>> --build=x86_64-linux           --host=i586-fos4x-linux
>> --target=i586-fos4x-linux           --prefix=/usr --exec_prefix=/usr
>> --bindir=/usr/bin --sbindir=/usr/sbin           --libexecdir=/usr/lib/curl
>> --datadir=/usr/share           --sysconfdir=/etc --sharedstatedir=/com
>> --localstatedir=/var --libdir=/usr/lib           --includedir=/usr/include
>> --oldincludedir=/usr/include --infodir=/usr/share/info
>> --mandir=/usr/share/man           --disable-silent-rules
>> --disable-dependency-tracking
>> --with-libtool-sysroot=/data/jenkins/workspace/kOS/build/tmp/sysroots/fos4x
>> --without-libidn --enable-crypto-auth --disable-ldap
>> --disable-ldaps --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt
>> --with-gnutls --enable-ipv6 --without-libssh2 --without-librtmp
>> --disable-smb --without-ssl
>> --with-zlib=/data/jenkins/workspace/kOS/build/tmp/sysroots/fos4x/usr/lib/../
>
> ...
>>
>> configure: WARNING: This libcurl built is probably not ABI compatible with
>> previous
>> configure: WARNING: builds! You MUST read lib/README.curl_off_t to figure
>> it out.
>
>
> When I try to compile this recipe with the exact same settings on a
> test-machine running Ubuntu 14.04 everything works fine, configure is called
> with 'ac_cv_sizeoff_off_t=8', no ABI issues are detected and libcurl.so.4 is
> produced.
>>
>> NOTE: Running
>> /scratch/working/build/tmp/work/core2-32-fos4x-linux/curl/7.40.0-r0/curl-7.40.0/configure
>> --build=x86_64-linux         --host=i586-fos4x-linux
>> --target=i586-fos4x-linux           --prefix=/usr --exec_prefix=/usr
>> --bindir=/usr    /bin --sbindir=/usr/sbin         --libexecdir=/usr/lib/curl
>> --datadir=/usr/share        --sysconfdir=/etc --sharedstatedir=/com
>> --localstatedir=/var --libdir=/usr/lib           --includedir=/usr/include
>> --oldinc ludedir=/usr/include --infodir=/usr/share/info
>> --mandir=/usr/share/man         --disable-silent-rules
>> --disable-dependency-tracking
>> --with-libtool-sysroot=/scratch/working/build/tmp/sysroots/fos4x
>> --without-libidn                 - -enable-crypto-auth
>> --disable-ldap --disable-ldaps
>> --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt ac_cv_sizeof_off_t=8
>> --with-gnutls --enable-ipv6 --without-libssh2 --without-librtmp
>> --disable-smb --without-ssl --
>> with-zlib=/scratch/working/build/tmp/sysroots/fos4x/usr/lib/../
>
>
> Could somebody give me a hint, how I can fix this?

use bitbake -e output to see if EXTRA_OECONF is correctly expanded.
Secondly, you might want to check
if its expanding correctly then check if its appended to configure
call correctly. also check whats /bin/sh pointing to on both systems.

>
> Best regards,
> Christian
>
> --
> Christian Fuchs, M.Sc. - Software-Developer
> fos4X GmbH - www.fos4x.de - T +49 89 999 542 15 - F +49 89 999 542 01
> Thalkirchner Str. 210, Geb. 6 - D-81371 München; AG München HRB 189 218
> Managing Directors: Dr. Lars Hoffmann, Dr. Mathias Müller
>
> --
> _______________________________________________
> yocto mailing list
> yocto at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto



More information about the yocto mailing list