M5Stick Plus2 cant't compile in the company environment

I’m using VSCode with PlatformIO to develop a project for M5Stick Plus2.

I can compile the project without any problem on my home PC,
but when I try to compile it at my company,
it fails with the errors shown below — even though I’m using the same environment and the same platformio.ini file.

Environment

  • Both environments are running on Windows
  • VSCode + PlatformIO used in both locations
  • platformio.ini is taken from GitHub (see below)
  • Internet access is available in both environments
; PlatformIO Project Configuration File
;
;   Build options: build flags, source filter
;   Upload options: custom upload port, speed and extra flags
;   Library options: dependencies, extra library storages
;   Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html

[env:m5stick-c-plus2]
platform = espressif32
board = m5stick-c
framework = arduino
lib_deps = 
	m5stack/M5StickCPlus2@^1.0.2
	knolleary/PubSubClient@^2.8
	bblanchon/ArduinoJson@^7.4.2
	m5stack/M5Unified@^0.2.7
build_flags = 
	-DCORE_DEBUG_LEVEL=3
	-DBOARD_HAS_PSRAM
monitor_speed = 115200
monitor_filters = 
	esp32_exception_decoder
upload_speed = 921600
upload_port = auto
board_build.filesystem = spiffs
board_build.partitions = min_spiffs.csv

Error at company

