Message ID | 1681462400-3660-1-git-send-email-qiutt@fujitsu.com |
---|---|
State | New |
Headers | show |
Series | [V1] coreutils: Add gcc parameter for ptest | expand |
Hello Qiu, On Fri, 14 Apr 2023 16:53:20 +0800 "qiutt@fujitsu.com" <qiutt@fujitsu.com> wrote: > From: Qiu Tingting <qiutt@fujitsu.com> > > 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: > In these cases, k.c file is created and compiled by gcc before run. > There is a stdio.h file in /usr/include/ directory, > but gcc parameter is not set it. > > solution: > Add "-l /usr/include/" in gcc parameter. Why "-l"? Shouldn't it be "-I"? Best regards, Luca
On Fri, 2023-04-14 at 16:53 +0800, qiutt@fujitsu.com wrote: > From: Qiu Tingting <qiutt@fujitsu.com> > > 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: > In these cases, k.c file is created and compiled by gcc before run. > There is a stdio.h file in /usr/include/ directory, > but gcc parameter is not set it. > > solution: > Add "-l /usr/include/" in gcc parameter. > > other: > If gcc is not installed in image, these cases will be skipped. > > Signed-off-by: Qiu Tingting <qiutt@fujitsu.com> > --- > meta/recipes-core/coreutils/coreutils_9.1.bb | 1 + > 1 file changed, 1 insertion(+) I'm a bit puzzled by this. Wouldn't on target gcc have /usr/include as part of it's default search path? Why isn't the default search path working? Cheers, Richard > > diff --git a/meta/recipes-core/coreutils/coreutils_9.1.bb b/meta/recipes-core/coreutils/coreutils_9.1.bb > index 4807eefd04..fe785b673d 100644 > --- a/meta/recipes-core/coreutils/coreutils_9.1.bb > +++ b/meta/recipes-core/coreutils/coreutils_9.1.bb > @@ -184,6 +184,7 @@ do_install_ptest () { > install ${S}/build-aux/test-driver ${D}${PTEST_PATH}/build-aux/ > cp ${B}/Makefile ${D}${PTEST_PATH}/ > cp ${S}/init.cfg ${D}${PTEST_PATH}/ > + sed -i 's/CC -Wall -shared/CC -Wall -shared -l \/usr\/include\//g' ${D}${PTEST_PATH}/init.cfg > cp -r ${B}/src ${D}${PTEST_PATH}/ > cp -r ${S}/src/*.c ${D}${PTEST_PATH}/src > sed -i '/^VPATH/s/= .*$/= ./g' ${D}${PTEST_PATH}/Makefile > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#179993): https://lists.openembedded.org/g/openembedded-core/message/179993 > Mute This Topic: https://lists.openembedded.org/mt/98258324/1686473 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [richard.purdie@linuxfoundation.org] > -=-=-=-=-=-=-=-=-=-=-=- >
On Fri, Apr 14, 2023 at 3:06 AM Richard Purdie <richard.purdie@linuxfoundation.org> wrote: > > On Fri, 2023-04-14 at 16:53 +0800, qiutt@fujitsu.com wrote: > > From: Qiu Tingting <qiutt@fujitsu.com> > > > > 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: > > In these cases, k.c file is created and compiled by gcc before run. > > There is a stdio.h file in /usr/include/ directory, > > but gcc parameter is not set it. > > > > solution: > > Add "-l /usr/include/" in gcc parameter. > > > > other: > > If gcc is not installed in image, these cases will be skipped. > > > > Signed-off-by: Qiu Tingting <qiutt@fujitsu.com> > > --- > > meta/recipes-core/coreutils/coreutils_9.1.bb | 1 + > > 1 file changed, 1 insertion(+) > > > I'm a bit puzzled by this. Wouldn't on target gcc have /usr/include as > part of it's default search path? Why isn't the default search path > working? yeah. Perhaps looking at full compiler commandline used just for this test would help maybe there is something like -ffreestanding or something passed to it. > > Cheers, > > Richard > > > > > > diff --git a/meta/recipes-core/coreutils/coreutils_9.1.bb b/meta/recipes-core/coreutils/coreutils_9.1.bb > > index 4807eefd04..fe785b673d 100644 > > --- a/meta/recipes-core/coreutils/coreutils_9.1.bb > > +++ b/meta/recipes-core/coreutils/coreutils_9.1.bb > > @@ -184,6 +184,7 @@ do_install_ptest () { > > install ${S}/build-aux/test-driver ${D}${PTEST_PATH}/build-aux/ > > cp ${B}/Makefile ${D}${PTEST_PATH}/ > > cp ${S}/init.cfg ${D}${PTEST_PATH}/ > > + sed -i 's/CC -Wall -shared/CC -Wall -shared -l \/usr\/include\//g' ${D}${PTEST_PATH}/init.cfg > > cp -r ${B}/src ${D}${PTEST_PATH}/ > > cp -r ${S}/src/*.c ${D}${PTEST_PATH}/src > > sed -i '/^VPATH/s/= .*$/= ./g' ${D}${PTEST_PATH}/Makefile > > > > > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#179996): https://lists.openembedded.org/g/openembedded-core/message/179996 > Mute This Topic: https://lists.openembedded.org/mt/98258324/1997914 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- >
Hi Luca, > -----Original Message----- > From: Luca Ceresoli <luca.ceresoli@bootlin.com> > Sent: Friday, April 14, 2023 5:41 PM > To: Qiu, Tingting/仇 婷婷 <qiutt@fujitsu.com> > Cc: openembedded-core@lists.openembedded.org; FNST fnstml-fujitsuten > <fnstml-fujitsuten@fujitsu.com> > Subject: Re: [OE-core] [PATCH V1] coreutils: Add gcc parameter for ptest > > Hello Qiu, > > On Fri, 14 Apr 2023 16:53:20 +0800 > "qiutt@fujitsu.com" <qiutt@fujitsu.com> wrote: > > > From: Qiu Tingting <qiutt@fujitsu.com> > > > > 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: > > In these cases, k.c file is created and compiled by gcc before run. > > There is a stdio.h file in /usr/include/ directory, > > but gcc parameter is not set it. > > > > solution: > > Add "-l /usr/include/" in gcc parameter. > > Why "-l"? Shouldn't it be "-I"? Yes, it should be "-I". Thanks Best regards, Qiu Tingting > > Best regards, > Luca > > -- > Luca Ceresoli, Bootlin > Embedded Linux and Kernel engineering > https://bootlin.com
> -----Original Message----- > From: Khem Raj <raj.khem@gmail.com> > Sent: Saturday, April 15, 2023 12:11 AM > To: Richard Purdie <richard.purdie@linuxfoundation.org> > Cc: Qiu, Tingting/仇 婷婷 <qiutt@fujitsu.com>; > openembedded-core@lists.openembedded.org; FNST fnstml-fujitsuten > <fnstml-fujitsuten@fujitsu.com> > Subject: Re: [OE-core] [PATCH V1] coreutils: Add gcc parameter for ptest > > On Fri, Apr 14, 2023 at 3:06 AM Richard Purdie > <richard.purdie@linuxfoundation.org> wrote: > > > > On Fri, 2023-04-14 at 16:53 +0800, qiutt@fujitsu.com wrote: > > > From: Qiu Tingting <qiutt@fujitsu.com> > > > > > > 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: > > > In these cases, k.c file is created and compiled by gcc before run. > > > There is a stdio.h file in /usr/include/ directory, > > > but gcc parameter is not set it. > > > > > > solution: > > > Add "-l /usr/include/" in gcc parameter. > > > > > > other: > > > If gcc is not installed in image, these cases will be skipped. > > > > > > Signed-off-by: Qiu Tingting <qiutt@fujitsu.com> > > > --- > > > meta/recipes-core/coreutils/coreutils_9.1.bb | 1 + > > > 1 file changed, 1 insertion(+) > > > > > > I'm a bit puzzled by this. Wouldn't on target gcc have /usr/include as > > part of it's default search path? Why isn't the default search path > > working? > > yeah. Perhaps looking at full compiler commandline used just for this test > would help maybe there is something like -ffreestanding or something passed > to it. Normal gcc have /usr/include as part of its default search path. I used aarch64-agl-linux-gcc for aarch64 board, which does not search this path. Best regards, Qiu Tingting > > > > > Cheers, > > > > Richard > > > > > > > > > > diff --git a/meta/recipes-core/coreutils/coreutils_9.1.bb > > > b/meta/recipes-core/coreutils/coreutils_9.1.bb > > > index 4807eefd04..fe785b673d 100644 > > > --- a/meta/recipes-core/coreutils/coreutils_9.1.bb > > > +++ b/meta/recipes-core/coreutils/coreutils_9.1.bb > > > @@ -184,6 +184,7 @@ do_install_ptest () { > > > install ${S}/build-aux/test-driver ${D}${PTEST_PATH}/build-aux/ > > > cp ${B}/Makefile ${D}${PTEST_PATH}/ > > > cp ${S}/init.cfg ${D}${PTEST_PATH}/ > > > + sed -i 's/CC -Wall -shared/CC -Wall -shared -l > > > + \/usr\/include\//g' ${D}${PTEST_PATH}/init.cfg > > > cp -r ${B}/src ${D}${PTEST_PATH}/ > > > cp -r ${S}/src/*.c ${D}${PTEST_PATH}/src > > > sed -i '/^VPATH/s/= .*$/= ./g' ${D}${PTEST_PATH}/Makefile > > > > > > > > > > > > -=-=-=-=-=-=-=-=-=-=-=- > > Links: You receive all messages sent to this group. > > View/Reply Online (#179996): > > https://lists.openembedded.org/g/openembedded-core/message/179996 > > Mute This Topic: https://lists.openembedded.org/mt/98258324/1997914 > > Group Owner: openembedded-core+owner@lists.openembedded.org > > Unsubscribe: > https://lists.openembedded.org/g/openembedded-core/unsub > > [raj.khem@gmail.com] > > -=-=-=-=-=-=-=-=-=-=-=- > >
On Mon, Apr 17, 2023 at 6:05 PM Tingting Qiu (Fujitsu) <qiutt@fujitsu.com> wrote: > > > > -----Original Message----- > > From: Khem Raj <raj.khem@gmail.com> > > Sent: Saturday, April 15, 2023 12:11 AM > > To: Richard Purdie <richard.purdie@linuxfoundation.org> > > Cc: Qiu, Tingting/仇 婷婷 <qiutt@fujitsu.com>; > > openembedded-core@lists.openembedded.org; FNST fnstml-fujitsuten > > <fnstml-fujitsuten@fujitsu.com> > > Subject: Re: [OE-core] [PATCH V1] coreutils: Add gcc parameter for ptest > > > > On Fri, Apr 14, 2023 at 3:06 AM Richard Purdie > > <richard.purdie@linuxfoundation.org> wrote: > > > > > > On Fri, 2023-04-14 at 16:53 +0800, qiutt@fujitsu.com wrote: > > > > From: Qiu Tingting <qiutt@fujitsu.com> > > > > > > > > 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: > > > > In these cases, k.c file is created and compiled by gcc before run. > > > > There is a stdio.h file in /usr/include/ directory, > > > > but gcc parameter is not set it. > > > > > > > > solution: > > > > Add "-l /usr/include/" in gcc parameter. > > > > > > > > other: > > > > If gcc is not installed in image, these cases will be skipped. > > > > > > > > Signed-off-by: Qiu Tingting <qiutt@fujitsu.com> > > > > --- > > > > meta/recipes-core/coreutils/coreutils_9.1.bb | 1 + > > > > 1 file changed, 1 insertion(+) > > > > > > > > > I'm a bit puzzled by this. Wouldn't on target gcc have /usr/include as > > > part of it's default search path? Why isn't the default search path > > > working? > > > > yeah. Perhaps looking at full compiler commandline used just for this > test > > would help maybe there is something like -ffreestanding or something > passed > > to it. > > Normal gcc have /usr/include as part of its default search path. > I used aarch64-agl-linux-gcc for aarch64 board, which does not search this > path. This should be a symlink to gcc on target so I wonder why it does not work > > Best regards, > Qiu Tingting > > > > > > > > Cheers, > > > > > > Richard > > > > > > > > > > > > > > diff --git a/meta/recipes-core/coreutils/coreutils_9.1.bb > > > > b/meta/recipes-core/coreutils/coreutils_9.1.bb > > > > index 4807eefd04..fe785b673d 100644 > > > > --- a/meta/recipes-core/coreutils/coreutils_9.1.bb > > > > +++ b/meta/recipes-core/coreutils/coreutils_9.1.bb > > > > @@ -184,6 +184,7 @@ do_install_ptest () { > > > > install ${S}/build-aux/test-driver ${D}${PTEST_PATH}/build-aux/ > > > > cp ${B}/Makefile ${D}${PTEST_PATH}/ > > > > cp ${S}/init.cfg ${D}${PTEST_PATH}/ > > > > + sed -i 's/CC -Wall -shared/CC -Wall -shared -l > > > > + \/usr\/include\//g' ${D}${PTEST_PATH}/init.cfg > > > > cp -r ${B}/src ${D}${PTEST_PATH}/ > > > > cp -r ${S}/src/*.c ${D}${PTEST_PATH}/src > > > > sed -i '/^VPATH/s/= .*$/= ./g' ${D}${PTEST_PATH}/Makefile > > > > > > > > > > > > > > > > > -=-=-=-=-=-=-=-=-=-=-=- > > > Links: You receive all messages sent to this group. > > > View/Reply Online (#179996): > > > https://lists.openembedded.org/g/openembedded-core/message/179996 > > > Mute This Topic: https://lists.openembedded.org/mt/98258324/1997914 > > > Group Owner: openembedded-core+owner@lists.openembedded.org > > > Unsubscribe: > > https://lists.openembedded.org/g/openembedded-core/unsub > > > [raj.khem@gmail.com] > > > -=-=-=-=-=-=-=-=-=-=-=- > > > >
From: Khem Raj <raj.khem@gmail.com> Sent: Tuesday, April 18, 2023 9:14 AM To: Qiu, Tingting/仇 婷婷 <qiutt@fujitsu.com> Cc: Richard Purdie <richard.purdie@linuxfoundation.org>; FNST fnstml-fujitsuten <fnstml-fujitsuten@fujitsu.com>; openembedded-core@lists.openembedded.org Subject: Re: [OE-core] [PATCH V1] coreutils: Add gcc parameter for ptest On Mon, Apr 17, 2023 at 6:05 PM Tingting Qiu (Fujitsu) <qiutt@fujitsu.com<mailto:qiutt@fujitsu.com>> wrote: > -----Original Message----- > From: Khem Raj <raj.khem@gmail.com<mailto:raj.khem@gmail.com>> > Sent: Saturday, April 15, 2023 12:11 AM > To: Richard Purdie <richard.purdie@linuxfoundation.org<mailto:richard.purdie@linuxfoundation.org>> > Cc: Qiu, Tingting/仇 婷婷 <qiutt@fujitsu.com<mailto:qiutt@fujitsu.com>>; > openembedded-core@lists.openembedded.org<mailto:openembedded-core@lists.openembedded.org>; FNST fnstml-fujitsuten > <fnstml-fujitsuten@fujitsu.com<mailto:fnstml-fujitsuten@fujitsu.com>> > Subject: Re: [OE-core] [PATCH V1] coreutils: Add gcc parameter for ptest > > On Fri, Apr 14, 2023 at 3:06 AM Richard Purdie > <richard.purdie@linuxfoundation.org<mailto:richard.purdie@linuxfoundation.org>> wrote: > > > > On Fri, 2023-04-14 at 16:53 +0800, qiutt@fujitsu.com<mailto:qiutt@fujitsu.com> wrote: > > > From: Qiu Tingting <qiutt@fujitsu.com<mailto:qiutt@fujitsu.com>> > > > > > > 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: > > > In these cases, k.c file is created and compiled by gcc before run. > > > There is a stdio.h file in /usr/include/ directory, > > > but gcc parameter is not set it. > > > > > > solution: > > > Add "-l /usr/include/" in gcc parameter. > > > > > > other: > > > If gcc is not installed in image, these cases will be skipped. > > > > > > Signed-off-by: Qiu Tingting <qiutt@fujitsu.com<mailto:qiutt@fujitsu.com>> > > > --- > > > meta/recipes-core/coreutils/coreutils_9.1.bb<http://coreutils_9.1.bb> | 1 + > > > 1 file changed, 1 insertion(+) > > > > > > I'm a bit puzzled by this. Wouldn't on target gcc have /usr/include as > > part of it's default search path? Why isn't the default search path > > working? > > yeah. Perhaps looking at full compiler commandline used just for this test > would help maybe there is something like -ffreestanding or something passed > to it. Normal gcc have /usr/include as part of its default search path. I used aarch64-agl-linux-gcc for aarch64 board, which does not search this path. This should be a symlink to gcc on target so I wonder why it does not work First, see the coreutils’ files which installed on target. ================ Makefile -->created by cross-compile build-aux init.cfg --> copied from src run-ptest tests ================ In Makefile, CC is defined by aarch64-agl-linux-gcc with --sysroot=recipe-sysroot. CC = aarch64-agl-linux-gcc -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=recipe-sysroot In init.cfg, CC is used to compile k.c file. $CC -Wall -shared --std=gnu99 -fPIC -O2 $* "$in" -o "$out" $gcc_shared_libs_ Because of “--sysroot=recipe-sysroot”, it does not work. So, we could add “-I /usr/include” in Makefile or init.cfg, or delete “--sysroot=recipe-sysroot” from Makefile. Which one is better? Let me know, and I will send the patch v2. thanks. Best regards, Qiu Tingting Best regards, Qiu Tingting > > > > > Cheers, > > > > Richard > > > > > > > > > > diff --git a/meta/recipes-core/coreutils/coreutils_9.1.bb<http://coreutils_9.1.bb> > > > b/meta/recipes-core/coreutils/coreutils_9.1.bb<http://coreutils_9.1.bb> > > > index 4807eefd04..fe785b673d 100644 > > > --- a/meta/recipes-core/coreutils/coreutils_9.1.bb<http://coreutils_9.1.bb> > > > +++ b/meta/recipes-core/coreutils/coreutils_9.1.bb<http://coreutils_9.1.bb> > > > @@ -184,6 +184,7 @@ do_install_ptest () { > > > install ${S}/build-aux/test-driver ${D}${PTEST_PATH}/build-aux/ > > > cp ${B}/Makefile ${D}${PTEST_PATH}/ > > > cp ${S}/init.cfg ${D}${PTEST_PATH}/ > > > + sed -i 's/CC -Wall -shared/CC -Wall -shared -l > > > + \/usr\/include\//g' ${D}${PTEST_PATH}/init.cfg > > > cp -r ${B}/src ${D}${PTEST_PATH}/ > > > cp -r ${S}/src/*.c ${D}${PTEST_PATH}/src > > > sed -i '/^VPATH/s/= .*$/= ./g' ${D}${PTEST_PATH}/Makefile > > > > > > > > > > > > -=-=-=-=-=-=-=-=-=-=-=- > > Links: You receive all messages sent to this group. > > View/Reply Online (#179996): > > https://lists.openembedded.org/g/openembedded-core/message/179996 > > Mute This Topic: https://lists.openembedded.org/mt/98258324/1997914 > > Group Owner: openembedded-core+owner@lists.openembedded.org<mailto:openembedded-core%2Bowner@lists.openembedded.org> > > Unsubscribe: > https://lists.openembedded.org/g/openembedded-core/unsub > > [raj.khem@gmail.com<mailto:raj.khem@gmail.com>] > > -=-=-=-=-=-=-=-=-=-=-=- > >
> > > > This should be a symlink to gcc on target so I wonder why it does not work > > > First, see the coreutils’ files which installed on target. ================ Makefile -->created by cross-compile build-aux init.cfg --> copied from src run-ptest tests ================ In Makefile, CC is defined by aarch64-agl-linux-gcc with --sysroot=recipe-sysroot. CC = aarch64-agl-linux-gcc -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=recipe-sysroot In init.cfg, CC is used to compile k.c file. $CC -Wall -shared --std=gnu99 -fPIC -O2 $* "$in" -o "$out" $gcc_shared_libs_ Because of “ --sysroot=recipe-sysroot ” , it does not work. So, we could add “ -I /usr/include ” in Makefile or init.cfg, or delete “ --sysroot=recipe-sysroot ” from Makefile. Which one is better? Let me know, and I will send the patch v2. thanks.
On Mon, Apr 17, 2023 at 8:42 PM qiutt@fujitsu.com <qiutt@fujitsu.com> wrote: > This should be a symlink to gcc on target so I wonder why it does not work > > First, see the coreutils’ files which installed on target. > > ================ > > Makefile -->created by cross-compile > > build-aux > > init.cfg --> copied from src > > run-ptest > > tests > > ================ > > In Makefile, CC is defined by aarch64-agl-linux-gcc with > --sysroot=recipe-sysroot. > > CC = aarch64-agl-linux-gcc -fstack-protector-strong -O2 > -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security > --sysroot=recipe-sysroot > > In init.cfg, CC is used to compile k.c file. > > $CC -Wall -shared --std=gnu99 -fPIC -O2 $* "$in" -o "$out" > $gcc_shared_libs_ > > Because of “--sysroot=recipe-sysroot”, it does not work. > > So, we could add “-I /usr/include” in Makefile or init.cfg, or delete “ > --sysroot=recipe-sysroot” from Makefile. > > Which one is better? > Delete sysroot > Let me know, and I will send the patch v2. > > thanks. > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#180174): > https://lists.openembedded.org/g/openembedded-core/message/180174 > Mute This Topic: https://lists.openembedded.org/mt/98258324/1997914 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [ > raj.khem@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- > >
diff --git a/meta/recipes-core/coreutils/coreutils_9.1.bb b/meta/recipes-core/coreutils/coreutils_9.1.bb index 4807eefd04..fe785b673d 100644 --- a/meta/recipes-core/coreutils/coreutils_9.1.bb +++ b/meta/recipes-core/coreutils/coreutils_9.1.bb @@ -184,6 +184,7 @@ do_install_ptest () { install ${S}/build-aux/test-driver ${D}${PTEST_PATH}/build-aux/ cp ${B}/Makefile ${D}${PTEST_PATH}/ cp ${S}/init.cfg ${D}${PTEST_PATH}/ + sed -i 's/CC -Wall -shared/CC -Wall -shared -l \/usr\/include\//g' ${D}${PTEST_PATH}/init.cfg cp -r ${B}/src ${D}${PTEST_PATH}/ cp -r ${S}/src/*.c ${D}${PTEST_PATH}/src sed -i '/^VPATH/s/= .*$/= ./g' ${D}${PTEST_PATH}/Makefile