[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
> 
>