Problems in pktgen build - dpdk

DPDK and PKTGEN version 20.07 , and have followed all commands in the install.md .
I get this warning which is being treated as an error
`
FAILED: lib/common/3d47a30##common#sta/core_info.c.o
cc -Ilib/common/3d47a30##common#sta -Ilib/common -I../lib/common -I/usr/local/include -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -O3 -march=native -mavx -mavx2 -DALLOW_EXPERIMENTAL_API -D_GNU_SOURCE -Wno-pedantic -Wno-format-truncation -fPIC -include rte_config.h -march=native -MD -MQ 'lib/common/3d47a30##common#sta/core_info.c.o' -MF 'lib/common/3d47a30##common#sta/core_info.c.o.d' -o 'lib/common/3d47a30##common#sta/core_info.c.o' -c ../lib/common/core_info.c
In file included from ../lib/common/core_info.c:27:
../lib/common/core_info.h: In function ‘lcore_mask’:
../lib/common/core_info.h:29:11: error: implicit declaration of function ‘rte_get_main_lcore’; did you mean ‘rte_get_next_lcore’? [-Werror=implicit-function-declaration]
29 | lid = rte_get_main_lcore();
| ^~~~~~~~~~~~~~~~~~
| rte_get_next_lcore
cc1: all warnings being treated as errors
Compiling C object 'app/a172ced##pktgen#exe/pktgen-arp.c.o'.
ninja: build stopped: subcommand failed.
`
Mentioned above. I have also tried with 20.02 and the latest 22.11.

based on live debug and discussion, the solution to problem is suggested as
use dpdk release download from here
Download pktgen dpdk hosted project link
As mentioned in the comment, the thumb rule is
The right way to build pktgen is following same order (year of release) of DPDK. That is if you have pktgen-dpdk-pktgen-22.2.0.tar.gz use at least dpdk 22.01 or higher. If you have pktgen pktgen-dpdk-pktgen-20.11.3. use DPDK 20.11.1 or higher
Always use release version major number of pktgen and dpdk to be same. This has more chance of getting it to work.

Related

Couldn't build llvm with gcc on archlinux

