[Fuego] 回覆: aarch64-linux-gnu-g++: err or: unrecognized command line option '-V'
Daniel Lin 林源祥 <[email protected]> Thu, 27 Aug 2020 02:07:48 +0000
| Newsgroups | dev.linux.lists.fuego |
|---|---|
| Message-ID | <SG2PR01MB215738426C3451201A4762E6FD550@SG2PR01MB2157.apcprd01.prod.exchangelabs.com> |
Hi Tim,
Thanks for your reply.Finally I found the solution is at the file aarch64-tools.sh.
I have two fuego hosts,there are different LDFLAGS variable inside the aarch64-tools.sh
The work host that the LDFLAGS is empty.see below.So I set the
"LDFLAGS=" inside the aarch64-tools.sh and can compiled successfully.
I felt weired,I didn't change this file before.anyway,this way let my fuego work great!
#:~/fuego/fuego-ro/toolchains$ cat aarch64-tools.sh
# fuego toolchain script
# this sets up the environment needed for fuego to use a toolchain
# this includes the following variables:
# CC, CXX, CPP, CXXCPP, CONFIGURE_FLAGS, AS, LD, ARCH
# CROSS_COMPILE, PREFIX, HOST, SDKROOT
# CFLAGS and LDFLAGS are optional
#
# this script should be sourced by ${FUEGO_RO}/toolchains/tools.sh
PREFIX=aarch64-linux-gnu
SDKROOT=/usr/$PREFIX
export_tools
# avoid "could not find -lm" errors
#LDFLAGS="--sysroot ${SDKROOT} -lm"
LDFLAGS=
==============================================================
Regard to the subject line,the message is captured from config.log.
at first,guess the gcc version is too new,sorry for confused you.
(I'm a bit confused by your subject line, I don't see the message
"error: unrecognized command line option '-V"
anywhere in the build log.)
Thanks
Daniel Lin
-----原始]件-----
寄件者: Bird, Tim <[email protected]>
寄件日期: 2020年8月27日 上午 04:23
收件者: Daniel Lin 林源祥 <[email protected]>; [email protected]
主旨: RE: [Fuego] aarch64-linux-gnu-g++: error: unrecognized command line option '-V'
> -----Original Message-----
> From: Daniel Lin
>
> Hi Tim & all,
>
> Currently I encounter the following error.
> First of all, all test cases can be compiled and ran successfully.
> But I didn’t know why encounter errors, is it gcc too new?
>
> Thanks
> Daniel Lin
>
>
>
> Started by user unknown or anonymous
> [EnvInject] - Loading node environment variables.
> Building remotely on evb_ddr4_89
> <http://10.34.33.142:8090/fuego/computer/evb_ddr4_89> in workspace
> /fuego-rw/buildzone [buildzone] $ /bin/sh -xe
> /tmp/jenkins5214881772987557194.sh
> + export FUEGO_CALLER=jenkins
> + FUEGO_CALLER=jenkins
> + ftc run-test -b evb_ddr4_89 -t Benchmark.cyclictest -s default
> + --timeout 6m --reboot false --rebuild false --precleanup true
> + --postcleanup
> true
> Running test 'Benchmark.cyclictest' on board 'evb_ddr4_89' using spec 'default'
> ===== doing fuego phase: pre_test ===== /proc/config.gz not found,
> trying /boot/config-4.9.38-00075-g041b5f8
> /boot/config-4.9.38-00075-g041b5f8 not found Checking cfg:
> [CONFIG_RT_GROUP_SCHED=y]
> grep:
> /fuego-rw/logs/Benchmark.cyclictest/evb_ddr4_89.default.89.89/kconfig:
> No such file or directory
> 2
> ===== doing fuego phase: build =====
> Unpacking ../rt-tests/rt-tests-v1.1.1.tar.gz
> aarch64-linux-gnu-gcc -D VERSION=1.1 -c src/cyclictest/cyclictest.c
> -Wall -Wno-nonnull -O2 -D_GNU_SOURCE -Isrc/include -o bld/cyclictest.o
> src/cyclictest/cyclictest.c: In function 'timerthread':
> src/cyclictest/cyclictest.c:427:30: warning: '*((void *)&stop+8)' may be used uninitialized in this function [-Wmaybe-uninitialized]
> diff += ((int) t1.tv_nsec - (int) t2.tv_nsec) / 1000;
> ^~~~~~~~~~~~~~~~
> src/cyclictest/cyclictest.c:980:39: note: '*((void *)&stop+8)' was declared here
> struct timespec now, next, interval, stop;
> ^~~~
> src/cyclictest/cyclictest.c:426:54: warning: 'stop.tv_sec' may be used uninitialized in this function [-Wmaybe-uninitialized]
> diff = USEC_PER_SEC * (long long)((int) t1.tv_sec - (int) t2.tv_sec);
> ^~~~~~~~~~~~~~~
> src/cyclictest/cyclictest.c:980:39: note: 'stop.tv_sec' was declared here
> struct timespec now, next, interval, stop;
> ^~~~
You can ignore these warnings.
> aarch64-linux-gnu-gcc -D VERSION=1.1 -c src/lib/error.c -Wall
> -Wno-nonnull -O2 -D_GNU_SOURCE -Isrc/include -o bld/error.o
> aarch64-linux-gnu-gcc -D VERSION=1.1 -c src/lib/rt-get_cpu.c -Wall
> -Wno-nonnull -O2 -D_GNU_SOURCE -Isrc/include -o bld/rt-get_cpu.o
> aarch64-linux-gnu-gcc -D VERSION=1.1 -c src/lib/rt-sched.c -Wall
> -Wno-nonnull -O2 -D_GNU_SOURCE -Isrc/include -o bld/rt-sched.o
> aarch64-linux-gnu-gcc -D VERSION=1.1 -c src/lib/rt-utils.c -Wall
> -Wno-nonnull -O2 -D_GNU_SOURCE -Isrc/include -o bld/rt-utils.o
> aarch64-linux-gnu-ar rcs bld/librttest.a bld/error.o bld/rt-get_cpu.o
> bld/rt-sched.o bld/rt-utils.o aarch64-linux-gnu-gcc -Wall -Wno-nonnull
> -O2 --sysroot /usr/aarch64-linux-gnu -lm -o cyclictest
> bld/cyclictest.o -lrt -lpthread -lrttest -Lbld
This is the line that is actually failing, in the build.
(I'm a bit confused by your subject line, I don't see the message
"error: unrecognized command line option '-V"
anywhere in the build log.)
> /usr/lib/gcc-cross/aarch64-linux-gnu/6/../../../../aarch64-linux-gnu/b
> in/ld: cannot find /usr/aarch64-linux-gnu/lib/libpthread.so.0 inside
> /usr/aarch64-linux-gnu
> /usr/lib/gcc-cross/aarch64-linux-gnu/6/../../../../aarch64-linux-gnu/b
> in/ld: cannot find /usr/aarch64-linux-gnu/lib/libpthread_nonshared.a
> inside /usr/aarch64-linux-gnu
> collect2: error: ld returned 1 exit status
You seem to be missing libpthread for this architecture.
Your SDK seems incomplete.
Where did you get your aarch64 SDK?
I have two different aarch64 (arm64) SDKs on my system, one from yocto, and one from Debian stretch, and they both seem to work fine to build Benchmark.cyclictest.
I installed the Debian one inside the container with this command:
$ cd /fuego-ro/toolchains ; ./install_cross_toolchain.sh arm64
-- Tim
> Makefile:107: recipe for target 'cyclictest' failed
> make: *** [cyclictest] Error 1
> In Fuego signal_handler (due to error in build phase) ##### doing
> fuego phase: post_test (from signal handler) #####
> scp:
> /mnt/data/home/a/fuego.Benchmark.cyclictest/Benchmark.cyclictest.log:
> No such file or directory
> INFO: the test did not produce a test log on the target ##### doing
> fuego phase: processing (from signal handler) ##### ### WARNING:
> Program returned exit code ''
> ### WARNING: Log evaluation may be invalid !!! ERROR: No value in
> check_measure - returning SKIP !!! ERROR: No value in check_measure -
> returning SKIP !!! ERROR: No value in check_measure - returning SKIP
> ERROR: results did not satisfy the threshold Build step 'Execute
> shell' marked build as failure [description-setter] Description set:
> <a
> href="/fuego/userContent/fuego.logs/Benchmark.cyclictest/evb_ddr4_89.d
> efault.89.89/testlog.txt">testlog</a> <a
> href="/fuego/userContent/fuego.logs/Benchmark.cyclictest/evb_ddr4_89.d
> efault.89.89/run.json">run.json</a> <a
> href="/fuego/userContent/fuego.logs/Benchmark.cyclictest/evb_ddr4_89.d
> efault.89.89/consolelog.txt">fuegolog</a> <a
> href="/fuego/userContent/fuego.logs/Benchmark.cyclictest/evb_ddr4_89.d
> efault.89.89/devlog.txt">devlog</a> <a
> href="/fuego/userContent/fuego.logs/Benchmark.cyclictest/evb_ddr4_89.default.89.89/prolog.sh">prolog.sh</a>
> Finished: FAILURE
>
>