]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core.git/commitdiff
coreutils: Delete gcc sysroot parameter for ptest on target
authorQiu Tingting <qiutt@fujitsu.com>
Wed, 19 Apr 2023 01:27:59 +0000 (09:27 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 27 Apr 2023 13:41:00 +0000 (14:41 +0100)
If gcc is installed in image, ptest result has 4 ERROR.
  ERROR: tests/rm/r-root.sh
  ERROR: tests/rm/rm-readdir-fail.sh
  ERROR: tests/cp/nfs-removal-race.sh
  ERROR: tests/ls/getxattr-speedup.sh

r-root.log as an example:
  --------------------------
  k.c:1:10: fatal error: stdio.h: No such file or directory
  1 | #include <stdio.h>
    |  ^~~~~~~~~
  compilation terminated.
  r-root.sh: set-up failure: failed to build shared library
  ERROR tests/rm/r-root.sh (exit status: 99)
  --------------------------

reason:
  The run-ptest calls make cmd to run test cases.
  In these cases, k.c file is created and compiled by gcc before run.
  There is a stdio.h file in /usr/include/ directory.
  Normally, gcc has /usr/include as part of its default search path.
  But in Makefile, it has the "--sysroot=recipe-sysroot" parameter
  which makes it does not work.

solution:
  Delete "--sysroot=recipe-sysroot" from Makefile.

other:
  If gcc is not installed in image, these cases will be skipped.

Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
meta/recipes-core/coreutils/coreutils_9.1.bb

index 4807eefd04ded8db9a3af4354d77dc5c6b3d0ddb..e12a6d6797149c5311ef6f2858f0c7ab0927c490 100644 (file)
@@ -193,6 +193,7 @@ do_install_ptest () {
     sed -i '/^abs_top_builddir/s/= .*$/= \$\{PWD\}/g' ${D}${PTEST_PATH}/Makefile
     sed -i '/^abs_top_srcdir/s/= .*$/= \$\{PWD\}/g' ${D}${PTEST_PATH}/Makefile
     sed -i '/^built_programs/s/ginstall/install/g' ${D}${PTEST_PATH}/Makefile
+    sed -i '/^CC =/s/ --sysroot=.*recipe-sysroot/ /g' ${D}${PTEST_PATH}/Makefile
     chmod -R 777 ${D}${PTEST_PATH}
 
     # Disable subcase stty-pairs.sh, it will cause test framework hang