I tried to build llvm and got an error message related to stdlib.
I searched the cause with error message but
I don't know c/c++ well, so I couldn't understand what happened or how to fix this.
Please tell me what this means and what happened in my environment.
1: What I did
I tried to build llvm with below.
git clone https://github.com/llvm/llvm-project -b release/12.x
cd llvm-project
mkdir build
cd build
cmake -G Ninja \
-DDEFAULT_SYSROOT=${HOME}/riscv_github/riscv64-unknown-elf \
-DCMAKE_BUILD_TYPE="Debug" \
-DLLVM_TARGETS_TO_BUILD="X86;AArch64;RISCV" \
-DLLVM_ENABLE_PROJECTS="clang;libcxx;libcxxabi" \
../llvm
ninja
And got an error message below.
[8/4685] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ARMBuildAttrs.cpp.o
FAILED: lib/Support/CMakeFiles/LLVMSupport.dir/ARMBuildAttrs.cpp.o
/usr/bin/c++ -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/xxx/github.com/llvm-myriscvx120/build/lib/Support -I/home/xxx/github.com/llvm-myriscvx120/llvm/lib/Support -I/home/xxx/github.com/llvm-myriscvx120/build/include -I/home/xxx/github.com/llvm-myriscvx120/llvm/include -isystem /usr/bin/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wmisleading-indentation -fdiagnostics-color -g -std=c++14 -fno-exceptions -fno-rtti -MD -MT lib/Support/CMakeFiles/LLVMSupport.dir/ARMBuildAttrs.cpp.o -MF lib/Support/CMakeFiles/LLVMSupport.dir/ARMBuildAttrs.cpp.o.d -o lib/Support/CMakeFiles/LLVMSupport.dir/ARMBuildAttrs.cpp.o -c /home/xxx/github.com/llvm-myriscvx120/llvm/lib/Support/ARMBuildAttrs.cpp
In file included from /usr/include/c++/12.1.1/cstdlib:75,
from /usr/include/c++/12.1.1/bits/stl_algo.h:69,
from /usr/include/c++/12.1.1/algorithm:61,
from /home/xxx/github.com/llvm-myriscvx120/llvm/include/llvm/ADT/Hashing.h:51,
from /home/xxx/github.com/llvm-myriscvx120/llvm/include/llvm/ADT/ArrayRef.h:12,
from /home/xxx/github.com/llvm-myriscvx120/llvm/include/llvm/Support/ELFAttributes.h:12,
from /home/xxx/github.com/llvm-myriscvx120/llvm/include/llvm/Support/ARMBuildAttributes.h:21,
from /home/xxx/github.com/llvm-myriscvx120/llvm/lib/Support/ARMBuildAttrs.cpp:9:
/usr/include/stdlib.h:579:5: error: expected initializer before ‘__attr_dealloc_free’
579 | __attr_dealloc_free;
| ^~~~~~~~~~~~~~~~~~~
/usr/include/stdlib.h:583:14: error: expected initializer before ‘__attr_dealloc’
583 | __THROW __attr_dealloc (reallocarray, 1);
| ^~~~~~~~~~~~~~
/usr/include/stdlib.h:606:35: error: expected initializer before ‘__attribute_alloc_align__’
606 | __THROW __attribute_malloc__ __attribute_alloc_align__ ((1))
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/stdlib.h:812:6: error: expected initializer before ‘__attr_dealloc_free’
812 | __attr_dealloc_free __wur;
| ^~~~~~~~~~~~~~~~~~~
/usr/include/stdlib.h:961:3: error: expected initializer before ‘__fortified_attr_access’
961 | __fortified_attr_access (__write_only__, 1, 3)
| ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/stdlib.h:1016:30: error: expected initializer before ‘__fortified_attr_access’
1016 | __THROW __nonnull ((2)) __fortified_attr_access (__write_only__, 2, 3);
| ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12.1.1/cstdlib:171:11: error: ‘wcstombs’ has not been declared in ‘::’
171 | using ::wcstombs;
| ^~~~~~~~
ninja: build stopped: subcommand failed.
It seemed to me that gcc is broken, so I tried to build llvm with gcc-11(g++-11) and gcc-10(g++-10), and got the same error.
After that, I checkout to the release/11.x branch and try to build with the same cmake options.
Then the build step started and it seems well.
So I tried another branches, release/13.x, release/14.x, release/15.x and they wouldn't work.
2: My Env
$ uname -a
Linux arch-x13 5.18.16-arch1-1 #1 SMP PREEMPT_DYNAMIC Wed, 03 Aug 2022 11:25:04 +000 x86_64 GNU/Linux
$ gcc --version
gcc (GCC) 12.1.1 20220730
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ cmake --version
cmake version 3.23.3
CMake suite maintained and supported by Kitware (kitware.com/cmake).**strong text**
$ ninja --version
1.11.0
Edit:
I could build llvm of release/12.x branch at Ubuntu20.04 machine with gcc-9 and gcc-10, so I tagged archlinux to this question.
I also tried some version of c++ standard, 20, 17 and 14 using the option DCMAKE_CXX_STANDARD=, but it wouldn't help.
I could find the cause with the help of my colleague.
The reason is the -isystem /usr/bin/include option.
In my laptop, the path existed surely, but I don't remember what this is, and pacman and paru knew neither...

g++10, C++20, boost 1.75.0 :: error: 'awaitable' has not been declared in 'boost::asio'

