Open GeorgeOnwubuya opened 4 years ago
You need to get more error messages to diagnose this. I don't have a gcc installation on my development machine so can't check this. If you look in buildall.py you'll be able to see which flags give you the messages you need. I think you need -v (verbose)>
@GeorgeOnwubuya There should be a log file created (in the logs
directory by default I think). If you can post that is should have more information.
I have posted the log file below
Log file: /Users/user/embench-iot/logs/build-2020-10-06-221935.log
--builddir : bd --logdir : logs --arch : arm --chip : cortex-m4 --board : generic --cc : None --ld : None --cflags : None --ldflags : None --env : None --cc-define1-pattern : None --cc-define2-pattern : None --cc-incdir-pattern : None --cc-input-pattern : None --cc-output-pattern : None --ld-input-pattern : None --ld-output-pattern : None --user-libs : None --dummy-libs : None --cpu-mhz : None --warmup-heat : None --verbose : False --clean : False --timeout : 5
aha-mont64 crc32 cubic edn huffbench matmult-int minver nbody nettle-aes nettle-sha256 nsichneu picojpeg qrduino sglib-combined slre st statemate ud wikisort
rootdir : /Users/user/embench-iot verbose : False bd : /Users/user/embench-iot/bd configdir : /Users/user/embench-iot/config bd_configdir : /Users/user/embench-iot/bd/config archdir : /Users/user/embench-iot/config/arm bd_archdir : /Users/user/embench-iot/bd/config/arm chipdir : /Users/user/embench-iot/config/arm/chips/cortex-m4 bd_chipdir : /Users/user/embench-iot/bd/config/arm/chips/cortex-m4 boarddir : /Users/user/embench-iot/config/arm/boards/generic bd_boarddir : /Users/user/embench-iot/bd/config/arm/boards/generic env : {} benchdir : /Users/user/embench-iot/src bd_benchdir : /Users/user/embench-iot/bd/src supportdir : /Users/user/embench-iot/support bd_supportdir : /Users/user/embench-iot/bd/support cflags : ['-I/Users/user/embench-iot/support', '-I/Users/user/embench-iot/config/arm/boards/generic', '-I/Users/user/embench-iot/config/arm/chips/cortex-m4', '-I/Users/user/embench-iot/config/arm', '-DCPU_MHZ=1', '-DWARMUP_HEAT=1'] ldflags : [] cc : arm-none-eabi-gcc cc_define1_pattern : -D{0} cc_define2_pattern : -D{0}={1} cc_incdir_pattern : -I{0} cc_input_pattern : {0} cc_output_pattern : -o {0} ld_input_pattern : {0} ld_output_pattern : -o {0} user_libs : {} dummy_libs : {} cpu_mhz : 1 warmup_heat : 1 timeout : 5 ld : arm-none-eabi-gcc
Warning: Compilation of beebsc.c from source directory /Users/user/embench-iot/support to binary directory /Users/user/embench-iot/bd/support failed Command was: arm-none-eabi-gcc -I/Users/user/embench-iot/support -I/Users/user/embench-iot/config/arm/boards/generic -I/Users/user/embench-iot/config/arm/chips/cortex-m4 -I/Users/user/embench-iot/config/arm -DCPU_MHZ=1 -DWARMUP_HEAT=1 -o beebsc.o /Users/user/embench-iot/support/beebsc.c
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function exit': exit.c:(.text.exit+0x2c): undefined reference to
_exit'
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/crt0.o: In function start': (.text+0xec): undefined reference to
main'
collect2: error: ld returned 1 exit status
Warning: Compilation of main.c from source directory /Users/user/embench-iot/support to binary directory /Users/user/embench-iot/bd/support failed Command was: arm-none-eabi-gcc -I/Users/user/embench-iot/support -I/Users/user/embench-iot/config/arm/boards/generic -I/Users/user/embench-iot/config/arm/chips/cortex-m4 -I/Users/user/embench-iot/config/arm -DCPU_MHZ=1 -DWARMUP_HEAT=1 -o main.o /Users/user/embench-iot/support/main.c
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function exit': exit.c:(.text.exit+0x2c): undefined reference to
_exit'
/var/folders/mz/l0j9fwqx5d51h7gyx621lbz80000gn/T//cciZTSCt.o: In function main': main.c:(.text+0x14): undefined reference to
initialise_board'
main.c:(.text+0x18): undefined reference to initialise_benchmark' main.c:(.text+0x20): undefined reference to
warm_caches'
main.c:(.text+0x24): undefined reference to start_trigger' main.c:(.text+0x28): undefined reference to
benchmark'
main.c:(.text+0x34): undefined reference to stop_trigger' main.c:(.text+0x40): undefined reference to
verify_benchmark'
collect2: error: ld returned 1 exit status
Warning: Compilation of chipsupport.c from source directory /Users/user/embench-iot/config/arm/chips/cortex-m4 to binary directory /Users/user/embench-iot/bd/config/arm/chips/cortex-m4 failed Command was: arm-none-eabi-gcc -I/Users/user/embench-iot/support -I/Users/user/embench-iot/config/arm/boards/generic -I/Users/user/embench-iot/config/arm/chips/cortex-m4 -I/Users/user/embench-iot/config/arm -DCPU_MHZ=1 -DWARMUP_HEAT=1 -o chipsupport.o /Users/user/embench-iot/config/arm/chips/cortex-m4/chipsupport.c
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function exit': exit.c:(.text.exit+0x2c): undefined reference to
_exit'
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/crt0.o: In function start': (.text+0xec): undefined reference to
main'
collect2: error: ld returned 1 exit status
Warning: Compilation of boardsupport.c from source directory /Users/user/embench-iot/config/arm/boards/generic to binary directory /Users/user/embench-iot/bd/config/arm/boards/generic failed Command was: arm-none-eabi-gcc -I/Users/user/embench-iot/support -I/Users/user/embench-iot/config/arm/boards/generic -I/Users/user/embench-iot/config/arm/chips/cortex-m4 -I/Users/user/embench-iot/config/arm -DCPU_MHZ=1 -DWARMUP_HEAT=1 -o boardsupport.o /Users/user/embench-iot/config/arm/boards/generic/boardsupport.c
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function exit': exit.c:(.text.exit+0x2c): undefined reference to
_exit'
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/crt0.o: In function start': (.text+0xec): undefined reference to
main'
collect2: error: ld returned 1 exit status
Warning: Compilation of mont64.c from source directory /Users/user/embench-iot/src/aha-mont64 to binary directory /Users/user/embench-iot/bd/src/aha-mont64 failed Command was: arm-none-eabi-gcc -I/Users/user/embench-iot/support -I/Users/user/embench-iot/config/arm/boards/generic -I/Users/user/embench-iot/config/arm/chips/cortex-m4 -I/Users/user/embench-iot/config/arm -DCPU_MHZ=1 -DWARMUP_HEAT=1 -o mont64.o /Users/user/embench-iot/src/aha-mont64/mont64.c
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function exit': exit.c:(.text.exit+0x2c): undefined reference to
_exit'
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/crt0.o: In function start': (.text+0xec): undefined reference to
main'
collect2: error: ld returned 1 exit status
Warning: Compilation of crc_32.c from source directory /Users/user/embench-iot/src/crc32 to binary directory /Users/user/embench-iot/bd/src/crc32 failed Command was: arm-none-eabi-gcc -I/Users/user/embench-iot/support -I/Users/user/embench-iot/config/arm/boards/generic -I/Users/user/embench-iot/config/arm/chips/cortex-m4 -I/Users/user/embench-iot/config/arm -DCPU_MHZ=1 -DWARMUP_HEAT=1 -o crc_32.o /Users/user/embench-iot/src/crc32/crc_32.c
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function exit': exit.c:(.text.exit+0x2c): undefined reference to
_exit'
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/crt0.o: In function start': (.text+0xec): undefined reference to
main'
/var/folders/mz/l0j9fwqx5d51h7gyx621lbz80000gn/T//ccwbdQrN.o: In function crc32pseudo': crc_32.c:(.text+0x1c): undefined reference to
rand_beebs'
/var/folders/mz/l0j9fwqx5d51h7gyx621lbz80000gn/T//ccwbdQrN.o: In function benchmark_body': crc_32.c:(.text+0xfc): undefined reference to
srand_beebs'
collect2: error: ld returned 1 exit status
Warning: Compilation of libcubic.c from source directory /Users/user/embench-iot/src/cubic to binary directory /Users/user/embench-iot/bd/src/cubic failed Command was: arm-none-eabi-gcc -I/Users/user/embench-iot/support -I/Users/user/embench-iot/config/arm/boards/generic -I/Users/user/embench-iot/config/arm/chips/cortex-m4 -I/Users/user/embench-iot/config/arm -DCPU_MHZ=1 -DWARMUP_HEAT=1 -o libcubic.o /Users/user/embench-iot/src/cubic/libcubic.c
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function exit': exit.c:(.text.exit+0x2c): undefined reference to
_exit'
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/crt0.o: In function start': (.text+0xec): undefined reference to
main'
/var/folders/mz/l0j9fwqx5d51h7gyx621lbz80000gn/T//ccOwQJlA.o: In function SolveCubic': libcubic.c:(.text+0x2e4): undefined reference to
sqrt'
libcubic.c:(.text+0x314): undefined reference to acos' libcubic.c:(.text+0x328): undefined reference to
sqrt'
libcubic.c:(.text+0x37c): undefined reference to cos' libcubic.c:(.text+0x3fc): undefined reference to
sqrt'
libcubic.c:(.text+0x46c): undefined reference to cos' libcubic.c:(.text+0x4e8): undefined reference to
sqrt'
libcubic.c:(.text+0x558): undefined reference to cos' libcubic.c:(.text+0x5dc): undefined reference to
sqrt'
libcubic.c:(.text+0x620): undefined reference to `pow'
collect2: error: ld returned 1 exit status
Warning: Compilation of basicmath_small.c from source directory /Users/user/embench-iot/src/cubic to binary directory /Users/user/embench-iot/bd/src/cubic failed Command was: arm-none-eabi-gcc -I/Users/user/embench-iot/support -I/Users/user/embench-iot/config/arm/boards/generic -I/Users/user/embench-iot/config/arm/chips/cortex-m4 -I/Users/user/embench-iot/config/arm -DCPU_MHZ=1 -DWARMUP_HEAT=1 -o basicmath_small.o /Users/user/embench-iot/src/cubic/basicmath_small.c
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function exit': exit.c:(.text.exit+0x2c): undefined reference to
_exit'
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/crt0.o: In function start': (.text+0xec): undefined reference to
main'
/var/folders/mz/l0j9fwqx5d51h7gyx621lbz80000gn/T//ccg1JLot.o: In function benchmark_body': basicmath_small.c:(.text+0x384): undefined reference to
SolveCubic'
basicmath_small.c:(.text+0x3ec): undefined reference to SolveCubic' basicmath_small.c:(.text+0x448): undefined reference to
SolveCubic'
basicmath_small.c:(.text+0x488): undefined reference to SolveCubic' basicmath_small.c:(.text+0x518): undefined reference to
SolveCubic'
collect2: error: ld returned 1 exit status
Warning: Compilation of libedn.c from source directory /Users/user/embench-iot/src/edn to binary directory /Users/user/embench-iot/bd/src/edn failed Command was: arm-none-eabi-gcc -I/Users/user/embench-iot/support -I/Users/user/embench-iot/config/arm/boards/generic -I/Users/user/embench-iot/config/arm/chips/cortex-m4 -I/Users/user/embench-iot/config/arm -DCPU_MHZ=1 -DWARMUP_HEAT=1 -o libedn.o /Users/user/embench-iot/src/edn/libedn.c
/Users/user/embench-iot/src/edn/libedn.c: In function 'benchmark_body': /Users/user/embench-iot/src/edn/libedn.c:364:7: error: 'for' loop initial declarations are only allowed in C99 mode /Users/user/embench-iot/src/edn/libedn.c:364:7: note: use option -std=c99 or -std=gnu99 to compile your code
Warning: Compilation of libhuffbench.c from source directory /Users/user/embench-iot/src/huffbench to binary directory /Users/user/embench-iot/bd/src/huffbench failed Command was: arm-none-eabi-gcc -I/Users/user/embench-iot/support -I/Users/user/embench-iot/config/arm/boards/generic -I/Users/user/embench-iot/config/arm/chips/cortex-m4 -I/Users/user/embench-iot/config/arm -DCPU_MHZ=1 -DWARMUP_HEAT=1 -o libhuffbench.o /Users/user/embench-iot/src/huffbench/libhuffbench.c
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function exit': exit.c:(.text.exit+0x2c): undefined reference to
_exit'
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/crt0.o: In function start': (.text+0xec): undefined reference to
main'
/var/folders/mz/l0j9fwqx5d51h7gyx621lbz80000gn/T//ccXZwkb6.o: In function compdecomp': libhuffbench.c:(.text+0x1cc): undefined reference to
malloc_beebs'
libhuffbench.c:(.text+0xd44): undefined reference to free_beebs' /var/folders/mz/l0j9fwqx5d51h7gyx621lbz80000gn/T//ccXZwkb6.o: In function
benchmark_body':
libhuffbench.c:(.text+0xe4c): undefined reference to `init_heap_beebs'
collect2: error: ld returned 1 exit status
Warning: Compilation of matmult-int.c from source directory /Users/user/embench-iot/src/matmult-int to binary directory /Users/user/embench-iot/bd/src/matmult-int failed Command was: arm-none-eabi-gcc -I/Users/user/embench-iot/support -I/Users/user/embench-iot/config/arm/boards/generic -I/Users/user/embench-iot/config/arm/chips/cortex-m4 -I/Users/user/embench-iot/config/arm -DCPU_MHZ=1 -DWARMUP_HEAT=1 -o matmult-int.o /Users/user/embench-iot/src/matmult-int/matmult-int.c
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function exit': exit.c:(.text.exit+0x2c): undefined reference to
_exit'
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/crt0.o: In function start': (.text+0xec): undefined reference to
main'
collect2: error: ld returned 1 exit status
Warning: Compilation of libminver.c from source directory /Users/user/embench-iot/src/minver to binary directory /Users/user/embench-iot/bd/src/minver failed Command was: arm-none-eabi-gcc -I/Users/user/embench-iot/support -I/Users/user/embench-iot/config/arm/boards/generic -I/Users/user/embench-iot/config/arm/chips/cortex-m4 -I/Users/user/embench-iot/config/arm -DCPU_MHZ=1 -DWARMUP_HEAT=1 -o libminver.o /Users/user/embench-iot/src/minver/libminver.c
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function exit': exit.c:(.text.exit+0x2c): undefined reference to
_exit'
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/crt0.o: In function start': (.text+0xec): undefined reference to
main'
collect2: error: ld returned 1 exit status
Warning: Compilation of nbody.c from source directory /Users/user/embench-iot/src/nbody to binary directory /Users/user/embench-iot/bd/src/nbody failed Command was: arm-none-eabi-gcc -I/Users/user/embench-iot/support -I/Users/user/embench-iot/config/arm/boards/generic -I/Users/user/embench-iot/config/arm/chips/cortex-m4 -I/Users/user/embench-iot/config/arm -DCPU_MHZ=1 -DWARMUP_HEAT=1 -o nbody.o /Users/user/embench-iot/src/nbody/nbody.c
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function exit': exit.c:(.text.exit+0x2c): undefined reference to
_exit'
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/crt0.o: In function start': (.text+0xec): undefined reference to
main'
/var/folders/mz/l0j9fwqx5d51h7gyx621lbz80000gn/T//ccB3swIH.o: In function bodies_energy': nbody.c:(.text+0x488): undefined reference to
sqrt'
collect2: error: ld returned 1 exit status
Warning: Compilation of nettle-aes.c from source directory /Users/user/embench-iot/src/nettle-aes to binary directory /Users/user/embench-iot/bd/src/nettle-aes failed Command was: arm-none-eabi-gcc -I/Users/user/embench-iot/support -I/Users/user/embench-iot/config/arm/boards/generic -I/Users/user/embench-iot/config/arm/chips/cortex-m4 -I/Users/user/embench-iot/config/arm -DCPU_MHZ=1 -DWARMUP_HEAT=1 -o nettle-aes.o /Users/user/embench-iot/src/nettle-aes/nettle-aes.c
/Users/user/embench-iot/src/nettle-aes/nettle-aes.c: In function 'verify_benchmark': /Users/user/embench-iot/src/nettle-aes/nettle-aes.c:1123:3: error: 'for' loop initial declarations are only allowed in C99 mode /Users/user/embench-iot/src/nettle-aes/nettle-aes.c:1123:3: note: use option -std=c99 or -std=gnu99 to compile your code
Warning: Compilation of nettle-sha256.c from source directory /Users/user/embench-iot/src/nettle-sha256 to binary directory /Users/user/embench-iot/bd/src/nettle-sha256 failed Command was: arm-none-eabi-gcc -I/Users/user/embench-iot/support -I/Users/user/embench-iot/config/arm/boards/generic -I/Users/user/embench-iot/config/arm/chips/cortex-m4 -I/Users/user/embench-iot/config/arm -DCPU_MHZ=1 -DWARMUP_HEAT=1 -o nettle-sha256.o /Users/user/embench-iot/src/nettle-sha256/nettle-sha256.c
/Users/user/embench-iot/src/nettle-sha256/nettle-sha256.c: In function 'verify_benchmark': /Users/user/embench-iot/src/nettle-sha256/nettle-sha256.c:434:3: error: 'for' loop initial declarations are only allowed in C99 mode /Users/user/embench-iot/src/nettle-sha256/nettle-sha256.c:434:3: note: use option -std=c99 or -std=gnu99 to compile your code
Warning: Compilation of libnsichneu.c from source directory /Users/user/embench-iot/src/nsichneu to binary directory /Users/user/embench-iot/bd/src/nsichneu failed Command was: arm-none-eabi-gcc -I/Users/user/embench-iot/support -I/Users/user/embench-iot/config/arm/boards/generic -I/Users/user/embench-iot/config/arm/chips/cortex-m4 -I/Users/user/embench-iot/config/arm -DCPU_MHZ=1 -DWARMUP_HEAT=1 -o libnsichneu.o /Users/user/embench-iot/src/nsichneu/libnsichneu.c
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function exit': exit.c:(.text.exit+0x2c): undefined reference to
_exit'
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/crt0.o: In function start': (.text+0xec): undefined reference to
main'
collect2: error: ld returned 1 exit status
Warning: Compilation of picojpeg_test.c from source directory /Users/user/embench-iot/src/picojpeg to binary directory /Users/user/embench-iot/bd/src/picojpeg failed Command was: arm-none-eabi-gcc -I/Users/user/embench-iot/support -I/Users/user/embench-iot/config/arm/boards/generic -I/Users/user/embench-iot/config/arm/chips/cortex-m4 -I/Users/user/embench-iot/config/arm -DCPU_MHZ=1 -DWARMUP_HEAT=1 -o picojpeg_test.o /Users/user/embench-iot/src/picojpeg/picojpeg_test.c
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function exit': exit.c:(.text.exit+0x2c): undefined reference to
_exit'
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/crt0.o: In function start': (.text+0xec): undefined reference to
main'
/var/folders/mz/l0j9fwqx5d51h7gyx621lbz80000gn/T//ccgucAtC.o: In function benchmark_body': picojpeg_test.c:(.text+0x1e8): undefined reference to
pjpeg_decode_init'
picojpeg_test.c:(.text+0x1fc): undefined reference to `pjpeg_decode_mcu'
collect2: error: ld returned 1 exit status
Warning: Compilation of libpicojpeg.c from source directory /Users/user/embench-iot/src/picojpeg to binary directory /Users/user/embench-iot/bd/src/picojpeg failed Command was: arm-none-eabi-gcc -I/Users/user/embench-iot/support -I/Users/user/embench-iot/config/arm/boards/generic -I/Users/user/embench-iot/config/arm/chips/cortex-m4 -I/Users/user/embench-iot/config/arm -DCPU_MHZ=1 -DWARMUP_HEAT=1 -o libpicojpeg.o /Users/user/embench-iot/src/picojpeg/libpicojpeg.c
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function exit': exit.c:(.text.exit+0x2c): undefined reference to
_exit'
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/crt0.o: In function start': (.text+0xec): undefined reference to
main'
collect2: error: ld returned 1 exit status
Warning: Compilation of qrtest.c from source directory /Users/user/embench-iot/src/qrduino to binary directory /Users/user/embench-iot/bd/src/qrduino failed Command was: arm-none-eabi-gcc -I/Users/user/embench-iot/support -I/Users/user/embench-iot/config/arm/boards/generic -I/Users/user/embench-iot/config/arm/chips/cortex-m4 -I/Users/user/embench-iot/config/arm -DCPU_MHZ=1 -DWARMUP_HEAT=1 -o qrtest.o /Users/user/embench-iot/src/qrduino/qrtest.c
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function exit': exit.c:(.text.exit+0x2c): undefined reference to
_exit'
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/crt0.o: In function start': (.text+0xec): undefined reference to
main'
/var/folders/mz/l0j9fwqx5d51h7gyx621lbz80000gn/T//ccgYfboY.o: In function benchmark_body': qrtest.c:(.text+0x90): undefined reference to
init_heap_beebs'
qrtest.c:(.text+0xa4): undefined reference to initeccsize' qrtest.c:(.text+0xd0): undefined reference to
initframe'
qrtest.c:(.text+0xd4): undefined reference to qrencode' qrtest.c:(.text+0xd8): undefined reference to
freeframe'
qrtest.c:(.text+0xdc): undefined reference to freeecc' qrtest.c:(.text+0x120): undefined reference to
strinbuf'
/var/folders/mz/l0j9fwqx5d51h7gyx621lbz80000gn/T//ccgYfboY.o: In function verify_benchmark': qrtest.c:(.text+0x194): undefined reference to
check_heap_beebs'
qrtest.c:(.text+0x1c4): undefined reference to `strinbuf'
collect2: error: ld returned 1 exit status
Warning: Compilation of qrencode.c from source directory /Users/user/embench-iot/src/qrduino to binary directory /Users/user/embench-iot/bd/src/qrduino failed Command was: arm-none-eabi-gcc -I/Users/user/embench-iot/support -I/Users/user/embench-iot/config/arm/boards/generic -I/Users/user/embench-iot/config/arm/chips/cortex-m4 -I/Users/user/embench-iot/config/arm -DCPU_MHZ=1 -DWARMUP_HEAT=1 -o qrencode.o /Users/user/embench-iot/src/qrduino/qrencode.c
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function exit': exit.c:(.text.exit+0x2c): undefined reference to
_exit'
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/crt0.o: In function start': (.text+0xec): undefined reference to
main'
/var/folders/mz/l0j9fwqx5d51h7gyx621lbz80000gn/T//ccahJELS.o: In function stringtoqr': qrencode.c:(.text+0xb7c): undefined reference to
strinbuf'
qrencode.c:(.text+0xb80): undefined reference to datablkw' qrencode.c:(.text+0xb84): undefined reference to
neccblk1'
qrencode.c:(.text+0xb88): undefined reference to neccblk2' qrencode.c:(.text+0xb8c): undefined reference to
VERSION'
qrencode.c:(.text+0xb90): undefined reference to eccblkwid' qrencode.c:(.text+0xb94): undefined reference to
qrframe'
/var/folders/mz/l0j9fwqx5d51h7gyx621lbz80000gn/T//ccahJELS.o: In function ismasked': qrencode.c:(.text+0xc60): undefined reference to
framask'
/var/folders/mz/l0j9fwqx5d51h7gyx621lbz80000gn/T//ccahJELS.o: In function fillframe': qrencode.c:(.text+0xf64): undefined reference to
qrframe'
qrencode.c:(.text+0xf68): undefined reference to framebase' qrencode.c:(.text+0xf6c): undefined reference to
WDB'
qrencode.c:(.text+0xf70): undefined reference to WD' qrencode.c:(.text+0xf74): undefined reference to
strinbuf'
qrencode.c:(.text+0xf78): undefined reference to datablkw' qrencode.c:(.text+0xf7c): undefined reference to
eccblkwid'
qrencode.c:(.text+0xf80): undefined reference to neccblk1' qrencode.c:(.text+0xf84): undefined reference to
neccblk2'
/var/folders/mz/l0j9fwqx5d51h7gyx621lbz80000gn/T//ccahJELS.o: In function applymask': qrencode.c:(.text+0x1b0c): undefined reference to
qrframe'
qrencode.c:(.text+0x1b10): undefined reference to WDB' qrencode.c:(.text+0x1b14): undefined reference to
WD'
/var/folders/mz/l0j9fwqx5d51h7gyx621lbz80000gn/T//ccahJELS.o: In function badruns': qrencode.c:(.text+0x1db4): undefined reference to
rlens'
/var/folders/mz/l0j9fwqx5d51h7gyx621lbz80000gn/T//ccahJELS.o: In function badcheck': qrencode.c:(.text+0x2480): undefined reference to
qrframe'
qrencode.c:(.text+0x2484): undefined reference to WDB' qrencode.c:(.text+0x248c): undefined reference to
WD'
qrencode.c:(.text+0x2490): undefined reference to rlens' /var/folders/mz/l0j9fwqx5d51h7gyx621lbz80000gn/T//ccahJELS.o: In function
addfmt':
qrencode.c:(.text+0x280c): undefined reference to ECCLEVEL' qrencode.c:(.text+0x2814): undefined reference to
qrframe'
qrencode.c:(.text+0x2818): undefined reference to WD' qrencode.c:(.text+0x281c): undefined reference to
WDB'
/var/folders/mz/l0j9fwqx5d51h7gyx621lbz80000gn/T//ccahJELS.o: In function qrencode': qrencode.c:(.text+0x2954): undefined reference to
strinbuf'
qrencode.c:(.text+0x2958): undefined reference to qrframe' qrencode.c:(.text+0x295c): undefined reference to
WD'
qrencode.c:(.text+0x2960): undefined reference to `WDB'
collect2: error: ld returned 1 exit status
Warning: Compilation of qrframe.c from source directory /Users/user/embench-iot/src/qrduino to binary directory /Users/user/embench-iot/bd/src/qrduino failed Command was: arm-none-eabi-gcc -I/Users/user/embench-iot/support -I/Users/user/embench-iot/config/arm/boards/generic -I/Users/user/embench-iot/config/arm/chips/cortex-m4 -I/Users/user/embench-iot/config/arm -DCPU_MHZ=1 -DWARMUP_HEAT=1 -o qrframe.o /Users/user/embench-iot/src/qrduino/qrframe.c
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function exit': exit.c:(.text.exit+0x2c): undefined reference to
_exit'
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/crt0.o: In function start': (.text+0xec): undefined reference to
main'
/var/folders/mz/l0j9fwqx5d51h7gyx621lbz80000gn/T//ccfRIssb.o: In function initframe': qrframe.c:(.text+0x1080): undefined reference to
calloc_beebs'
qrframe.c:(.text+0x10d0): undefined reference to calloc_beebs' qrframe.c:(.text+0x10f0): undefined reference to
malloc_beebs'
/var/folders/mz/l0j9fwqx5d51h7gyx621lbz80000gn/T//ccfRIssb.o: In function freeframe': qrframe.c:(.text+0x15c8): undefined reference to
free_beebs'
qrframe.c:(.text+0x15d8): undefined reference to free_beebs' qrframe.c:(.text+0x15e8): undefined reference to
free_beebs'
/var/folders/mz/l0j9fwqx5d51h7gyx621lbz80000gn/T//ccfRIssb.o: In function initecc': qrframe.c:(.text+0x16a4): undefined reference to
malloc_beebs'
qrframe.c:(.text+0x1828): undefined reference to malloc_beebs' /var/folders/mz/l0j9fwqx5d51h7gyx621lbz80000gn/T//ccfRIssb.o: In function
freeecc':
qrframe.c:(.text+0x1a0c): undefined reference to free_beebs' qrframe.c:(.text+0x1a1c): undefined reference to
free_beebs'
collect2: error: ld returned 1 exit status
Warning: Compilation of combined.c from source directory /Users/user/embench-iot/src/sglib-combined to binary directory /Users/user/embench-iot/bd/src/sglib-combined failed Command was: arm-none-eabi-gcc -I/Users/user/embench-iot/support -I/Users/user/embench-iot/config/arm/boards/generic -I/Users/user/embench-iot/config/arm/chips/cortex-m4 -I/Users/user/embench-iot/config/arm -DCPU_MHZ=1 -DWARMUP_HEAT=1 -o combined.o /Users/user/embench-iot/src/sglib-combined/combined.c
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function exit': exit.c:(.text.exit+0x2c): undefined reference to
_exit'
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/crt0.o: In function start': (.text+0xec): undefined reference to
main'
/var/folders/mz/l0j9fwqx5d51h7gyx621lbz80000gn/T//ccXnO6jz.o: In function verify_benchmark': combined.c:(.text+0x453c): undefined reference to
check_heap_beebs'
/var/folders/mz/l0j9fwqx5d51h7gyx621lbz80000gn/T//ccXnO6jz.o: In function benchmark_body': combined.c:(.text+0x4a90): undefined reference to
init_heap_beebs'
combined.c:(.text+0x4ab0): undefined reference to malloc_beebs' combined.c:(.text+0x4b80): undefined reference to
malloc_beebs'
combined.c:(.text+0x51c0): undefined reference to `malloc_beebs'
collect2: error: ld returned 1 exit status
Warning: Compilation of libslre.c from source directory /Users/user/embench-iot/src/slre to binary directory /Users/user/embench-iot/bd/src/slre failed Command was: arm-none-eabi-gcc -I/Users/user/embench-iot/support -I/Users/user/embench-iot/config/arm/boards/generic -I/Users/user/embench-iot/config/arm/chips/cortex-m4 -I/Users/user/embench-iot/config/arm -DCPU_MHZ=1 -DWARMUP_HEAT=1 -o libslre.o /Users/user/embench-iot/src/slre/libslre.c
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function exit': exit.c:(.text.exit+0x2c): undefined reference to
_exit'
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/crt0.o: In function start': (.text+0xec): undefined reference to
main'
collect2: error: ld returned 1 exit status
Warning: Compilation of libst.c from source directory /Users/user/embench-iot/src/st to binary directory /Users/user/embench-iot/bd/src/st failed Command was: arm-none-eabi-gcc -I/Users/user/embench-iot/support -I/Users/user/embench-iot/config/arm/boards/generic -I/Users/user/embench-iot/config/arm/chips/cortex-m4 -I/Users/user/embench-iot/config/arm -DCPU_MHZ=1 -DWARMUP_HEAT=1 -o libst.o /Users/user/embench-iot/src/st/libst.c
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function exit': exit.c:(.text.exit+0x2c): undefined reference to
_exit'
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/crt0.o: In function start': (.text+0xec): undefined reference to
main'
/var/folders/mz/l0j9fwqx5d51h7gyx621lbz80000gn/T//cc45XOUe.o: In function Calc_Var_Stddev': libst.c:(.text+0x38c): undefined reference to
sqrt'
/var/folders/mz/l0j9fwqx5d51h7gyx621lbz80000gn/T//cc45XOUe.o: In function Calc_LinCorrCoef': libst.c:(.text+0x598): undefined reference to
sqrt'
libst.c:(.text+0x5ac): undefined reference to `sqrt'
collect2: error: ld returned 1 exit status
Warning: Compilation of libstatemate.c from source directory /Users/user/embench-iot/src/statemate to binary directory /Users/user/embench-iot/bd/src/statemate failed Command was: arm-none-eabi-gcc -I/Users/user/embench-iot/support -I/Users/user/embench-iot/config/arm/boards/generic -I/Users/user/embench-iot/config/arm/chips/cortex-m4 -I/Users/user/embench-iot/config/arm -DCPU_MHZ=1 -DWARMUP_HEAT=1 -o libstatemate.o /Users/user/embench-iot/src/statemate/libstatemate.c
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function exit': exit.c:(.text.exit+0x2c): undefined reference to
_exit'
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/crt0.o: In function start': (.text+0xec): undefined reference to
main'
collect2: error: ld returned 1 exit status
Warning: Compilation of libud.c from source directory /Users/user/embench-iot/src/ud to binary directory /Users/user/embench-iot/bd/src/ud failed Command was: arm-none-eabi-gcc -I/Users/user/embench-iot/support -I/Users/user/embench-iot/config/arm/boards/generic -I/Users/user/embench-iot/config/arm/chips/cortex-m4 -I/Users/user/embench-iot/config/arm -DCPU_MHZ=1 -DWARMUP_HEAT=1 -o libud.o /Users/user/embench-iot/src/ud/libud.c
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function exit': exit.c:(.text.exit+0x2c): undefined reference to
_exit'
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/crt0.o: In function start': (.text+0xec): undefined reference to
main'
collect2: error: ld returned 1 exit status
Warning: Compilation of libwikisort.c from source directory /Users/user/embench-iot/src/wikisort to binary directory /Users/user/embench-iot/bd/src/wikisort failed Command was: arm-none-eabi-gcc -I/Users/user/embench-iot/support -I/Users/user/embench-iot/config/arm/boards/generic -I/Users/user/embench-iot/config/arm/chips/cortex-m4 -I/Users/user/embench-iot/config/arm -DCPU_MHZ=1 -DWARMUP_HEAT=1 -o libwikisort.o /Users/user/embench-iot/src/wikisort/libwikisort.c
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function exit': exit.c:(.text.exit+0x2c): undefined reference to
_exit'
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/crt0.o: In function start': (.text+0xec): undefined reference to
main'
/var/folders/mz/l0j9fwqx5d51h7gyx621lbz80000gn/T//cczyq3OR.o: In function WikiSort': libwikisort.c:(.text+0xf50): undefined reference to
sqrt'
/var/folders/mz/l0j9fwqx5d51h7gyx621lbz80000gn/T//cczyq3OR.o: In function TestingRandom': libwikisort.c:(.text+0x3f00): undefined reference to
rand_beebs'
/var/folders/mz/l0j9fwqx5d51h7gyx621lbz80000gn/T//cczyq3OR.o: In function TestingMostlyDescending': libwikisort.c:(.text+0x3f48): undefined reference to
rand_beebs'
/var/folders/mz/l0j9fwqx5d51h7gyx621lbz80000gn/T//cczyq3OR.o: In function TestingMostlyAscending': libwikisort.c:(.text+0x4024): undefined reference to
rand_beebs'
/var/folders/mz/l0j9fwqx5d51h7gyx621lbz80000gn/T//cczyq3OR.o: In function TestingJittered': libwikisort.c:(.text+0x4170): undefined reference to
rand_beebs'
/var/folders/mz/l0j9fwqx5d51h7gyx621lbz80000gn/T//cczyq3OR.o: In function TestingMostlyEqual': libwikisort.c:(.text+0x420c): undefined reference to
rand_beebs'
/var/folders/mz/l0j9fwqx5d51h7gyx621lbz80000gn/T//cczyq3OR.o: In function benchmark_body': libwikisort.c:(.text+0x4378): undefined reference to
srand_beebs'
collect2: error: ld returned 1 exit status
@GeorgeOnwubuya OK - I see the issue. For GCC you need the -c
flag to tell it to build an object file and not link. So you need to add --cflags=-c
to your command line.
HTH
I added the --cflags=-c but I am still running into errors. I have posted the log file below
Log file: /Users/user/embench-iot/logs/build-2020-10-07-092130.log
--builddir : bd --logdir : logs --arch : arm --chip : cortex-m4 --board : generic --cc : None --ld : None --cflags : -c --ldflags : None --env : None --cc-define1-pattern : None --cc-define2-pattern : None --cc-incdir-pattern : None --cc-input-pattern : None --cc-output-pattern : None --ld-input-pattern : None --ld-output-pattern : None --user-libs : None --dummy-libs : None --cpu-mhz : None --warmup-heat : None --verbose : False --clean : False --timeout : 5
aha-mont64 crc32 cubic edn huffbench matmult-int minver nbody nettle-aes nettle-sha256 nsichneu picojpeg qrduino sglib-combined slre st statemate ud wikisort
rootdir : /Users/user/embench-iot verbose : False bd : /Users/user/embench-iot/bd configdir : /Users/user/embench-iot/config bd_configdir : /Users/user/embench-iot/bd/config archdir : /Users/user/embench-iot/config/arm bd_archdir : /Users/user/embench-iot/bd/config/arm chipdir : /Users/user/embench-iot/config/arm/chips/cortex-m4 bd_chipdir : /Users/user/embench-iot/bd/config/arm/chips/cortex-m4 boarddir : /Users/user/embench-iot/config/arm/boards/generic bd_boarddir : /Users/user/embench-iot/bd/config/arm/boards/generic env : {} benchdir : /Users/user/embench-iot/src bd_benchdir : /Users/user/embench-iot/bd/src supportdir : /Users/user/embench-iot/support bd_supportdir : /Users/user/embench-iot/bd/support cflags : ['-c', '-I/Users/user/embench-iot/support', '-I/Users/user/embench-iot/config/arm/boards/generic', '-I/Users/user/embench-iot/config/arm/chips/cortex-m4', '-I/Users/user/embench-iot/config/arm', '-DCPU_MHZ=1', '-DWARMUP_HEAT=1'] ldflags : [] cc : arm-none-eabi-gcc cc_define1_pattern : -D{0} cc_define2_pattern : -D{0}={1} cc_incdir_pattern : -I{0} cc_input_pattern : {0} cc_output_pattern : -o {0} ld_input_pattern : {0} ld_output_pattern : -o {0} user_libs : {} dummy_libs : {} cpu_mhz : 1 warmup_heat : 1 timeout : 5 ld : arm-none-eabi-gcc
Compilation of support files successful Compilation of benchmark "aha-mont64" successful Warning: Link of benchmark "aha-mont64" failed In directory "/Users/user/embench-iot/bd/src/aha-mont64" Command was: arm-none-eabi-gcc -o aha-mont64 mont64.o /Users/user/embench-iot/bd/config/arm/chips/cortex-m4/chipsupport.o /Users/user/embench-iot/bd/config/arm/boards/generic/boardsupport.o /Users/user/embench-iot/bd/support/main.o /Users/user/embench-iot/bd/support/beebsc.o
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function exit': exit.c:(.text.exit+0x2c): undefined reference to
_exit'
collect2: error: ld returned 1 exit status
Compilation of benchmark "crc32" successful Warning: Link of benchmark "crc32" failed In directory "/Users/user/embench-iot/bd/src/crc32" Command was: arm-none-eabi-gcc -o crc32 crc_32.o /Users/user/embench-iot/bd/config/arm/chips/cortex-m4/chipsupport.o /Users/user/embench-iot/bd/config/arm/boards/generic/boardsupport.o /Users/user/embench-iot/bd/support/main.o /Users/user/embench-iot/bd/support/beebsc.o
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function exit': exit.c:(.text.exit+0x2c): undefined reference to
_exit'
collect2: error: ld returned 1 exit status
Compilation of benchmark "cubic" successful Warning: Link of benchmark "cubic" failed In directory "/Users/user/embench-iot/bd/src/cubic" Command was: arm-none-eabi-gcc -o cubic basicmath_small.o libcubic.o /Users/user/embench-iot/bd/config/arm/chips/cortex-m4/chipsupport.o /Users/user/embench-iot/bd/config/arm/boards/generic/boardsupport.o /Users/user/embench-iot/bd/support/main.o /Users/user/embench-iot/bd/support/beebsc.o
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function exit': exit.c:(.text.exit+0x2c): undefined reference to
_exit'
libcubic.o: In function SolveCubic': libcubic.c:(.text+0x2e4): undefined reference to
sqrt'
libcubic.c:(.text+0x314): undefined reference to acos' libcubic.c:(.text+0x328): undefined reference to
sqrt'
libcubic.c:(.text+0x37c): undefined reference to cos' libcubic.c:(.text+0x3fc): undefined reference to
sqrt'
libcubic.c:(.text+0x46c): undefined reference to cos' libcubic.c:(.text+0x4e8): undefined reference to
sqrt'
libcubic.c:(.text+0x558): undefined reference to cos' libcubic.c:(.text+0x5dc): undefined reference to
sqrt'
libcubic.c:(.text+0x620): undefined reference to `pow'
collect2: error: ld returned 1 exit status
Warning: Compilation of libedn.c from source directory /Users/user/embench-iot/src/edn to binary directory /Users/user/embench-iot/bd/src/edn failed Command was: arm-none-eabi-gcc -c -I/Users/user/embench-iot/support -I/Users/user/embench-iot/config/arm/boards/generic -I/Users/user/embench-iot/config/arm/chips/cortex-m4 -I/Users/user/embench-iot/config/arm -DCPU_MHZ=1 -DWARMUP_HEAT=1 -o libedn.o /Users/user/embench-iot/src/edn/libedn.c
/Users/user/embench-iot/src/edn/libedn.c: In function 'benchmark_body': /Users/user/embench-iot/src/edn/libedn.c:364:7: error: 'for' loop initial declarations are only allowed in C99 mode /Users/user/embench-iot/src/edn/libedn.c:364:7: note: use option -std=c99 or -std=gnu99 to compile your code
Compilation of benchmark "huffbench" successful Warning: Link of benchmark "huffbench" failed In directory "/Users/user/embench-iot/bd/src/huffbench" Command was: arm-none-eabi-gcc -o huffbench libhuffbench.o /Users/user/embench-iot/bd/config/arm/chips/cortex-m4/chipsupport.o /Users/user/embench-iot/bd/config/arm/boards/generic/boardsupport.o /Users/user/embench-iot/bd/support/main.o /Users/user/embench-iot/bd/support/beebsc.o
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function exit': exit.c:(.text.exit+0x2c): undefined reference to
_exit'
collect2: error: ld returned 1 exit status
Compilation of benchmark "matmult-int" successful Warning: Link of benchmark "matmult-int" failed In directory "/Users/user/embench-iot/bd/src/matmult-int" Command was: arm-none-eabi-gcc -o matmult-int matmult-int.o /Users/user/embench-iot/bd/config/arm/chips/cortex-m4/chipsupport.o /Users/user/embench-iot/bd/config/arm/boards/generic/boardsupport.o /Users/user/embench-iot/bd/support/main.o /Users/user/embench-iot/bd/support/beebsc.o
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function exit': exit.c:(.text.exit+0x2c): undefined reference to
_exit'
collect2: error: ld returned 1 exit status
Compilation of benchmark "minver" successful Warning: Link of benchmark "minver" failed In directory "/Users/user/embench-iot/bd/src/minver" Command was: arm-none-eabi-gcc -o minver libminver.o /Users/user/embench-iot/bd/config/arm/chips/cortex-m4/chipsupport.o /Users/user/embench-iot/bd/config/arm/boards/generic/boardsupport.o /Users/user/embench-iot/bd/support/main.o /Users/user/embench-iot/bd/support/beebsc.o
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function exit': exit.c:(.text.exit+0x2c): undefined reference to
_exit'
collect2: error: ld returned 1 exit status
Compilation of benchmark "nbody" successful Warning: Link of benchmark "nbody" failed In directory "/Users/user/embench-iot/bd/src/nbody" Command was: arm-none-eabi-gcc -o nbody nbody.o /Users/user/embench-iot/bd/config/arm/chips/cortex-m4/chipsupport.o /Users/user/embench-iot/bd/config/arm/boards/generic/boardsupport.o /Users/user/embench-iot/bd/support/main.o /Users/user/embench-iot/bd/support/beebsc.o
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function exit': exit.c:(.text.exit+0x2c): undefined reference to
_exit'
nbody.o: In function bodies_energy': nbody.c:(.text+0x488): undefined reference to
sqrt'
collect2: error: ld returned 1 exit status
Warning: Compilation of nettle-aes.c from source directory /Users/user/embench-iot/src/nettle-aes to binary directory /Users/user/embench-iot/bd/src/nettle-aes failed Command was: arm-none-eabi-gcc -c -I/Users/user/embench-iot/support -I/Users/user/embench-iot/config/arm/boards/generic -I/Users/user/embench-iot/config/arm/chips/cortex-m4 -I/Users/user/embench-iot/config/arm -DCPU_MHZ=1 -DWARMUP_HEAT=1 -o nettle-aes.o /Users/user/embench-iot/src/nettle-aes/nettle-aes.c
/Users/user/embench-iot/src/nettle-aes/nettle-aes.c: In function 'verify_benchmark': /Users/user/embench-iot/src/nettle-aes/nettle-aes.c:1123:3: error: 'for' loop initial declarations are only allowed in C99 mode /Users/user/embench-iot/src/nettle-aes/nettle-aes.c:1123:3: note: use option -std=c99 or -std=gnu99 to compile your code
Warning: Compilation of nettle-sha256.c from source directory /Users/user/embench-iot/src/nettle-sha256 to binary directory /Users/user/embench-iot/bd/src/nettle-sha256 failed Command was: arm-none-eabi-gcc -c -I/Users/user/embench-iot/support -I/Users/user/embench-iot/config/arm/boards/generic -I/Users/user/embench-iot/config/arm/chips/cortex-m4 -I/Users/user/embench-iot/config/arm -DCPU_MHZ=1 -DWARMUP_HEAT=1 -o nettle-sha256.o /Users/user/embench-iot/src/nettle-sha256/nettle-sha256.c
/Users/user/embench-iot/src/nettle-sha256/nettle-sha256.c: In function 'verify_benchmark': /Users/user/embench-iot/src/nettle-sha256/nettle-sha256.c:434:3: error: 'for' loop initial declarations are only allowed in C99 mode /Users/user/embench-iot/src/nettle-sha256/nettle-sha256.c:434:3: note: use option -std=c99 or -std=gnu99 to compile your code
Compilation of benchmark "nsichneu" successful Warning: Link of benchmark "nsichneu" failed In directory "/Users/user/embench-iot/bd/src/nsichneu" Command was: arm-none-eabi-gcc -o nsichneu libnsichneu.o /Users/user/embench-iot/bd/config/arm/chips/cortex-m4/chipsupport.o /Users/user/embench-iot/bd/config/arm/boards/generic/boardsupport.o /Users/user/embench-iot/bd/support/main.o /Users/user/embench-iot/bd/support/beebsc.o
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function exit': exit.c:(.text.exit+0x2c): undefined reference to
_exit'
collect2: error: ld returned 1 exit status
Compilation of benchmark "picojpeg" successful Warning: Link of benchmark "picojpeg" failed In directory "/Users/user/embench-iot/bd/src/picojpeg" Command was: arm-none-eabi-gcc -o picojpeg libpicojpeg.o picojpeg_test.o /Users/user/embench-iot/bd/config/arm/chips/cortex-m4/chipsupport.o /Users/user/embench-iot/bd/config/arm/boards/generic/boardsupport.o /Users/user/embench-iot/bd/support/main.o /Users/user/embench-iot/bd/support/beebsc.o
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function exit': exit.c:(.text.exit+0x2c): undefined reference to
_exit'
collect2: error: ld returned 1 exit status
Compilation of benchmark "qrduino" successful Warning: Link of benchmark "qrduino" failed In directory "/Users/user/embench-iot/bd/src/qrduino" Command was: arm-none-eabi-gcc -o qrduino qrencode.o qrframe.o qrtest.o /Users/user/embench-iot/bd/config/arm/chips/cortex-m4/chipsupport.o /Users/user/embench-iot/bd/config/arm/boards/generic/boardsupport.o /Users/user/embench-iot/bd/support/main.o /Users/user/embench-iot/bd/support/beebsc.o
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function exit': exit.c:(.text.exit+0x2c): undefined reference to
_exit'
collect2: error: ld returned 1 exit status
Compilation of benchmark "sglib-combined" successful Warning: Link of benchmark "sglib-combined" failed In directory "/Users/user/embench-iot/bd/src/sglib-combined" Command was: arm-none-eabi-gcc -o sglib-combined combined.o /Users/user/embench-iot/bd/config/arm/chips/cortex-m4/chipsupport.o /Users/user/embench-iot/bd/config/arm/boards/generic/boardsupport.o /Users/user/embench-iot/bd/support/main.o /Users/user/embench-iot/bd/support/beebsc.o
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function exit': exit.c:(.text.exit+0x2c): undefined reference to
_exit'
collect2: error: ld returned 1 exit status
Compilation of benchmark "slre" successful Warning: Link of benchmark "slre" failed In directory "/Users/user/embench-iot/bd/src/slre" Command was: arm-none-eabi-gcc -o slre libslre.o /Users/user/embench-iot/bd/config/arm/chips/cortex-m4/chipsupport.o /Users/user/embench-iot/bd/config/arm/boards/generic/boardsupport.o /Users/user/embench-iot/bd/support/main.o /Users/user/embench-iot/bd/support/beebsc.o
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function exit': exit.c:(.text.exit+0x2c): undefined reference to
_exit'
collect2: error: ld returned 1 exit status
Compilation of benchmark "st" successful Warning: Link of benchmark "st" failed In directory "/Users/user/embench-iot/bd/src/st" Command was: arm-none-eabi-gcc -o st libst.o /Users/user/embench-iot/bd/config/arm/chips/cortex-m4/chipsupport.o /Users/user/embench-iot/bd/config/arm/boards/generic/boardsupport.o /Users/user/embench-iot/bd/support/main.o /Users/user/embench-iot/bd/support/beebsc.o
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function exit': exit.c:(.text.exit+0x2c): undefined reference to
_exit'
libst.o: In function Calc_Var_Stddev': libst.c:(.text+0x38c): undefined reference to
sqrt'
libst.o: In function Calc_LinCorrCoef': libst.c:(.text+0x598): undefined reference to
sqrt'
libst.c:(.text+0x5ac): undefined reference to `sqrt'
collect2: error: ld returned 1 exit status
Compilation of benchmark "statemate" successful Warning: Link of benchmark "statemate" failed In directory "/Users/user/embench-iot/bd/src/statemate" Command was: arm-none-eabi-gcc -o statemate libstatemate.o /Users/user/embench-iot/bd/config/arm/chips/cortex-m4/chipsupport.o /Users/user/embench-iot/bd/config/arm/boards/generic/boardsupport.o /Users/user/embench-iot/bd/support/main.o /Users/user/embench-iot/bd/support/beebsc.o
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function exit': exit.c:(.text.exit+0x2c): undefined reference to
_exit'
collect2: error: ld returned 1 exit status
Compilation of benchmark "ud" successful Warning: Link of benchmark "ud" failed In directory "/Users/user/embench-iot/bd/src/ud" Command was: arm-none-eabi-gcc -o ud libud.o /Users/user/embench-iot/bd/config/arm/chips/cortex-m4/chipsupport.o /Users/user/embench-iot/bd/config/arm/boards/generic/boardsupport.o /Users/user/embench-iot/bd/support/main.o /Users/user/embench-iot/bd/support/beebsc.o
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function exit': exit.c:(.text.exit+0x2c): undefined reference to
_exit'
collect2: error: ld returned 1 exit status
Compilation of benchmark "wikisort" successful Warning: Link of benchmark "wikisort" failed In directory "/Users/user/embench-iot/bd/src/wikisort" Command was: arm-none-eabi-gcc -o wikisort libwikisort.o /Users/user/embench-iot/bd/config/arm/chips/cortex-m4/chipsupport.o /Users/user/embench-iot/bd/config/arm/boards/generic/boardsupport.o /Users/user/embench-iot/bd/support/main.o /Users/user/embench-iot/bd/support/beebsc.o
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function exit': exit.c:(.text.exit+0x2c): undefined reference to
_exit'
libwikisort.o: In function WikiSort': libwikisort.c:(.text+0xf50): undefined reference to
sqrt'
collect2: error: ld returned 1 exit status
Am I missing other variables?
@GeorgeOnwubuya You are now getting link failures, and the errors indicate a problem with your C library setup. Here is the first example of the relevant message
/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function exit': exit.c:(.text.exit+0x2c): undefined reference to _exit'
So you do have a C library - it's finding exit
in libc.a
, but it is not finding _exit
. This would normally be part of the libgloss board support package which is part of the newlib C library. Do you have a file libgloss.a
in /Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib
?
I'm assigning to @PaoloS02 since he has most recently built the Arm target, in case there is something else needed for Arm.
It doesn't look like I have the libgloss.a file but I do have libgloss-linux.a file. How do I get this file installed on my end? Is there a package I need to install?
Thanks for all your help.
Hello @GeorgeOnwubuya , one thing that I see at a first glance is that you need to include the math library. You can use the --user-libs option from the build_all.py script. So you need to add --user-libs="-lm" to your command line. I'll come back to you as soon as I have checked the issue of the _exit symbol.
Hello @GeorgeOnwubuya , as we are in the context of embedded systems we need to specify how to enable the system calls. With newlib come several sets of systemcalls that are enabled with the --specs options:
arm-none-eabi-gcc --specs=rdimon.specs
arm-none-eabi-gcc --specs=nosys.specs
rdimon provides syscalls that rely on semihosting. Nosys instead provides a set of stubs that retarget the system calls. We usually use nosys. In this case for instance you need to add the linker option:
--ldflags='--specs=nosys.specs'
Hope this helps. Paolo
Thanks for your speedy reply Paolo.
It looks like I don't have the nosys.specs in my gcc directory. Any thought on how to get this pacakge?
Log file: /Users/user/embench-iot/logs/build-2020-10-07-113903.log
--builddir : bd --logdir : logs --arch : arm --chip : cortex-m4 --board : generic --cc : None --ld : None --cflags : -c --ldflags : --specs=nosys.specs --env : None --cc-define1-pattern : None --cc-define2-pattern : None --cc-incdir-pattern : None --cc-input-pattern : None --cc-output-pattern : None --ld-input-pattern : None --ld-output-pattern : None --user-libs : -lm --dummy-libs : None --cpu-mhz : None --warmup-heat : None --verbose : False --clean : False --timeout : 5
aha-mont64 crc32 cubic edn huffbench matmult-int minver nbody nettle-aes nettle-sha256 nsichneu picojpeg qrduino sglib-combined slre st statemate ud wikisort
rootdir : /Users/user/embench-iot verbose : False bd : /Users/user/embench-iot/bd configdir : /Users/user/embench-iot/config bd_configdir : /Users/user/embench-iot/bd/config archdir : /Users/user/embench-iot/config/arm bd_archdir : /Users/user/embench-iot/bd/config/arm chipdir : /Users/user/embench-iot/config/arm/chips/cortex-m4 bd_chipdir : /Users/user/embench-iot/bd/config/arm/chips/cortex-m4 boarddir : /Users/user/embench-iot/config/arm/boards/generic bd_boarddir : /Users/user/embench-iot/bd/config/arm/boards/generic env : {} benchdir : /Users/user/embench-iot/src bd_benchdir : /Users/user/embench-iot/bd/src supportdir : /Users/user/embench-iot/support bd_supportdir : /Users/user/embench-iot/bd/support cflags : ['-c', '-I/Users/user/embench-iot/support', '-I/Users/user/embench-iot/config/arm/boards/generic', '-I/Users/user/embench-iot/config/arm/chips/cortex-m4', '-I/Users/user/embench-iot/config/arm', '-DCPU_MHZ=1', '-DWARMUP_HEAT=1'] ldflags : ['--specs=nosys.specs'] cc : arm-none-eabi-gcc cc_define1_pattern : -D{0} cc_define2_pattern : -D{0}={1} cc_incdir_pattern : -I{0} cc_input_pattern : {0} cc_output_pattern : -o {0} ld_input_pattern : {0} ld_output_pattern : -o {0} user_libs : ['-lm'] dummy_libs : {} cpu_mhz : 1 warmup_heat : 1 timeout : 5 ld : arm-none-eabi-gcc
Compilation of support files successful Compilation of benchmark "aha-mont64" successful Warning: Link of benchmark "aha-mont64" failed In directory "/Users/user/embench-iot/bd/src/aha-mont64" Command was: arm-none-eabi-gcc --specs=nosys.specs -o aha-mont64 mont64.o /Users/user/embench-iot/bd/config/arm/chips/cortex-m4/chipsupport.o /Users/user/embench-iot/bd/config/arm/boards/generic/boardsupport.o /Users/user/embench-iot/bd/support/main.o /Users/user/embench-iot/bd/support/beebsc.o -lm
arm-none-eabi-gcc: error: nosys.specs: No such file or directory
Compilation of benchmark "crc32" successful Warning: Link of benchmark "crc32" failed In directory "/Users/user/embench-iot/bd/src/crc32" Command was: arm-none-eabi-gcc --specs=nosys.specs -o crc32 crc_32.o /Users/user/embench-iot/bd/config/arm/chips/cortex-m4/chipsupport.o /Users/user/embench-iot/bd/config/arm/boards/generic/boardsupport.o /Users/user/embench-iot/bd/support/main.o /Users/user/embench-iot/bd/support/beebsc.o -lm
arm-none-eabi-gcc: error: nosys.specs: No such file or directory
Compilation of benchmark "cubic" successful Warning: Link of benchmark "cubic" failed In directory "/Users/user/embench-iot/bd/src/cubic" Command was: arm-none-eabi-gcc --specs=nosys.specs -o cubic basicmath_small.o libcubic.o /Users/user/embench-iot/bd/config/arm/chips/cortex-m4/chipsupport.o /Users/user/embench-iot/bd/config/arm/boards/generic/boardsupport.o /Users/user/embench-iot/bd/support/main.o /Users/user/embench-iot/bd/support/beebsc.o -lm
arm-none-eabi-gcc: error: nosys.specs: No such file or directory
Warning: Compilation of libedn.c from source directory /Users/user/embench-iot/src/edn to binary directory /Users/user/embench-iot/bd/src/edn failed Command was: arm-none-eabi-gcc -c -I/Users/user/embench-iot/support -I/Users/user/embench-iot/config/arm/boards/generic -I/Users/user/embench-iot/config/arm/chips/cortex-m4 -I/Users/user/embench-iot/config/arm -DCPU_MHZ=1 -DWARMUP_HEAT=1 -o libedn.o /Users/user/embench-iot/src/edn/libedn.c
/Users/user/embench-iot/src/edn/libedn.c: In function 'benchmark_body': /Users/user/embench-iot/src/edn/libedn.c:364:7: error: 'for' loop initial declarations are only allowed in C99 mode /Users/user/embench-iot/src/edn/libedn.c:364:7: note: use option -std=c99 or -std=gnu99 to compile your code
Compilation of benchmark "huffbench" successful Warning: Link of benchmark "huffbench" failed In directory "/Users/user/embench-iot/bd/src/huffbench" Command was: arm-none-eabi-gcc --specs=nosys.specs -o huffbench libhuffbench.o /Users/user/embench-iot/bd/config/arm/chips/cortex-m4/chipsupport.o /Users/user/embench-iot/bd/config/arm/boards/generic/boardsupport.o /Users/user/embench-iot/bd/support/main.o /Users/user/embench-iot/bd/support/beebsc.o -lm
arm-none-eabi-gcc: error: nosys.specs: No such file or directory
Compilation of benchmark "matmult-int" successful Warning: Link of benchmark "matmult-int" failed In directory "/Users/user/embench-iot/bd/src/matmult-int" Command was: arm-none-eabi-gcc --specs=nosys.specs -o matmult-int matmult-int.o /Users/user/embench-iot/bd/config/arm/chips/cortex-m4/chipsupport.o /Users/user/embench-iot/bd/config/arm/boards/generic/boardsupport.o /Users/user/embench-iot/bd/support/main.o /Users/user/embench-iot/bd/support/beebsc.o -lm
arm-none-eabi-gcc: error: nosys.specs: No such file or directory
Compilation of benchmark "minver" successful Warning: Link of benchmark "minver" failed In directory "/Users/user/embench-iot/bd/src/minver" Command was: arm-none-eabi-gcc --specs=nosys.specs -o minver libminver.o /Users/user/embench-iot/bd/config/arm/chips/cortex-m4/chipsupport.o /Users/user/embench-iot/bd/config/arm/boards/generic/boardsupport.o /Users/user/embench-iot/bd/support/main.o /Users/user/embench-iot/bd/support/beebsc.o -lm
arm-none-eabi-gcc: error: nosys.specs: No such file or directory
Compilation of benchmark "nbody" successful Warning: Link of benchmark "nbody" failed In directory "/Users/user/embench-iot/bd/src/nbody" Command was: arm-none-eabi-gcc --specs=nosys.specs -o nbody nbody.o /Users/user/embench-iot/bd/config/arm/chips/cortex-m4/chipsupport.o /Users/user/embench-iot/bd/config/arm/boards/generic/boardsupport.o /Users/user/embench-iot/bd/support/main.o /Users/user/embench-iot/bd/support/beebsc.o -lm
arm-none-eabi-gcc: error: nosys.specs: No such file or directory
Warning: Compilation of nettle-aes.c from source directory /Users/user/embench-iot/src/nettle-aes to binary directory /Users/user/embench-iot/bd/src/nettle-aes failed Command was: arm-none-eabi-gcc -c -I/Users/user/embench-iot/support -I/Users/user/embench-iot/config/arm/boards/generic -I/Users/user/embench-iot/config/arm/chips/cortex-m4 -I/Users/user/embench-iot/config/arm -DCPU_MHZ=1 -DWARMUP_HEAT=1 -o nettle-aes.o /Users/user/embench-iot/src/nettle-aes/nettle-aes.c
/Users/user/embench-iot/src/nettle-aes/nettle-aes.c: In function 'verify_benchmark': /Users/user/embench-iot/src/nettle-aes/nettle-aes.c:1123:3: error: 'for' loop initial declarations are only allowed in C99 mode /Users/user/embench-iot/src/nettle-aes/nettle-aes.c:1123:3: note: use option -std=c99 or -std=gnu99 to compile your code
Warning: Compilation of nettle-sha256.c from source directory /Users/user/embench-iot/src/nettle-sha256 to binary directory /Users/user/embench-iot/bd/src/nettle-sha256 failed Command was: arm-none-eabi-gcc -c -I/Users/user/embench-iot/support -I/Users/user/embench-iot/config/arm/boards/generic -I/Users/user/embench-iot/config/arm/chips/cortex-m4 -I/Users/user/embench-iot/config/arm -DCPU_MHZ=1 -DWARMUP_HEAT=1 -o nettle-sha256.o /Users/user/embench-iot/src/nettle-sha256/nettle-sha256.c
/Users/user/embench-iot/src/nettle-sha256/nettle-sha256.c: In function 'verify_benchmark': /Users/user/embench-iot/src/nettle-sha256/nettle-sha256.c:434:3: error: 'for' loop initial declarations are only allowed in C99 mode /Users/user/embench-iot/src/nettle-sha256/nettle-sha256.c:434:3: note: use option -std=c99 or -std=gnu99 to compile your code
Compilation of benchmark "nsichneu" successful Warning: Link of benchmark "nsichneu" failed In directory "/Users/user/embench-iot/bd/src/nsichneu" Command was: arm-none-eabi-gcc --specs=nosys.specs -o nsichneu libnsichneu.o /Users/user/embench-iot/bd/config/arm/chips/cortex-m4/chipsupport.o /Users/user/embench-iot/bd/config/arm/boards/generic/boardsupport.o /Users/user/embench-iot/bd/support/main.o /Users/user/embench-iot/bd/support/beebsc.o -lm
arm-none-eabi-gcc: error: nosys.specs: No such file or directory
Compilation of benchmark "picojpeg" successful Warning: Link of benchmark "picojpeg" failed In directory "/Users/user/embench-iot/bd/src/picojpeg" Command was: arm-none-eabi-gcc --specs=nosys.specs -o picojpeg libpicojpeg.o picojpeg_test.o /Users/user/embench-iot/bd/config/arm/chips/cortex-m4/chipsupport.o /Users/user/embench-iot/bd/config/arm/boards/generic/boardsupport.o /Users/user/embench-iot/bd/support/main.o /Users/user/embench-iot/bd/support/beebsc.o -lm
arm-none-eabi-gcc: error: nosys.specs: No such file or directory
Compilation of benchmark "qrduino" successful Warning: Link of benchmark "qrduino" failed In directory "/Users/user/embench-iot/bd/src/qrduino" Command was: arm-none-eabi-gcc --specs=nosys.specs -o qrduino qrencode.o qrframe.o qrtest.o /Users/user/embench-iot/bd/config/arm/chips/cortex-m4/chipsupport.o /Users/user/embench-iot/bd/config/arm/boards/generic/boardsupport.o /Users/user/embench-iot/bd/support/main.o /Users/user/embench-iot/bd/support/beebsc.o -lm
arm-none-eabi-gcc: error: nosys.specs: No such file or directory
Compilation of benchmark "sglib-combined" successful Warning: Link of benchmark "sglib-combined" failed In directory "/Users/user/embench-iot/bd/src/sglib-combined" Command was: arm-none-eabi-gcc --specs=nosys.specs -o sglib-combined combined.o /Users/user/embench-iot/bd/config/arm/chips/cortex-m4/chipsupport.o /Users/user/embench-iot/bd/config/arm/boards/generic/boardsupport.o /Users/user/embench-iot/bd/support/main.o /Users/user/embench-iot/bd/support/beebsc.o -lm
arm-none-eabi-gcc: error: nosys.specs: No such file or directory
Compilation of benchmark "slre" successful Warning: Link of benchmark "slre" failed In directory "/Users/user/embench-iot/bd/src/slre" Command was: arm-none-eabi-gcc --specs=nosys.specs -o slre libslre.o /Users/user/embench-iot/bd/config/arm/chips/cortex-m4/chipsupport.o /Users/user/embench-iot/bd/config/arm/boards/generic/boardsupport.o /Users/user/embench-iot/bd/support/main.o /Users/user/embench-iot/bd/support/beebsc.o -lm
arm-none-eabi-gcc: error: nosys.specs: No such file or directory
Compilation of benchmark "st" successful Warning: Link of benchmark "st" failed In directory "/Users/user/embench-iot/bd/src/st" Command was: arm-none-eabi-gcc --specs=nosys.specs -o st libst.o /Users/user/embench-iot/bd/config/arm/chips/cortex-m4/chipsupport.o /Users/user/embench-iot/bd/config/arm/boards/generic/boardsupport.o /Users/user/embench-iot/bd/support/main.o /Users/user/embench-iot/bd/support/beebsc.o -lm
arm-none-eabi-gcc: error: nosys.specs: No such file or directory
Compilation of benchmark "statemate" successful Warning: Link of benchmark "statemate" failed In directory "/Users/user/embench-iot/bd/src/statemate" Command was: arm-none-eabi-gcc --specs=nosys.specs -o statemate libstatemate.o /Users/user/embench-iot/bd/config/arm/chips/cortex-m4/chipsupport.o /Users/user/embench-iot/bd/config/arm/boards/generic/boardsupport.o /Users/user/embench-iot/bd/support/main.o /Users/user/embench-iot/bd/support/beebsc.o -lm
arm-none-eabi-gcc: error: nosys.specs: No such file or directory
Compilation of benchmark "ud" successful Warning: Link of benchmark "ud" failed In directory "/Users/user/embench-iot/bd/src/ud" Command was: arm-none-eabi-gcc --specs=nosys.specs -o ud libud.o /Users/user/embench-iot/bd/config/arm/chips/cortex-m4/chipsupport.o /Users/user/embench-iot/bd/config/arm/boards/generic/boardsupport.o /Users/user/embench-iot/bd/support/main.o /Users/user/embench-iot/bd/support/beebsc.o -lm
arm-none-eabi-gcc: error: nosys.specs: No such file or directory
Compilation of benchmark "wikisort" successful Warning: Link of benchmark "wikisort" failed In directory "/Users/user/embench-iot/bd/src/wikisort" Command was: arm-none-eabi-gcc --specs=nosys.specs -o wikisort libwikisort.o /Users/user/embench-iot/bd/config/arm/chips/cortex-m4/chipsupport.o /Users/user/embench-iot/bd/config/arm/boards/generic/boardsupport.o /Users/user/embench-iot/bd/support/main.o /Users/user/embench-iot/bd/support/beebsc.o -lm
arm-none-eabi-gcc: error: nosys.specs: No such file or directory
Hello @GeorgeOnwubuya ,
could you please post the information of your toolchain?
arm-none-eabi-gcc -v
Thanks Paolo
Information on toolchain:
Using built-in specs. COLLECT_GCC=arm-none-eabi-gcc COLLECT_LTO_WRAPPER=/Users/user/Local/gcc_arm/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/lto-wrapper Target: arm-none-eabi Configured with: /Users/build/GCC-4-7-build/gcc-arm-none-eabi-4_7-2013q3-20130916/src/gcc/configure --target=arm-none-eabi --prefix=/Users/build/GCC-4-7-build/gcc-arm-none-eabi-4_7-2013q3-20130916/install-native --libexecdir=/Users/build/GCC-4-7-build/gcc-arm-none-eabi-4_7-2013q3-20130916/install-native/lib --infodir=/Users/build/GCC-4-7-build/gcc-arm-none-eabi-4_7-2013q3-20130916/install-native/share/doc/gcc-arm-none-eabi/info --mandir=/Users/build/GCC-4-7-build/gcc-arm-none-eabi-4_7-2013q3-20130916/install-native/share/doc/gcc-arm-none-eabi/man --htmldir=/Users/build/GCC-4-7-build/gcc-arm-none-eabi-4_7-2013q3-20130916/install-native/share/doc/gcc-arm-none-eabi/html --pdfdir=/Users/build/GCC-4-7-build/gcc-arm-none-eabi-4_7-2013q3-20130916/install-native/share/doc/gcc-arm-none-eabi/pdf --enable-languages=c,c++ --disable-decimal-float --disable-libffi --disable-libgomp --disable-libmudflap --disable-libquadmath --disable-libssp --disable-libstdcxx-pch --disable-nls --disable-shared --disable-threads --disable-tls --with-gnu-as --with-gnu-ld --with-newlib --with-headers=yes --with-python-dir=share/gcc-arm-none-eabi --with-sysroot=/Users/build/GCC-4-7-build/gcc-arm-none-eabi-4_7-2013q3-20130916/install-native/arm-none-eabi --build=x86_64-apple-darwin10 --host=x86_64-apple-darwin10 --with-gmp=/Users/build/GCC-4-7-build/gcc-arm-none-eabi-4_7-2013q3-20130916/build-native/host-libs/usr --with-mpfr=/Users/build/GCC-4-7-build/gcc-arm-none-eabi-4_7-2013q3-20130916/build-native/host-libs/usr --with-mpc=/Users/build/GCC-4-7-build/gcc-arm-none-eabi-4_7-2013q3-20130916/build-native/host-libs/usr --with-ppl=/Users/build/GCC-4-7-build/gcc-arm-none-eabi-4_7-2013q3-20130916/build-native/host-libs/usr --with-cloog=/Users/build/GCC-4-7-build/gcc-arm-none-eabi-4_7-2013q3-20130916/build-native/host-libs/usr --with-libelf=/Users/build/GCC-4-7-build/gcc-arm-none-eabi-4_7-2013q3-20130916/build-native/host-libs/usr --with-host-libstdcxx='-static-libgcc -Wl,-lstdc++ -lm' --with-pkgversion='GNU Tools for ARM Embedded Processors' --with-multilib-list=armv6-m,armv7-m,armv7e-m,armv7-r Thread model: single gcc version 4.7.4 20130913 (release) [ARM/embedded-4_7-branch revision 202601] (GNU Tools for ARM Embedded Processors)
Hi @GeorgeOnwubuya ,
Ok, you could try to look for nosys under your library folders like /Users/lib/arm-none-eabi. I'm not sure where it should be on your system, but it should contain it. Just if you want to make sure you haven't got it there while maybe defaulting to another installed toolchain by mistake.
Anyway if I'm correct that toolchain has been installed as a packet for your system, right? Usually in order to have a better control on what libraries you are using and what you are including, but above all in order to have control on the configuration of your toolchain and change it if necessary I'd suggest building gcc from scratch. If you want to have a look at the configuration we used for gcc to produce our results you can look here: https://github.com/embench/embench-iot-results Every set of results has the full configuration for gcc, binutils and newlib. @jeremybennett have we got somewhere to share the script we used to build our toolchains?
In the meantime you could also try to install a newer version of your arm toolchain (if it was installed as a packet). I've read here: https://trac.macports.org/ticket/57572 that they had a similar problem and fixed it with a patch. They switched then to gcc 9.2. I'm not sure whether that's where your toolchain comes from, but its a guess.
Best, Paolo
I had to donwload a more up to date version of gcc-arm-none-eabi. I have sucessfully built the benchmarks:
aha-mont64 crc32 cubic edn huffbench matmult-int minver nbody nettle-aes nettle-sha256 nsichneu picojpeg qrduino sglib-combined slre st statemate ud wikisort All benchmarks built successfully
I do have a few more questions. -> How do I run the benchmarks? I know you can run them with respect to speed and size. I am just curious as to what the minimum configuration looks like. -> Is there a way to run a single benchmark at a time?
Thanks, George O.
Hello @GeorgeOnwubuya , once you built the tests you need to run benchmark_size.py for size results and benchmark_speed.py for speed results. If you invoke them without arguments you'll see the required options. The size script doesn't need options, but you might want anyway to have a look at them in order to decide at least whether to have absolute results or results relative to the baseline.
The speed script instead requires that you at least pass a target module. These are the python modules in pylib/. Each of these modules describes a debug session that needs to interface with real hardware or at least emulated hardware (e.g. ri5cy verilated model).
Have a look at the results repo to have an idea of what kind of options we usually use for the tests: https://github.com/embench/embench-iot-results
You'll find also how we ran the baseline that I mentioned earlier, that is the sets of results against which the scripts calculate the relative data: https://github.com/embench/embench-iot-results/blob/master/details/cortexm4-armv7m-gcc-9.2-o2.mediawiki
Hope this helps. Paolo
Thanks @PaoloS02. I ran the benchmark_size.py and I am running into the error pasted below.
Traceback (most recent call last):
File "benchmark_size.py", line 24, in
Where do I find the module named 'elftools?
Hi @GeorgeOnwubuya
you probably need to install pyelftools if you haven't got it already. Does this work?
pip3 install pyelftools
Let me know Paolo
@PaoloS02 I've marked as an enhancement, to allow you to update the documentation in the light of @GeorgeOnwubuya experience.
I tried to compile the benchmarks using the following command:
_python3 buildall.py --arch arm --chip cortex-m4 --board generic
I am running into the error below Warning: Compilation of beebsc.c from source directory /Users/user/embench-iot/support to binary directory /Users/user/embench-iot/bd/support failed Warning: Compilation of main.c from source directory /Users/user/embench-iot/support to binary directory /Users/user/embench-iot/bd/support failed Warning: Compilation of chipsupport.c from source directory /Users/user/embench-iot/config/arm/chips/cortex-m4 to binary directory /Users/user/embench-iot/bd/config/arm/chips/cortex-m4 failed Warning: Compilation of boardsupport.c from source directory /Users/user/embench-iot/config/arm/boards/generic to binary directory /Users/user/embench-iot/bd/config/arm/boards/generic failed Warning: Compilation of mont64.c from source directory /Users/user/embench-iot/src/aha-mont64 to binary directory /Users/user/embench-iot/bd/src/aha-mont64 failed Warning: Compilation of crc_32.c from source directory /Users/user/embench-iot/src/crc32 to binary directory /Users/user/embench-iot/bd/src/crc32 failed Warning: Compilation of libcubic.c from source directory /Users/user/embench-iot/src/cubic to binary directory /Users/user/embench-iot/bd/src/cubic failed Warning: Compilation of basicmath_small.c from source directory /Users/user/embench-iot/src/cubic to binary directory /Users/user/embench-iot/bd/src/cubic failed Warning: Compilation of libedn.c from source directory /Users/user/embench-iot/src/edn to binary directory /Users/user/embench-iot/bd/src/edn failed Warning: Compilation of libhuffbench.c from source directory /Users/user/embench-iot/src/huffbench to binary directory /Users/user/embench-iot/bd/src/huffbench failed Warning: Compilation of matmult-int.c from source directory /Users/user/embench-iot/src/matmult-int to binary directory /Users/user/embench-iot/bd/src/matmult-int failed Warning: Compilation of libminver.c from source directory /Users/user/embench-iot/src/minver to binary directory /Users/user/embench-iot/bd/src/minver failed Warning: Compilation of nbody.c from source directory /Users/user/embench-iot/src/nbody to binary directory /Users/user/embench-iot/bd/src/nbody failed Warning: Compilation of nettle-aes.c from source directory /Users/user/embench-iot/src/nettle-aes to binary directory /Users/user/embench-iot/bd/src/nettle-aes failed Warning: Compilation of nettle-sha256.c from source directory /Users/user/embench-iot/src/nettle-sha256 to binary directory /Users/user/embench-iot/bd/src/nettle-sha256 failed Warning: Compilation of libnsichneu.c from source directory /Users/user/embench-iot/src/nsichneu to binary directory /Users/user/embench-iot/bd/src/nsichneu failed Warning: Compilation of picojpeg_test.c from source directory /Users/user/embench-iot/src/picojpeg to binary directory /Users/user/embench-iot/bd/src/picojpeg failed Warning: Compilation of libpicojpeg.c from source directory /Users/user/embench-iot/src/picojpeg to binary directory /Users/user/embench-iot/bd/src/picojpeg failed Warning: Compilation of qrtest.c from source directory /Users/user/embench-iot/src/qrduino to binary directory /Users/user/embench-iot/bd/src/qrduino failed Warning: Compilation of qrencode.c from source directory /Users/user/embench-iot/src/qrduino to binary directory /Users/user/embench-iot/bd/src/qrduino failed Warning: Compilation of qrframe.c from source directory /Users/user/embench-iot/src/qrduino to binary directory /Users/user/embench-iot/bd/src/qrduino failed Warning: Compilation of combined.c from source directory /Users/user/embench-iot/src/sglib-combined to binary directory /Users/user/embench-iot/bd/src/sglib-combined failed Warning: Compilation of libslre.c from source directory /Users/user/embench-iot/src/slre to binary directory /Users/user/embench-iot/bd/src/slre failed Warning: Compilation of libst.c from source directory /Users/user/embench-iot/src/st to binary directory /Users/user/embench-iot/bd/src/st failed Warning: Compilation of libstatemate.c from source directory /Users/user/embench-iot/src/statemate to binary directory /Users/user/embench-iot/bd/src/statemate failed Warning: Compilation of libud.c from source directory /Users/user/embench-iot/src/ud to binary directory /Users/user/embench-iot/bd/src/ud failed Warning: Compilation of libwikisort.c from source directory /Users/user/embench-iot/src/wikisort to binary directory /Users/user/embench-iot/bd/src/wikisort failed
Any idea on how to resolve this?
Thanks, George O.