Re: [Fuego] aarch64-linux-gnu-g++: error: unrecognized command line option '-V'

"Bird, Tim" <[email protected]> Thu, 27 Aug 2020 15:47:35 +0000
Newsgroups dev.linux.lists.fuego
Message-ID <CY4PR13MB11758E511499F25256F59232FD550@CY4PR13MB1175.namprd13.prod.outlook.com>
Daniel,

Thanks for reporting back your results.  It is very helpful to know what
the problem and solution was.  I'm glad to hear it's working for you!
 -- Tim


> -----Original Message-----
> From: Daniel Lin 林源祥 <[email protected]>
> 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
> >
> >