cancel
Showing results for 
Search instead for 
Did you mean: 

Building error from CubeIde 1.14.0

Kim KyungTack
Associate III

hello.

I am creating a new development environment with this new PC purchase.

I installed the latest version(1.14.0) of CubeIDE and imported the old project that was building normally.

 

I expect it to build fine, but you get an error while building the project.

Here's a breakdown of the error

....

process_begin: CreateProcessW(D:\ST\STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.externaltools.make.win32_2.1.100.202310302056\tools\bin\sh.exe, D:/ST/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.make.win32_2.1.100.202310302056/tools/bin/sh.exe -c "arm-none-eabi-gcc \"../FATFS/Target/sd_diskio.c\" -mcpu=cortex-m4 -std=gnu18 -DUSE_HAL_DRIVER -DSTM32F429xx -DEW_FRAME_BUFFER_COLOR_FORMAT=EW_FRAME_BUFFER_COLOR_FORMAT_RGB565 -c -I../Drivers/CMSIS/Include -I.../Drivers/STM32F4xx_HAL_Driver/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I../Drivers/Driver -I../Drivers/Driver/components -I.../Drivers/Driver/components/stmpe811 -I../Drivers/Driver/components/tsc2007 -I../Middlewares/Third_Party/FatFs/src -I../Middlewares/Third_Party/Fonts -I.../Middlewares/Third_Party/EWizard -I../Middlewares/Third_Party/EWizard/Code -I../Middlewares/Third_Party/EWizard/Package/RGB565 -I../Middlewares/Third_Party/EWizard/Package/RTE -I.../Middlewares/Third_Party/EWizard/Target -I../FATFS/App -I../FATFS/Target -I../Core/Inc -Ofast -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF\"FATFS/Target/sd_diskio.d\" -MT\"FATFS/Target/sd_diskio.o\" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o \"FATFS/Target/sd_diskio.o\"", ...) failed.

make (e=87): The parameters is incorrect.

....

 

With the help of Google, I've confirmed that the error occurs when the length of the command exceeds 32K, but I'm not finding a solution.

Is there any way to fix this? I've attached a text file with the full console history.

 

1 ACCEPTED SOLUTION

Accepted Solutions
Semer CHERNI
ST Employee

Hello @Kim KyungTack 

First let me thank you for posting.

In fact you are right, this issue occurs when the command exceeds 32k and it's a limitation in Windows which will not be found in Linux or MAC OS.

To be able to build your project, I advise you to do one or both of theses points:

  • try to shorten the paths used
  • build the library used separately then link them

KR,
Semer.

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

View solution in original post

5 REPLIES 5
Semer CHERNI
ST Employee

Hello @Kim KyungTack 

First let me thank you for posting.

In fact you are right, this issue occurs when the command exceeds 32k and it's a limitation in Windows which will not be found in Linux or MAC OS.

To be able to build your project, I advise you to do one or both of theses points:

  • try to shorten the paths used
  • build the library used separately then link them

KR,
Semer.

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Thank you.

- build the library used separately then link them.

Which method are you referring to?

 

Pavel A.
Evangelist III

Apologies for jumping in - where is the command line > 32K chars/bytes?  The command that failed with error 87 does not exceed 32K, it is much less. The error likely is thrown by Windows API CreateProcessW and may be caused by the "..." parameters not printed in the log.

Linux or Mac obviously do not have this error because there is no CreateProcess().

For a quick trial:

1. please reproduce without the make -j option, to simplify the situation and logs. Will the same command fail again, with the same error?

2. Try internal builder instead of external

Interestingly, restarting the PC made the issue go away.

However, this issue does occur occasionally, and when it does, it goes away again after restarting the PC.

 

1. Where should I put the -j option in CubeIDE?

2. I'll try it when I get a chance.

Pavel A.
Evangelist III

PavelA_0-1705071357936.png

 

Next time instead of restarting the pc, try logout and login. Will this help too?