[yocto] Possible issue when supported distros update their GNU tar package to version 1.27
Yannis Damigos
giannis.damigos at gmail.com
Fri Oct 11 05:09:49 PDT 2013
Hi everyone,
I work on Archlinux (64bit) and build a beagleboard image.
Build Configuration:
BB_VERSION = "1.20.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "Arch-Linux"
TARGET_SYS = "arm-poky-linux-gnueabi"
MACHINE = "beagleboard"
DISTRO = "poky"
DISTRO_VERSION = "1.5"
TUNE_FEATURES = "armv7a vfp neon"
TARGET_FPU = "vfp-neon"
meta
meta-yocto
meta-yocto-bsp = "master:102bf5e0f640fe85068452a42b85077f1c81e0c9"
The build process stops at the task "quilt-native_0.60.bb, do_populate_sysroot"
with the following error:
tar: --same-order option cannot be used with -c
Try 'tar --help' or 'tar --usage' for more information.
tar: This does not look like a tar archive
tar: Exiting with failure status due to previous errors
Searching around I found out that the problem was found at the file
meta/classes/staging.bbclass at line 16:
tar -cf - -C "$src" -ps . | tar -xf - -C "$dest"
The issue comes up if user's distro is using GNU tar version 1.27
Here is a link to the tar patch that causing the problem:
http://git.savannah.gnu.org/cgit/tar.git/commit/?id=74ce228f6df956e6b7be9fd4f993bada4b7ea645
If I downgrade the tar package to version 1.26, the build ends with success.
Here is a list with all the files that should be updated/patched
./meta/lib/oe/path.py: cmd = 'tar -cf - -C %s -ps . | tar -xf - -C %s' % (src, dst)
./meta/lib/oe/path.py: cmd = 'cd %s; find . -type d -print | tar -cf - -C %s -ps --files-from - | tar -xf - -C %s' % (src, src, dst)
./meta/classes/package.bbclass: cmd = 'tar -cf - -C %s -ps . | tar -xf - -C %s' % (dest, dvar)
./meta/classes/populate_sdk_deb.bbclass: tar -cf - -C ${STAGING_ETCDIR_NATIVE} -ps apt | tar -xf - -C ${target_rootfs}/etc
./meta/classes/libc-package.bbclass: tar -cf - -C ${LOCALETREESRC}${datadir} -ps i18n | tar -xf - -C $treedir/${datadir}
./meta/classes/libc-package.bbclass: tar -cf - -C ${LOCALETREESRC}${base_libdir} -ps . | tar -xf - -C $treedir/${base_libdir}
./meta/classes/libc-package.bbclass: tar -cf - -C ${STAGING_DIR_NATIVE}/${prefix_native}/${base_libdir} -ps libgcc_s.* | tar -xf - -C $treedir/${base_libdir}
./meta/classes/libc-package.bbclass: tar -cf - -C $treedir/$parent -ps $(basename ${localedir}) | tar -xf - -C ${PKGD}$parent
./meta/classes/staging.bbclass: tar -cf - -C "$src" -ps . | tar -xf - -C "$dest"
./bitbake/lib/bb/fetch2/__init__.py: #cmd = 'tar -cf - -C "%d" -ps . | tar -xf - -C "%s/%s/"' % (file, rootdir, destdir)
Best regards,
Yannis
More information about the yocto
mailing list