[oe] [meta-oe][meta-filesystems][PATCH 1/2] libimobiledevice: remove runtime configure check

Martin Jansa martin.jansa at gmail.com
Thu Oct 1 15:06:45 UTC 2015


On Fri, Jul 17, 2015 at 05:38:12PM -0700, S. Lockwood-Childs wrote:
> configure.ac had a runtime check for large file support that got run
> on 64-bit architectures, and all runtime checks must go away to be
> cross-compile safe.
> 
> Luckily that runtime check was extraneous, so just remove it;
> standard AC_SYS_LARGEFILE macro should be sufficient for figuring out
> proper settings to get large file support.
> 
> Also un-blacklist libimobiledevice, since this problem was the
> reason for the blacklist.

There is another issue, probably triggered by switch to gcc-5, are you
willing to fix it?

| /home/jenkins/oe/world/shr-core/tmp-glibc/work/armv5te-oe-linux-gnueabi/libimobiledevice/1.1.4-r0/libimobiledevice-1.1.4/src/afc.c:258: error: undefined reference to 'debug_buffer'
| /home/jenkins/oe/world/shr-core/tmp-glibc/work/armv5te-oe-linux-gnueabi/libimobiledevice/1.1.4-r0/libimobiledevice-1.1.4/src/afc.c:273: error: undefined reference to 'debug_buffer'
| /home/jenkins/oe/world/shr-core/tmp-glibc/work/armv5te-oe-linux-gnueabi/libimobiledevice/1.1.4-r0/libimobiledevice-1.1.4/src/afc.c:247: error: undefined reference to 'debug_buffer'
| /home/jenkins/oe/world/shr-core/tmp-glibc/work/armv5te-oe-linux-gnueabi/libimobiledevice/1.1.4-r0/libimobiledevice-1.1.4/src/afc.c:258: error: undefined reference to 'debug_buffer'
| collect2: error: ld returned 1 exit status
| make[2]: *** [libimobiledevice.la] Error 1
| make[2]: Leaving directory `/home/jenkins/oe/world/shr-core/tmp-glibc/work/armv5te-oe-linux-gnueabi/libimobiledevice/1.1.4-r0/build/src'
| make[1]: *** [all-recursive] Error 1
| make[1]: Leaving directory `/home/jenkins/oe/world/shr-core/tmp-glibc/work/armv5te-oe-linux-gnueabi/libimobiledevice/1.1.4-r0/build'
| make: *** [all] Error 2

otherwise I'll blacklist it again in few days (it was reported in couple world builds already).

> 
> Signed-off-by: S. Lockwood-Childs <sjl at vctlabs.com>
> ---
>  .../files/configure-fix-largefile.patch            |   38 ++++++++++++++++++++
>  .../libimobiledevice/libimobiledevice_1.1.4.bb     |    6 +---
>  2 files changed, 39 insertions(+), 5 deletions(-)
>  create mode 100644 meta-oe/recipes-connectivity/libimobiledevice/files/configure-fix-largefile.patch
> 
> diff --git a/meta-oe/recipes-connectivity/libimobiledevice/files/configure-fix-largefile.patch b/meta-oe/recipes-connectivity/libimobiledevice/files/configure-fix-largefile.patch
> new file mode 100644
> index 0000000..679a8b5
> --- /dev/null
> +++ b/meta-oe/recipes-connectivity/libimobiledevice/files/configure-fix-largefile.patch
> @@ -0,0 +1,38 @@
> +Fix configure error in large file checks on 64-bit architectures
> +
> + configure:17888: checking for native large file support
> + configure:17891: error: in `/home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/core2-64-oe-linux/libimobiledevice/1.1.4-r0/libimobiledevice-1.1.4':
> + configure:17893: error: cannot run test program while cross compiling
> +
> +configure.ac was using AC_SYS_LARGEFILE macro as is typical, but then
> +there was an extra runtime check added beyond that:
> +check if off_t is 8 bytes (64 bits) long.
> +If that runtime check passed, _FILE_OFFSET_BITS was defined as 64.
> +
> +Runtime checks need to go away for cross compiling, and luckily this extra
> +check was not serving any useful purpose. Note that off_t was *already*
> +64 bits, *without* setting _FILE_OFFSET_BITS, which makes _FILE_OFFSET_BITS
> +unneeded for large file support. 
> +
> +If AC_SYS_LARGEFILE macro sets ac_cv_sys_file_offset_bits=no,
> +just leave _FILE_OFFSET_BITS undefined!
> +
> +--- libimobiledevice-1.1.4/configure.ac.old	2015-07-15 01:38:50.900143927 -0700
> ++++ libimobiledevice-1.1.4/configure.ac	2015-07-15 01:39:13.300144430 -0700
> +@@ -174,16 +174,6 @@
> + if test "$enable_largefile" != no; then
> +     if test "$ac_cv_sys_file_offset_bits" != 'no'; then
> + 	LFS_CFLAGS="$LFS_CFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits"
> +-    else
> +-	AC_MSG_CHECKING(for native large file support)
> +-	AC_RUN_IFELSE([AC_LANG_SOURCE([#include <unistd.h>
> +-	  int main (int argc, char **argv)
> +-	  {
> +-	      exit(!(sizeof(off_t) == 8));
> +-	  }])],
> +-	[ac_cv_sys_file_offset_bits=64; AC_DEFINE(_FILE_OFFSET_BITS,64)
> +-	 AC_MSG_RESULT(yes)],
> +-	[AC_MSG_RESULT(no)])
> +     fi
> +     if test "$ac_cv_sys_large_files" != 'no'; then
> + 	LFS_CFLAGS="$LFS_CFLAGS -D_LARGE_FILES=1"
> diff --git a/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_1.1.4.bb b/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_1.1.4.bb
> index 5256ce0..06260f7 100644
> --- a/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_1.1.4.bb
> +++ b/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_1.1.4.bb
> @@ -5,17 +5,13 @@ LIC_FILES_CHKSUM = "\
>      file://COPYING.LESSER;md5=6ab17b41640564434dda85c06b7124f7 \
>  "
>  
> -#| configure:17888: checking for native large file support
> -#| configure:17891: error: in `/home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/core2-64-oe-linux/libimobiledevice/1.1.4-r0/libimobiledevice-1.1.4':
> -#| configure:17893: error: cannot run test program while cross compiling
> -PNBLACKLIST[libimobiledevice] ?= "cannot run test program while cross compiling"
> -
>  HOMEPAGE ="http://www.libimobiledevice.org/"
>  
>  DEPENDS = "libplist usbmuxd libtasn1 gnutls libgcrypt"
>  
>  SRC_URI = " \
>      http://www.libimobiledevice.org/downloads/libimobiledevice-${PV}.tar.bz2 \
> +    file://configure-fix-largefile.patch \
>  "
>  
>  SRC_URI[md5sum] = "3f28cbc6a2e30d34685049c0abde5183"
> -- 
> 1.7.10.4
> 
> -- 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20151001/09a87f7e/attachment-0002.sig>


More information about the Openembedded-devel mailing list