Hello, I just started a new job where I’m supposed to continue working on a code base from someone who is not in the company anymore.
The firmware is for an ESP32 in an M5Stack, and includes AWS FreeRTOS for some IoT features.
I am trying to get the code to compile at all, but I’m having trouble already. I have installed the ESP32 framework
After running platformio run, PlatformIO spends a bit of time compiling lots of files. then after it’s done compiling it fails with this error.
Archiving .pio\build\m5stack-core-esp32\bootloader\esp-idf\log\liblog.a
Linking .pio\build\m5stack-core-esp32\bootloader.elf
Building .pio\build\m5stack-core-esp32\bootloader.bin
esptool.py v2.6
Linking .pio\build\m5stack-core-esp32\firmware.elf
c:/users/andrew/.platformio/packages/toolchain-xtensa32/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\m5stack-core-esp32\esp-idf\.pio\build\m5stack-core-esp32\aws-root-ca.pem.S.o: in function `aws_root_ca_pem':
(.rodata.embedded+0x0): multiple definition of `aws_root_ca_pem'; .pio\build\m5stack-core-esp32\aws-root-ca.pem.o:(.rodata.embedded+0x0): first defined here
c:/users/andrew/.platformio/packages/toolchain-xtensa32/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\m5stack-core-esp32\esp-idf\.pio\build\m5stack-core-esp32\aws-root-ca.pem.S.o: in function `aws_root_ca_pem':
(.rodata.embedded+0x0): multiple definition of `_binary_aws_root_ca_pem_start'; .pio\build\m5stack-core-esp32\aws-root-ca.pem.o:(.rodata.embedded+0x0): first defined here
c:/users/andrew/.platformio/packages/toolchain-xtensa32/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\m5stack-core-esp32\esp-idf\.pio\build\m5stack-core-esp32\aws-root-ca.pem.S.o: in function `_binary_aws_root_ca_pem_end':
(.rodata.embedded+0x4a5): multiple definition of `_binary_aws_root_ca_pem_end'; .pio\build\m5stack-core-esp32\aws-root-ca.pem.o:(.rodata.embedded+0x4a5): first defined here
c:/users/andrew/.platformio/packages/toolchain-xtensa32/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\m5stack-core-esp32\esp-idf\.pio\build\m5stack-core-esp32\aws-root-ca.pem.S.o: in function `_binary_aws_root_ca_pem_end':
(.rodata.embedded+0x4a5): multiple definition of `aws_root_ca_pem_length'; .pio\build\m5stack-core-esp32\aws-root-ca.pem.o:(.rodata.embedded+0x4a5): first defined here
c:/users/andrew/.platformio/packages/toolchain-xtensa32/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\m5stack-core-esp32\esp-idf\.pio\build\m5stack-core-esp32\certificate.pem.crt.S.o: in function `certificate_pem_crt':
(.rodata.embedded+0x0): multiple definition of `certificate_pem_crt'; .pio\build\m5stack-core-esp32\certificate.pem.crt.o:(.rodata.embedded+0x0): first defined here
c:/users/andrew/.platformio/packages/toolchain-xtensa32/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\m5stack-core-esp32\esp-idf\.pio\build\m5stack-core-esp32\certificate.pem.crt.S.o: in function `certificate_pem_crt':
(.rodata.embedded+0x0): multiple definition of `_binary_certificate_pem_crt_start'; .pio\build\m5stack-core-esp32\certificate.pem.crt.o:(.rodata.embedded+0x0): first defined here
c:/users/andrew/.platformio/packages/toolchain-xtensa32/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\m5stack-core-esp32\esp-idf\.pio\build\m5stack-core-esp32\certificate.pem.crt.S.o: in function `_binary_certificate_pem_crt_end':
(.rodata.embedded+0x4c8): multiple definition of `_binary_certificate_pem_crt_end'; .pio\build\m5stack-core-esp32\certificate.pem.crt.o:(.rodata.embedded+0x4c8): first defined here
c:/users/andrew/.platformio/packages/toolchain-xtensa32/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\m5stack-core-esp32\esp-idf\.pio\build\m5stack-core-esp32\certificate.pem.crt.S.o: in function `_binary_certificate_pem_crt_end':
(.rodata.embedded+0x4c8): multiple definition of `certificate_pem_crt_length'; .pio\build\m5stack-core-esp32\certificate.pem.crt.o:(.rodata.embedded+0x4c8): first defined here
c:/users/andrew/.platformio/packages/toolchain-xtensa32/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\m5stack-core-esp32\esp-idf\.pio\build\m5stack-core-esp32\private.pem.key.S.o: in function `private_pem_key':
(.rodata.embedded+0x0): multiple definition of `private_pem_key'; .pio\build\m5stack-core-esp32\private.pem.key.o:(.rodata.embedded+0x0): first defined here
c:/users/andrew/.platformio/packages/toolchain-xtensa32/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\m5stack-core-esp32\esp-idf\.pio\build\m5stack-core-esp32\private.pem.key.S.o: in function `private_pem_key':
(.rodata.embedded+0x0): multiple definition of `_binary_private_pem_key_start'; .pio\build\m5stack-core-esp32\private.pem.key.o:(.rodata.embedded+0x0): first defined here
c:/users/andrew/.platformio/packages/toolchain-xtensa32/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\m5stack-core-esp32\esp-idf\.pio\build\m5stack-core-esp32\private.pem.key.S.o: in function `_binary_private_pem_key_end':
(.rodata.embedded+0x690): multiple definition of `_binary_private_pem_key_end'; .pio\build\m5stack-core-esp32\private.pem.key.o:(.rodata.embedded+0x690): first defined here
c:/users/andrew/.platformio/packages/toolchain-xtensa32/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\m5stack-core-esp32\esp-idf\.pio\build\m5stack-core-esp32\private.pem.key.S.o: in function `_binary_private_pem_key_end':
(.rodata.embedded+0x690): multiple definition of `private_pem_key_length'; .pio\build\m5stack-core-esp32\private.pem.key.o:(.rodata.embedded+0x690): first defined here
c:/users/andrew/.platformio/packages/toolchain-xtensa32/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\m5stack-core-esp32\esp-idf\.pio\build\m5stack-core-esp32\e59ed86b90-private.pem.key.S.o: in function `e59ed86b90_private_pem_key':
(.rodata.embedded+0x0): multiple definition of `e59ed86b90_private_pem_key'; .pio\build\m5stack-core-esp32\e59ed86b90-private.pem.key.o:(.rodata.embedded+0x0): first defined here
c:/users/andrew/.platformio/packages/toolchain-xtensa32/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\m5stack-core-esp32\esp-idf\.pio\build\m5stack-core-esp32\e59ed86b90-private.pem.key.S.o: in function `e59ed86b90_private_pem_key':
(.rodata.embedded+0x0): multiple definition of `_binary_e59ed86b90_private_pem_key_start'; .pio\build\m5stack-core-esp32\e59ed86b90-private.pem.key.o:(.rodata.embedded+0x0): first defined here
c:/users/andrew/.platformio/packages/toolchain-xtensa32/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\m5stack-core-esp32\esp-idf\.pio\build\m5stack-core-esp32\e59ed86b90-private.pem.key.S.o: in function `_binary_e59ed86b90_private_pem_key_end':
(.rodata.embedded+0x68c): multiple definition of `_binary_e59ed86b90_private_pem_key_end'; .pio\build\m5stack-core-esp32\e59ed86b90-private.pem.key.o:(.rodata.embedded+0x68c): first defined here
c:/users/andrew/.platformio/packages/toolchain-xtensa32/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\m5stack-core-esp32\esp-idf\.pio\build\m5stack-core-esp32\e59ed86b90-private.pem.key.S.o: in function `_binary_e59ed86b90_private_pem_key_end':
(.rodata.embedded+0x68c): multiple definition of `e59ed86b90_private_pem_key_length'; .pio\build\m5stack-core-esp32\e59ed86b90-private.pem.key.o:(.rodata.embedded+0x68c): first defined here
collect2.exe: error: ld returned 1 exit status
*** [.pio\build\m5stack-core-esp32\firmware.elf] Error 1
=============================================================================================================================================== [FAILED] Took 358.75 seconds ===============================================================================================================================================PS C:\Users\andrew\Documents\esim-m2m-demo-master@c8fcb79c644>
Could anyone point me to where the problem could be? I’m quite a beginner, so I’m not even sure if that multiple definitions warning is enough to cause a linking error. Is there anywhere else I could look to figure out why the linker isn’t working?
Thank you!