[yocto] Curl recipe not applying DISTRO_FEATURES

Christian Fuchs christian.fuchs at fos4x.de
Tue May 17 01:14:52 PDT 2016


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?

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




More information about the yocto mailing list