Vscode PIO build error: duplicate 'inline',I am using stm32f103ze,framework arduino

Processing genericSTM32F103ZE (platform: ststm32; board: genericSTM32F103ZE; framework: arduino)

Verbose mode can be enabled via -v, --verbose option
CONFIGURATION: Redirecting...
PLATFORM: ST STM32 > STM32F103ZE (64k RAM. 512k Flash)
HARDWARE: STM32F103ZET6 72MHz 64KB RAM (512KB Flash)
DEBUG: CURRENT(blackmagic) EXTERNAL(blackmagic, jlink, stlink)
Library Dependency Finder → Library Dependency Finder (LDF) — PlatformIO latest documentation
LDF MODES: FINDER(chain) COMPATIBILITY(soft)
Collected 30 compatible libraries
Scanning dependencies…
No dependencies
Compiling .pioenvs\genericSTM32F103ZE\src\main.cpp.o
Compiling .pioenvs\genericSTM32F103ZE\FrameworkArduinoVariant\board.cpp.o
Compiling .pioenvs\genericSTM32F103ZE\FrameworkArduinoVariant\wirish\boards.cpp.o
Compiling .pioenvs\genericSTM32F103ZE\FrameworkArduinoVariant\wirish\boards_setup.cpp.o
Compiling .pioenvs\genericSTM32F103ZE\FrameworkArduinoVariant\wirish\start.S.o
Compiling .pioenvs\genericSTM32F103ZE\FrameworkArduinoVariant\wirish\start_c.c.o
Compiling .pioenvs\genericSTM32F103ZE\FrameworkArduinoVariant\wirish\syscalls.c.o
Compiling .pioenvs\genericSTM32F103ZE\FrameworkArduino\HardwareSerial.cpp.o
In file included from c:\users\wenjinao.platformio\packages\toolchain-gccarmnoneeabi\arm-none-eabi\include\stdlib.h:19,
from c:\users\wenjinao.platformio\packages\toolchain-gccarmnoneeabi\arm-none-eabi\include\c++\8.2.1\cstdlib:75,
from c:\users\wenjinao.platformio\packages\toolchain-gccarmnoneeabi\arm-none-eabi\include\c++\8.2.1\stdlib.h:36,
from C:\Users\wenjinao.platformio\packages\framework-arduinoststm32\STM32F1\cores\maple/wirish.h:41,
from C:\Users\wenjinao.platformio\packages\framework-arduinoststm32\STM32F1\cores\maple/Arduino.h:30,
from src\main.cpp:1:
C:\Users\wenjinao.platformio\packages\framework-arduinoststm32\STM32F1\system\libmaple/stm32f1/include/series/gpio.h:489:15: error: duplicate ‘inline’
static inline __always_inline void afio_exti_select(exti_num exti, exti_cfg port) {
^~~~~~~~~~~~~~~
C:\Users\wenjinao.platformio\packages\framework-arduinoststm32\STM32F1\system\libmaple\include/libmaple/nvic.h:112:15: error: duplicate ‘inline’
static inline __always_inline void nvic_globalirq_enable() {
^~~~~~~~~~~~~~~
C:\Users\wenjinao.platformio\packages\framework-arduinoststm32\STM32F1\system\libmaple\include/libmaple/nvic.h:119:15: error: duplicate ‘inline’
static inline __always_inline void nvic_globalirq_disable() {
^~~~~~~~~~~~~~~
C:\Users\wenjinao.platformio\packages\framework-arduinoststm32\STM32F1\cores\maple/ext_interrupts.h:109:15: error: duplicate ‘inline’
static inline __always_inline void interrupts() {
^~~~~~~~~~~~~~~
C:\Users\wenjinao.platformio\packages\framework-arduinoststm32\STM32F1\cores\maple/ext_interrupts.h:123:15: error: duplicate ‘inline’
static inline __always_inline void noInterrupts() {
^~~~~~~~~~~~~~~
In file included from c:\users\wenjinao.platformio\packages\toolchain-gccarmnoneeabi\arm-none-eabi\include\stdlib.h:19,
from c:\users\wenjinao.platformio\packages\toolchain-gccarmnoneeabi\arm-none-eabi\include\c++\8.2.1\cstdlib:75,
from c:\users\wenjinao.platformio\packages\toolchain-gccarmnoneeabi\arm-none-eabi\include\c++\8.2.1\stdlib.h:36,
from C:\Users\wenjinao.platformio\packages\framework-arduinoststm32\STM32F1\cores\maple/WString.h:26,
from C:\Users\wenjinao.platformio\packages\framework-arduinoststm32\STM32F1\cores\maple/Print.h:27,
from C:\Users\wenjinao.platformio\packages\framework-arduinoststm32\STM32F1\cores\maple/HardwareSerial.h:38,
from C:\Users\wenjinao.platformio\packages\framework-arduinoststm32\STM32F1\variants\generic_stm32f103z\board.cpp:37:
C:\Users\wenjinao.platformio\packages\framework-arduinoststm32\STM32F1\system\libmaple/stm32f1/include/series/gpio.h:489:15: error: duplicate ‘inline’
static inline __always_inline void afio_exti_select(exti_num exti, exti_cfg port) {
^~~~~~~~~~~~~~~
*** [.pioenvs\genericSTM32F103ZE\FrameworkArduinoVariant\board.cpp.o] Error 1
Compiling .pioenvs\genericSTM32F103ZE\FrameworkArduino\HardwareTimer.cpp.o*** [.pioenvs\genericSTM32F103ZE\src\main.cpp.o] Error 1

In file included from c:\users\wenjinao.platformio\packages\toolchain-gccarmnoneeabi\arm-none-eabi\include\stdlib.h:19,
from c:\users\wenjinao.platformio\packages\toolchain-gccarmnoneeabi\arm-none-eabi\include\c++\8.2.1\cstdlib:75,
from c:\users\wenjinao.platformio\packages\toolchain-gccarmnoneeabi\arm-none-eabi\include\c++\8.2.1\stdlib.h:36,
from C:\Users\wenjinao.platformio\packages\framework-arduinoststm32\STM32F1\cores\maple\WString.h:26,
from C:\Users\wenjinao.platformio\packages\framework-arduinoststm32\STM32F1\cores\maple\Print.h:27,
from C:\Users\wenjinao.platformio\packages\framework-arduinoststm32\STM32F1\cores\maple\HardwareSerial.h:38,
from C:\Users\wenjinao.platformio\packages\framework-arduinoststm32\STM32F1\cores\maple\HardwareSerial.cpp:33:
C:\Users\wenjinao.platformio\packages\framework-arduinoststm32\STM32F1\system\libmaple/stm32f1/include/series/gpio.h:489:15: error: duplicate ‘inline’
static inline __always_inline void afio_exti_select(exti_num exti, exti_cfg port) {
^~~~~~~~~~~~~~~
C:\Users\wenjinao.platformio\packages\framework-arduinoststm32\STM32F1\system\libmaple\include/libmaple/nvic.h:112:15: error: duplicate ‘inline’
static inline __always_inline void nvic_globalirq_enable() {
^~~~~~~~~~~~~~~
C:\Users\wenjinao.platformio\packages\framework-arduinoststm32\STM32F1\system\libmaple\include/libmaple/nvic.h:119:15: error: duplicate ‘inline’
static inline __always_inline void nvic_globalirq_disable() {
^~~~~~~~~~~~~~~
*** [.pioenvs\genericSTM32F103ZE\FrameworkArduino\HardwareSerial.cpp.o] Error 1

Should be fixed in the upstream version ST STM32 — PlatformIO latest documentation

Hi,
I have the same issue trying to build for bluepill_f103c8 board.
Moreover,switching to upstream version, I receive the following error on terminal:

PackageManager: Installing framework-arduinoststm32 @ ~3.10300.181019
Error: Could not find a version that satisfies the requirement ‘~3.10300.181019’ for your system ‘windows_amd64’
The terminal process terminated with exit code: 1

Just a few weeks ago, building the same project did work without a problem!
Does this mean that none of the projects I have for bluepill_f103c8 board is buildable at the moment? If that’s the case, Is there any plan on when the issue could be solved?

Have you ever tried to update your PIO?The 3.6.6 version of PIO has fixed this issue,now you do not need to set the upstream version.image

Following a screenshot of my PlatformIO version:

MyPlatformIO_version

Hence, I’m not sure I’m following you: My version, being an upstream, is newer than yours, so why you’re suggesting to “downgrade” to solve the issue? Is the aforementioned issue present in the upstream version (newer) but not in the “regular one” (older)?

Please, could you clarify?

Thanks!

oh,I’m sorry .I’m not asking you to “downgrade”,maybe it is because I did not check the update, now my PIO version is 3.6.6.As I encountered this problem in the lower version, I solved it by “upstream”. However, after I updated it to 3.6.6, “upstream” was no longer needed.Since you have a higher version of PIO, you should not have this problem. Have you tried no to use “upstream”?like this :
platform = ststm32
framework = arduino
board = genericSTM32F103ZE

Rather than:
[env:genericSTM32F103ZE]
platform = GitHub - platformio/platform-ststm32: ST STM32: development platform for PlatformIO
;platform = ststm32
framework = arduino
board = genericSTM32F103ZE

I think it can be caused by using gcc 8.2.1. Previous versions of the STM32 platform wanted gcc to be as new as possible (at least version 5.1.0), but subsequent versions required version 7.2.1 (not 8). Check your compiler version in the Platformio packages directory.

At least I’m getting these errors when building my project with STM32 platform version 5.1.0 and gcc 8.2.1.

You can downgade toolchain with Redirecting...

[env:custom toolchain]
platform = ststm32
platform_packages =
  toolchain-gccarmnoneeabi @ <1.80000.0

<1.80000.0 means <8.0.0