tschak909 Posted September 21, 2021 Share Posted September 21, 2021 For anyone who is building the firmware: Can you: (1) make sure you've upgraded to latest ESP-IDF (2) make sure you've fixed dirent.h as here: https://gist.github.com/tschak909/1ad20255c17ac321bbd6fbfde9dac2c3 (3) delete your copy of the sdkdefaults.fujinet-v1 (4) pull the latest fujinet-platformio (5) clean (6) build and make sure that the fujinet completely initializes? I had to make a change to sdkdefaults to tweak static memory allocation parameters, with the latest ESP-IDF framework, and would like a few more pairs of eyes to see if things are still ok after the latest change. https://github.com/FujiNetWIFI/fujinet-platformio/commit/dfc7374ee6881fa5d27f828addf849c3ec9c2516#diff-828575c709a84e0dfe49845ee9030bcc01f12e9220029d91761990595de011a1 1 Quote Link to comment Share on other sites More sharing options...
myriadcs Posted September 23, 2021 Share Posted September 23, 2021 Thanks for that! I just did fresh install, followed wiki but was getting following error: Archiving .pio/build/fujinet-v1/lib209/libhardware.a Indexing .pio/build/fujinet-v1/lib209/libhardware.a Archiving .pio/build/fujinet-v1/lib45e/libsio.a Indexing .pio/build/fujinet-v1/lib45e/libsio.a Archiving .pio/build/fujinet-v1/libaca/libhttp.a Indexing .pio/build/fujinet-v1/libaca/libhttp.a Linking .pio/build/fujinet-v1/firmware.elf /home/user/.platformio/packages/toolchain-xtensa32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pio/build/fujinet-v1/lib916/libFileSystem.a(fnFsSPIF.o):(.literal._ZN16FileSystemSPIFFS8dir_openEPKcS1_t+0x0): undefined reference to `opendir(char const*)' /home/user/.platformio/packages/toolchain-xtensa32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pio/build/fujinet-v1/lib916/libFileSystem.a(fnFsSPIF.o):(.literal._ZN16FileSystemSPIFFS8dir_readEv+0x0): undefined reference to `readdir(DIR*)' /home/user/.platformio/packages/toolchain-xtensa32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pio/build/fujinet-v1/lib916/libFileSystem.a(fnFsSPIF.o):(.literal._ZN16FileSystemSPIFFS9dir_closeEv+0x0): undefined reference to `closedir(DIR*)' /home/user/.platformio/packages/toolchain-xtensa32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pio/build/fujinet-v1/lib916/libFileSystem.a(fnFsSPIF.o): in function `FileSystemSPIFFS::dir_open(char const*, char const*, unsigned short)': /home/user/Projects/fujinet-platformio/lib/FileSystem/fnFsSPIF.cpp:16: undefined reference to `opendir(char const*)' /home/user/.platformio/packages/toolchain-xtensa32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pio/build/fujinet-v1/lib916/libFileSystem.a(fnFsSPIF.o): in function `FileSystemSPIFFS::dir_read()': /home/user/Projects/fujinet-platformio/lib/FileSystem/fnFsSPIF.cpp:28: undefined reference to `readdir(DIR*)' /home/user/.platformio/packages/toolchain-xtensa32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pio/build/fujinet-v1/lib916/libFileSystem.a(fnFsSPIF.o): in function `FileSystemSPIFFS::dir_close()': /home/user/Projects/fujinet-platformio/lib/FileSystem/fnFsSPIF.cpp:57: undefined reference to `closedir(DIR*)' collect2: error: ld returned 1 exit status *** [.pio/build/fujinet-v1/firmware.elf] Error 1 ============================================================================ [FAILED] Took 88.48 seconds ============================================================================ Environment Status Duration ------------- -------- ------------ fujinet-v1 FAILED 00:01:28.477 ======================================================================= 1 failed, 0 succeeded in 00:01:28.477 ======================================================================= The terminal process "platformio 'run', '--environment', 'fujinet-v1'" terminated with exit code: 1. (pasting here so it will be easier for others to find if looking for same error) after modifying dirent.h all is working as expected. Thanks! Quote Link to comment Share on other sites More sharing options...
tschak909 Posted September 23, 2021 Author Share Posted September 23, 2021 3 hours ago, myriadcs said: Thanks for that! I just did fresh install, followed wiki but was getting following error: Archiving .pio/build/fujinet-v1/lib209/libhardware.a Indexing .pio/build/fujinet-v1/lib209/libhardware.a Archiving .pio/build/fujinet-v1/lib45e/libsio.a Indexing .pio/build/fujinet-v1/lib45e/libsio.a Archiving .pio/build/fujinet-v1/libaca/libhttp.a Indexing .pio/build/fujinet-v1/libaca/libhttp.a Linking .pio/build/fujinet-v1/firmware.elf /home/user/.platformio/packages/toolchain-xtensa32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pio/build/fujinet-v1/lib916/libFileSystem.a(fnFsSPIF.o):(.literal._ZN16FileSystemSPIFFS8dir_openEPKcS1_t+0x0): undefined reference to `opendir(char const*)' /home/user/.platformio/packages/toolchain-xtensa32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pio/build/fujinet-v1/lib916/libFileSystem.a(fnFsSPIF.o):(.literal._ZN16FileSystemSPIFFS8dir_readEv+0x0): undefined reference to `readdir(DIR*)' /home/user/.platformio/packages/toolchain-xtensa32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pio/build/fujinet-v1/lib916/libFileSystem.a(fnFsSPIF.o):(.literal._ZN16FileSystemSPIFFS9dir_closeEv+0x0): undefined reference to `closedir(DIR*)' /home/user/.platformio/packages/toolchain-xtensa32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pio/build/fujinet-v1/lib916/libFileSystem.a(fnFsSPIF.o): in function `FileSystemSPIFFS::dir_open(char const*, char const*, unsigned short)': /home/user/Projects/fujinet-platformio/lib/FileSystem/fnFsSPIF.cpp:16: undefined reference to `opendir(char const*)' /home/user/.platformio/packages/toolchain-xtensa32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pio/build/fujinet-v1/lib916/libFileSystem.a(fnFsSPIF.o): in function `FileSystemSPIFFS::dir_read()': /home/user/Projects/fujinet-platformio/lib/FileSystem/fnFsSPIF.cpp:28: undefined reference to `readdir(DIR*)' /home/user/.platformio/packages/toolchain-xtensa32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pio/build/fujinet-v1/lib916/libFileSystem.a(fnFsSPIF.o): in function `FileSystemSPIFFS::dir_close()': /home/user/Projects/fujinet-platformio/lib/FileSystem/fnFsSPIF.cpp:57: undefined reference to `closedir(DIR*)' collect2: error: ld returned 1 exit status *** [.pio/build/fujinet-v1/firmware.elf] Error 1 ============================================================================ [FAILED] Took 88.48 seconds ============================================================================ Environment Status Duration ------------- -------- ------------ fujinet-v1 FAILED 00:01:28.477 ======================================================================= 1 failed, 0 succeeded in 00:01:28.477 ======================================================================= The terminal process "platformio 'run', '--environment', 'fujinet-v1'" terminated with exit code: 1. (pasting here so it will be easier for others to find if looking for same error) after modifying dirent.h all is working as expected. Thanks! Thanks, yes. the 4.3.x IDF (that's packaged with platformio-espidf 3.x) has been a never ending stream of fixes like this as the underlying behavior changes. -Thom Quote Link to comment Share on other sites More sharing options...
Dysphoria Posted July 17, 2022 Share Posted July 17, 2022 On 9/20/2021 at 8:22 PM, tschak909 said: (2) make sure you've fixed dirent.h as here: https://gist.github.com/tschak909/1ad20255c17ac321bbd6fbfde9dac2c3 This is still relevant today. Once I added the code I was able to build. #ifdef __cplusplus extern "C" { #endif ... #ifdef __cplusplus } #endif Quote Link to comment Share on other sites More sharing options...
tschak909 Posted July 17, 2022 Author Share Posted July 17, 2022 2 minutes ago, Dysphoria said: This is still relevant today. Once I added the code I was able to build. #ifdef __cplusplus extern "C" { #endif ... #ifdef __cplusplus } #endif yup, here's hoping someday they will actually #@()$#@ fix it. -Thom Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.