I tried to compile the example: echo_server_with_as_single_default.cpp from boost examples on an:
ubuntu 18.04
boost 1.75.0
g++ 10.1.0
Using the following commands to compile&link (I know it's not optimal, I reused the makefile from another project I am working on):
g++ -MT bin/.o/src/main.o -MD -MP -MF bin/.d/src/main.d -std=c++20 -Isrc -Ilib/ -g -Wfatal-errors -c -o bin/.o/src/main.o src/main.cpp
g++ -o bin/server bin/.o/src/main.o -lpthread -lrt -lboost_system -lboost_thread -lboost_chrono -lboost_context -lboost_coroutine -DBOOST_COROUTINES_NO_DEPRECATION_WARNING
And I get the following error:
I tried diferrent combinations but there is something I am missing. Any help?
error: 'awaitable' has not been declared in 'boost::asio'
22 | using boost::asio::awaitable;
Currently, coroutines are not enabled by default in gcc. You need to pass the -fcoroutines compiler switch in order to enable them. This will probably change soon as it already works with the current gcc trunk version.
See here (I had to comment out the code in main due to the execution time cap in godbolt.org).

Zephyr hello world application failed for ESP32

OS: Ubuntu 18.04,64bit (New Installed)
Zephyr Version: 2.2.99
Zephyr SDK Version: 0.11.2
xtensa-esp32-elf-gcc Version: 5.2.0 --build=x86_64-build_pc-linux-gnu
As per getting started guide for Zephyr and esp, we have set environment variable.
export ZEPHYR_TOOLCHAIN_VARIANT="espressif"
export ESPRESSIF_TOOLCHAIN_PATH="/home/swapna/Documents/Workspace/esp/xtensa-esp32-elf"
export ZEPHYR_SDK_INSTALL_DIR="/home/swapna/Documents/Workspace/Zephyr_ESP/zephyr-sdk"
We building hello_world application:
west build -b esp32 samples/hello_world
[84/122] Building ASM object modules/xtensa/CMakeFiles/modules_xtensa_hal.dir/src/hal/cache_asm.S.obj
FAILED: modules/xtensa/CMakeFiles/modules_xtensa_hal.dir/src/hal/cache_asm.S.obj
ccache /home/swapna/Documents/Workspace/esp/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc -DBUILD_VERSION=zephyr-v2.2.0-844-g6c2451c5c0a6 -DKERNEL -D_FORTIFY_SOURCE=2 -D__ZEPHYR__=1 -I/home/swapna/Documents/Workspace/Zephyr_ESP/zp/zephyr/include -Izephyr/include/generated -I/home/swapna/Documents/Workspace/Zephyr_ESP/zp/zephyr/soc/xtensa/esp32 -I/home/swapna/Documents/Workspace/Zephyr_ESP/zp/zephyr/soc/xtensa/esp32/include -I/home/swapna/Documents/Workspace/Zephyr_ESP/zp/modules/hal/esp-idf/zephyr/../components/esp32/include -I/home/swapna/Documents/Workspace/Zephyr_ESP/zp/modules/hal/esp-idf/zephyr/../components/soc/esp32/include -I/home/swapna/Documents/Workspace/Zephyr_ESP/zp/modules/hal/xtensa/include -I/home/swapna/Documents/Workspace/Zephyr_ESP/zp/modules/hal/xtensa/zephyr/soc/esp32 -isystem /home/swapna/Documents/Workspace/Zephyr_ESP/zp/zephyr/lib/libc/minimal/include -isystem /home/swapna/Documents/Workspace/esp/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/5.2.0/include -isystem /home/swapna/Documents/Workspace/esp/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/5.2.0/include-fixed -Os -imacros/home/swapna/Documents/Workspace/Zephyr_ESP/zp/zephyr/build/zephyr/include/generated/autoconf.h -ffreestanding -fno-common -g -xassembler-with-cpp -imacros/home/swapna/Documents/Workspace/Zephyr_ESP/zp/zephyr/include/toolchain/zephyr_stdint.h -D_ASMLANGUAGE -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wno-main -Wno-pointer-sign -Wpointer-arith -Wno-unused-but-set-variable -Werror=implicit-int -fno-asynchronous-unwind-tables -fno-pie -fno-pic -fno-strict-overflow -fno-reorder-functions -fno-defer-pop -ffunction-sections -fdata-sections -mlongcalls -nostdinc -MD -MT modules/xtensa/CMakeFiles/modules_xtensa_hal.dir/src/hal/cache_asm.S.obj -MF modules/xtensa/CMakeFiles/modules_xtensa_hal.dir/src/hal/cache_asm.S.obj.d -o modules/xtensa/CMakeFiles/modules_xtensa_hal.dir/src/hal/cache_asm.S.obj -c /home/swapna/Documents/Workspace/Zephyr_ESP/zp/modules/hal/xtensa/src/hal/cache_asm.S
/home/swapna/Documents/Workspace/Zephyr_ESP/zp/modules/hal/xtensa/src/hal/cache_asm.S: Assembler messages:
/home/swapna/Documents/Workspace/Zephyr_ESP/zp/modules/hal/xtensa/src/hal/cache_asm.S:186: Error: unknown opcode or format name 'declfunc'
There is a mistake in environment path.
1. ESPRESSIF_TOOLCHAIN_PATH
Build the esp32's hello world application using esp_guide.
As per the documentation about how to build the toolchain path is set in
$HOME/.espressif/tools/xtensa-esp32-elf/esp-2020r1-8.2.0/xtensa-esp32-elf/
Changed this setting and tried building again. Again build failed error
Build still getting failed. I checked the issues related to esp32 on the github. Came across with this.
So, I modified in the code as per the changes mentioned in the commit. And Voila!! It worked. Successfully build and flashed on esp32.
Here is updated version of the environment setup:
https://docs.zephyrproject.org/latest/boards/xtensa/esp32/doc/index.html
You can now use west espressif install and west espressif update to manage toolchain. Still, you need to provide path to toolchain binaries in environmental variables, i.e add this to your ~/.profile:
export ESPRESSIF_TOOLCHAIN_PATH="${HOME}/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf"
export PATH=$PATH:$ESPRESSIF_TOOLCHAIN_PATH/bin

C++ 2 Eclipse Based IDEs, 1 catches exceptions, the other doesn't

I'm a little stuck at the moment.
I have been working on a C++ project lately but i'm having trouble with exceptions.
The target is an STM32.
I set up 2 projects using STs Cube MX Code Generator.
The code executed is
try
{
throw 1;
}
catch(const int& ex)
{
configASSERT(0);
}
My used IDE (SW4STM32, eclipse based, g++) fails to catch the exception. I'm always running into the termination handler. The other IDE (atolic true studio, eclipse based, g++) catches the exception.
Therefore it's not a target problem but an IDE problem. I already did remove the fno-exceptions from the g++ compiler and the linker options. But still no luck.
Do you have any others ideas on where to look?
Thx :)
Edit:
SW4STM32 Compiler Flags (Console Output)
22:40:11 **** Incremental Build of configuration Debug for project Test_Exceptions_AC6 ****
make -j4 all
Building file: ../Core/Src/User/Test/Test.cpp
Invoking: MCU G++ Compiler
Test_Exceptions_AC6\Debug
arm-none-eabi-g++ -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 '-D__weak=__attribute__((weak))' '-D__packed=__attribute__((__packed__))' -DUSE_HAL_DRIVER -DSTM32F429xx -I"xxx/Test_Exceptions_AC6/Core/Inc" -I"xxx/Test_Exceptions_AC6/Core/Inc/User" -I"xxx/Test_Exceptions_AC6/Drivers/STM32F4xx_HAL_Driver/Inc" -I"xxx/Test_Exceptions_AC6/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy" -I"xxx/Test_Exceptions_AC6/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F" -I"xxx/Test_Exceptions_AC6/Drivers/CMSIS/Device/ST/STM32F4xx/Include" -I"xxx/Test_Exceptions_AC6/Middlewares/Third_Party/FreeRTOS/Source/include" -I"xxx/Test_Exceptions_AC6/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"xxx/Test_Exceptions_AC6/Drivers/CMSIS/Include" -Og -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fno-rtti -MMD -MP -MF"Core/Src/User/Test/Test.d" -MT"Core/Src/User/Test/Test.o" -o "Core/Src/User/Test/Test.o" "../Core/Src/User/Test/Test.cpp"
../Core/Src/User/Test/Test.cpp: In function 'void Test_Func()':
../Core/Src/User/Test/Test.cpp:56:21: warning: unused variable 'n_elements' [-Wunused-variable]
volatile uint32_t n_elements = test_custom_list.size();
^~~~~~~~~~
Finished building: ../Core/Src/User/Test/Test.cpp
SW4STM32 Linker Output
Building target: Test_Exceptions_AC6.elf
Invoking: MCU G++ Linker
arm-none-eabi-g++ -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -specs=nosys.specs -specs=nano.specs -T"../STM32F429ZITx_FLASH.ld" -Wl,-Map=output.map -Wl,--gc-sections -fno-rtti -o "Test_Exceptions_AC6.elf" #"objects.list" -lm
Finished building target: Test_Exceptions_AC6.elf
make --no-print-directory post-build
Generating hex and Printing size information:
arm-none-eabi-objcopy -O ihex "Test_Exceptions_AC6.elf" "Test_Exceptions_AC6.hex"
arm-none-eabi-size "Test_Exceptions_AC6.elf"
text data bss dec hex filename
Attolic Output
22:46:09 **** Incremental Build of configuration Debug for project Exceptions_True_Studio ****
Info: Internal Builder is used for build
arm-atollic-eabi-g++ -c ..\Core\Src\User\Test\Test.cpp -mthumb -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -std=c++14 -DSTM32F10X_MD -DSTM32F429xx -D__packed=__attribute__((__packed__)) -D__weak=__attribute__((weak)) -DUSE_STDPERIPH_DRIVER -I../Core/Inc/User -I../Core/Inc/ -I../Drivers/CMSIS/Include -I../Middlewares/Third_Party/FreeRTOS/Source/include -I../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -I../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I../Drivers/STM32F4xx_HAL_Driver/Inc -I../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -O0 -ffunction-sections -g -fstack-usage -Wall -Wextra -Wfatal-errors -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -fno-threadsafe-statics -o Core\Src\User\Test\Test.o
..\Core\Src\User\Test\Test.cpp: In function 'void Test_Func()':
..\Core\Src\User\Test\Test.cpp:47:21: warning: unused variable 'n_elements' [-Wunused-variable]
volatile uint32_t n_elements = test_custom_list.size();
^~~~~~~~~~
arm-atollic-eabi-g++ -o Exceptions_True_Studio.elf Core\Src\User\Test\Test.o Core\Src\crc.o Core\Src\dma2d.o Core\Src\fmc.o Core\Src\freertos.o Core\Src\gpio.o Core\Src\i2c.o Core\Src\ltdc.o Core\Src\main.o Core\Src\spi.o Core\Src\stm32f4xx_hal_msp.o Core\Src\stm32f4xx_hal_timebase_TIM.o Core\Src\stm32f4xx_it.o Core\Src\system_stm32f4xx.o Core\Src\tim.o Core\Src\usart.o Core\Src\usb_otg.o Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal.o Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_cortex.o Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_crc.o Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dma.o Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dma2d.o Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dma_ex.o Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dsi.o Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_flash.o Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_flash_ex.o Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_flash_ramfunc.o Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_gpio.o Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_hcd.o Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_i2c.o Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_i2c_ex.o Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_ltdc.o Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_ltdc_ex.o Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pwr.o Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pwr_ex.o Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rcc.o Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rcc_ex.o Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_sdram.o Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_spi.o Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_tim.o Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_tim_ex.o Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_uart.o Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_fmc.o Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_usb.o Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS\cmsis_os.o Middlewares\Third_Party\FreeRTOS\Source\croutine.o Middlewares\Third_Party\FreeRTOS\Source\event_groups.o Middlewares\Third_Party\FreeRTOS\Source\list.o Middlewares\Third_Party\FreeRTOS\Source\portable\GCC\ARM_CM4F\port.o Middlewares\Third_Party\FreeRTOS\Source\portable\MemMang\heap_4.o Middlewares\Third_Party\FreeRTOS\Source\queue.o Middlewares\Third_Party\FreeRTOS\Source\tasks.o Middlewares\Third_Party\FreeRTOS\Source\timers.o startup\startup_stm32f429xx.o -mthumb -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -T../STM32F429ZI_FLASH.ld -specs=nosys.specs -static -Wl,-cref,-u,Reset_Handler, -Wl,-Map=Exceptions_True_Studio.map -Wl,--gc-sections -Wl,--defsym=malloc_getpagesize_P=0x1000 -Wl,--start-group -lc -lm -lstdc++ -lsupc++ -Wl,--end-group
C:\Program Files (x86)\Atollic\TrueSTUDIO for STM32 9.0.1\ide\jre\bin\java -jar C:\Program Files (x86)\Atollic\TrueSTUDIO for STM32 9.0.1\Tools\arm-atollic-reports.jar sizeinfo list Exceptions_True_Studio.elf
Generate build reports...
Print size information
text data bss dec hex filename
307304 1924 173124 482352 75c30 Exceptions_True_Studio.elf
Print size information done
Generate listing file
Output sent to: Exceptions_True_Studio.list
Generate listing file done
Generate build reports done
arm-atollic-eabi-objcopy.exe -O ihex Exceptions_True_Studio.elf Exceptions_True_Studio.hex
Info: Parallel threads used: 1
22:46:21 Build Finished (took 12s.140ms)
Now as you can see, there is no fnoexceptions active. Therefore I'd expect to receive exceptions. :(
SW4STM32 uses Eclipse Platform 4.6.3 Eclipse CDT 9.2.1
Attolic uses Eclipse Platform 4.6.1, Eclipse CDT 9.1.0
So the eclipse base versions are pretty similar.
Do you have any other ideas?