|   |-- FS @ 2.0.0 (License: Unknown, Path: C:\Users\qr08632\.platformio\packages\framework-arduinoespressif32\libraries\FS)     
|-- WiFi @ 2.0.0 (License: Unknown, Path: C:\Users\qr08632\.platformio\packages\framework-arduinoespressif32\libraries\WiFi)     
Building in release mode
xtensa-esp32-elf-g++ -o .pio\build\m5stick-c-plus2\firmware.elf -mlongcalls -Wno-frame-address -Wl,--cref -Wl,--gc-sections -fno-rtti -fno-lto -Wl,--wrap=esp_log_write -Wl,--wrap=esp_log_writev -Wl,--wrap=log_printf -Wl,--wrap=longjmp -Wl,--undefined=uxTopUsedPriority -T esp32.rom.redefined.ld -T memory.ld -T sections.ld -T esp32.rom.ld -T esp32.rom.api.ld -T esp32.rom.libgcc.ld -T esp32.rom.newlib-data.ld -T esp32.rom.syscalls.ld -T esp32.peripherals.ld -u ld_include_hli_vectors_bt -u _Z5setupv -u _Z4loopv -u esp_app_desc -u pthread_include_pthread_impl -u pthread_include_pthread_cond_var_impl -u pthread_include_pthread_local_storage_impl -u pthread_include_pthread_rwlock_impl -u include_esp_phy_override -u ld_include_highint_hdl -u start_app -u start_app_other_cores -u __ubsan_include -u __assert_func -u vfs_include_syscalls_impl -u app_main -u newlib_include_heap_impl -u newlib_include_syscalls_impl -u newlib_include_pthread_impl -u newlib_include_assert_impl -u __cxa_guard_dummy -Wl,-Map="C:\work\ENA\Golf_HILS_System\sensor-firmware\.pio\build\m5stick-c-plus2\firmware.map" .pio\build\m5stick-c-plus2\src\CommManager\swing_data_transmitter.cpp.o .pio\build\m5stick-c-plus2\src\InputManager\golf_club_selector.cpp.o .pio\build\m5stick-c-plus2\src\SensorManager\imu_data_acquisition.cpp.o .pio\build\m5stick-c-plus2\src\main.cpp.o -L.pio\build\m5stick-c-plus2 -LC:\Users\qr08632\.platformio\packages\framework-arduinoespressif32\tools\sdk\esp32\lib -LC:\Users\qr08632\.platformio\packages\framework-arduinoespressif32\tools\sdk\esp32\ld -LC:\Users\qr08632\.platformio\packages\framework-arduinoespressif32\tools\sdk\esp32\dio_qspi -Wl,--start-group .pio\build\m5stick-c-plus2\libefb\libSPI.a .pio\build\m5stick-c-plus2\libf65\libWire.a .pio\build\m5stick-c-plus2\lib04f\libM5GFX.a .pio\build\m5stick-c-plus2\libe85\libM5Unified.a .pio\build\m5stick-c-plus2\lib0ee\libDFRobot_GP8XXX.a .pio\build\m5stick-c-plus2\lib929\libM5StickCPlus2.a .pio\build\m5stick-c-plus2\lib548\libPubSubClient.a .pio\build\m5stick-c-plus2\lib519\libWiFi.a .pio\build\m5stick-c-plus2\lib0ff\libESPmDNS.a .pio\build\m5stick-c-plus2\libe07\libFS.a .pio\build\m5stick-c-plus2\lib9f9\libSPIFFS.a .pio\build\m5stick-c-plus2\lib406\libWebServer.a .pio\build\m5stick-c-plus2\libFrameworkArduino.a -lesp_ringbuf -lefuse -lesp_ipc -ldriver -lesp_pm -lmbedtls -lapp_update -lbootloader_support -lspi_flash -lnvs_flash -lpthread -lesp_gdbstub -lespcoredump -lesp_phy -lesp_system -lesp_rom -lhal -lvfs -lesp_eth -ltcpip_adapter -lesp_netif -lesp_event -lwpa_supplicant -lesp_wifi -lconsole -llwip -llog -lheap -lsoc -lesp_hw_support -lxtensa -lesp_common -lesp_timer -lfreertos -lnewlib -lcxx -lapp_trace -lasio -lbt -lcbor -lunity -lcmock -lcoap -lnghttp -lesp-tls -lesp_adc_cal -lesp_hid -ltcp_transport -lesp_http_client -lesp_http_server -lesp_https_ota -lesp_https_server -lesp_lcd -lprotobuf-c -lprotocomm -lmdns -lesp_local_ctrl -lsdmmc -lesp_serial_slave_link -lesp_websocket_client -lexpat -lwear_levelling -lfatfs -lfreemodbus -ljsmn -ljson -llibsodium -lmqtt -lopenssl -lperfmon -lspiffs -lulp -lwifi_provisioning -lrmaker_common -lesp_diagnostics -lrtc_store -lesp_insights -ljson_parser -ljson_generator -lesp_schedule -lespressif__esp_secure_cert_mgr -lesp_rainmaker -lgpio_button -lqrcode -lws2812_led -lesp32-camera -lesp_littlefs -lespressif__esp-dsp -lfb_gfx -lasio -lcmock -lunity -lcoap -lesp_lcd -lesp_websocket_client -lexpat -lfreemodbus -ljsmn -llibsodium -lperfmon -lesp_adc_cal -lesp_hid -lfatfs -lwear_levelling -lopenssl -lspiffs -lesp_insights -lcbor -lesp_diagnostics -lrtc_store -lesp_rainmaker -lesp_local_ctrl -lesp_https_server -lwifi_provisioning -lprotocomm -lbt -lbtdm_app -lprotobuf-c -lmdns -ljson -ljson_parser -ljson_generator -lesp_schedule -lespressif__esp_secure_cert_mgr -lqrcode -lrmaker_common -lmqtt -lcat_face_detect -lhuman_face_detect -lcolor_detect -lmfn -ldl -lesp_ringbuf -lefuse -lesp_ipc -ldriver -lesp_pm -lmbedtls -lapp_update -lbootloader_support -lspi_flash -lnvs_flash -lpthread -lesp_gdbstub -lespcoredump -lesp_phy -lesp_system -lesp_rom -lhal -lvfs -lesp_eth -ltcpip_adapter -lesp_netif -lesp_event -lwpa_supplicant -lesp_wifi -lconsole -llwip -llog -lheap -lsoc -lesp_hw_support -lxtensa -lesp_common -lesp_timer -lfreertos -lnewlib -lcxx -lapp_trace -lnghttp -lesp-tls -ltcp_transport -lesp_http_client -lesp_http_server -lesp_https_ota -lsdmmc -lesp_serial_slave_link -lulp -lmbedtls_2 -lmbedcrypto -lmbedx509 -lcoexist -lcore -lespnow -lmesh -lnet80211 -lpp -lsmartconfig -lwapi -lesp_ringbuf -lefuse -lesp_ipc -ldriver -lesp_pm -lmbedtls -lapp_update -lbootloader_support -lspi_flash -lnvs_flash -lpthread -lesp_gdbstub -lespcoredump -lesp_phy -lesp_system -lesp_rom -lhal -lvfs -lesp_eth -ltcpip_adapter -lesp_netif -lesp_event -lwpa_supplicant -lesp_wifi -lconsole -llwip -llog -lheap -lsoc -lesp_hw_support -lxtensa -lesp_common -lesp_timer -lfreertos -lnewlib -lcxx -lapp_trace -lnghttp -lesp-tls -ltcp_transport -lesp_http_client -lesp_http_server -lesp_https_ota -lsdmmc -lesp_serial_slave_link -lulp -lmbedtls_2 -lmbedcrypto -lmbedx509 -lcoexist -lcore -lespnow -lmesh -lnet80211 -lpp -lsmartconfig -lwapi -lesp_ringbuf -lefuse -lesp_ipc -ldriver -lesp_pm -lmbedtls -lapp_update -lbootloader_support -lspi_flash -lnvs_flash -lpthread -lesp_gdbstub -lespcoredump -lesp_phy -lesp_system -lesp_rom -lhal -lvfs -lesp_eth -ltcpip_adapter -lesp_netif -lesp_event -lwpa_supplicant -lesp_wifi -lconsole -llwip -llog -lheap -lsoc -lesp_hw_support -lxtensa -lesp_common -lesp_timer -lfreertos -lnewlib -lcxx -lapp_trace -lnghttp -lesp-tls -ltcp_transport -lesp_http_client -lesp_http_server -lesp_https_ota -lsdmmc -lesp_serial_slave_link -lulp -lmbedtls_2 -lmbedcrypto -lmbedx509 -lcoexist -lcore -lespnow -lmesh -lnet80211 -lpp -lsmartconfig -lwapi -lesp_ringbuf -lefuse -lesp_ipc -ldriver -lesp_pm -lmbedtls -lapp_update -lbootloader_support -lspi_flash -lnvs_flash -lpthread -lesp_gdbstub -lespcoredump -lesp_phy -lesp_system -lesp_rom -lhal -lvfs -lesp_eth -ltcpip_adapter -lesp_netif -lesp_event -lwpa_supplicant -lesp_wifi -lconsole -llwip -llog -lheap -lsoc -lesp_hw_support -lxtensa -lesp_common -lesp_timer -lfreertos -lnewlib -lcxx -lapp_trace -lnghttp -lesp-tls -ltcp_transport -lesp_http_client -lesp_http_server -lesp_https_ota -lsdmmc -lesp_serial_slave_link -lulp -lmbedtls_2 -lmbedcrypto -lmbedx509 -lcoexist -lcore -lespnow -lmesh -lnet80211 -lpp -lsmartconfig -lwapi -lesp_ringbuf -lefuse -lesp_ipc -ldriver -lesp_pm -lmbedtls -lapp_update -lbootloader_support -lspi_flash -lnvs_flash -lpthread -lesp_gdbstub -lespcoredump -lesp_phy -lesp_system -lesp_rom -lhal -lvfs -lesp_eth -ltcpip_adapter -lesp_netif -lesp_event -lwpa_supplicant -lesp_wifi -lconsole -llwip -llog -lheap -lsoc -lesp_hw_support -lxtensa -lesp_common -lesp_timer -lfreertos -lnewlib -lcxx -lapp_trace -lnghttp -lesp-tls -ltcp_transport -lesp_http_client -lesp_http_server -lesp_https_ota -lsdmmc -lesp_serial_slave_link -lulp -lmbedtls_2 -lmbedcrypto -lmbedx509 -lcoexist -lcore -lespnow -lmesh -lnet80211 -lpp -lsmartconfig -lwapi -lphy -lrtc -lesp_phy -lphy -lrtc -lesp_phy -lphy -lrtc -lxt_hal -lc -lm -lnewlib -lstdc++ -lpthread -lgcc -lcxx -Wl,--end-group
collect2.exe: error: ld returned 5 exit status
*** [.pio\build\m5stick-c-plus2\firmware.elf] Error 1
================================================== [FAILED] Took 39.62 seconds ==================================================

What I’ve tried

  • Deleted .pio and rebuilt the project
  • Reinstalled PlatformIO extension
  • Ran pio update
    What could be the cause of this issue?
    Why does the build succeed at home but fail in the company environment with the same setup?

You did not specify a platform version.
Please check the installed versions.

If no version is specified the installed version with the highest number or the latest available platform will be downloaded (if there is no installed platform)

Thank you for your reply to my issue.
You mentioned that I should add a version to the platformio.ini file, like this

platform = espressif32@6.11.0

I tried adding the version, but unfortunately the same error still occurs
Note :

$ > pio --version 
PlatformIO Core, version 6.1.18

Compare the platform versions used on both computer! Are they the same or are they different?