How to force Bazel to use gcc?

Ubuntu 17.10
GCC Version: 5.4
Bazel Version: 0.9.0
TensorFlow: r1.5
CUDA 8.0 / cuDNN 6 / GTX 1080 Ti
How do I make Bazel use gcc for building TensorFlow from source?
While building, its running into compiler errors like:
error: 'errno' was not declared in this scope
while (nanosleep(&ts, &ts) != 0 && errno == EINTR) {}
Setting --verbose_failures flag, it shows that its not using /usr/bin/gcc-5 or /usr/bin/gcc for compiling
external/local_config_cuda/crosstool/clang/bin/crosstool_wrapper_driver_is_not_gcc -U_FORTIFY_SOURCE '-D_FORTIFY_SOURCE=1' -fstack-protector -fPIE -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer -g0 -O2 -DNDEBUG -ffunction-sections -fdata-sections -g0 -DGEMMLOWP_ALLOW_SLOW_SCALAR_FALLBACK '-march=native' '-std=c++11' -g0 -MD -MF
Searching online, I found that the path to gcc and CC, CXX variables must be set in tools/cpp/CROSSTOOL. But where exactly is tools/cpp/CROSSTOOL?? How do I force bazel to use gcc-5?
I know next to nothing about cuda and tensorflow, but tensorflow doesn't use the same C++ toolchain that bazel autoconfigures when compiling with cuda, so the CC env variable trick won't work. The file crosstool_wrapper_driver_is_not_gcc is just a shell wrapper that could in theory still call your gcc (or it will be cuda). I'd run bazel with --subcommands to see the complete invocation of the failing action, then reproduce without bazel, and then go from there.