esp-idf: [TW#27526] linker script generation failed for C:/Dropbox/devs/ws/z-sdk/esp-idf/components/esp32/ld/esp32.common.ld.in

Environment

  • Development Kit: none
  • Module or chip used: ESP32-WROOM-32
  • IDF version (run git describe --tags to find it): // v3.2-beta1-182-g4c881708d
  • Build System: Make
  • Compiler version (run xtensa-esp32-elf-gcc --version to find it): // 1.22.0-80-g6c4433a5
  • Operating System: Windows
  • Power Supply: external 5V

Problem Description

Trying to build new binary after having updated to latest IDF and MSYS

Expected Behavior

Expect make to be successful

Actual Behavior

make -j9 all Toolchain path: /opt/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc Toolchain version: crosstool-ng-1.22.0-80-g6c4433a5 Compiler version: 5.2.0 Python requirements from C:/Dropbox/devs/ws/z-sdk/esp-idf/requirements.txt are satisfied. CC build/iMacs/x_config.o AR build/iMacs/libiMacs.a Generating libiMacs.a.sections_info Generating esp32.common.ld linker script generation failed for C:/Dropbox/devs/ws/z-sdk/esp-idf/components/esp32/ld/esp32.common.ld.in ERROR: C:/Dropbox/devs/ws/z-sdk/esp-idf/Kconfig:59: Could not open ‘/c/Dropbox/devs/ws/z-sdk/esp-idf/components/bootloader/Kconfig.projbuild’ (ENOENT: No such file or directory). Perhaps the $srctree environment variable (which was unset) is set incorrectly. Note that the current value of $srctree is saved when the Kconfig instance is created (for consistency and to cleanly separate instances). Also note that e.g. $FOO in a ‘source’ statement does not refer to the environment variable FOO, but rather to the Kconfig Symbol FOO (which would commonly have ‘option env=“FOO”’ in its definition). Traceback (most recent call last): File “C:/Dropbox/devs/ws/z-sdk/esp-idf/tools/ldgen/ldgen.py”, line 101, in <module> main() File “C:/Dropbox/devs/ws/z-sdk/esp-idf/tools/ldgen/ldgen.py”, line 98, in main os.remove(output_file.name) WindowsError: [Error 32] The process cannot access the file because it is being used by another process: ‘C:/Dropbox/devs/ws/z-appl/irmacs/build/esp32/esp32.common.ld’ make: *** [/c/Dropbox/devs/ws/z-sdk/esp-idf/components/esp32/Makefile.projbuild:51: /c/Dropbox/devs/ws/z-appl/irmacs/build/esp32/esp32.common.ld] Error 1 make: *** Waiting for unfinished jobs…

Steps to reproduce

Debug Logs

N/A

Other items if possible

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Comments: 26 (8 by maintainers)

Commits related to this issue

Most upvoted comments

This should be fixed in master as of commit 3970ea60deade62224ad227fd5f986d29b0abdfb

Thanks everyone for reporting and being patient with the fix.

Hi all,

Thanks @ulfalizer for the helpful info about kconfiglib. I agree this is not a kconfiglib problem, and that we should update our (patched) kconfiglib soon! 😃

@JOO200 @alsaleem00 You’re both using Eclipse on Windows, yes? I’m not able to reproduce any problem building in Eclipse on Windows with current master branch, my guess is this was the same issue as #2812 that was fixed in d3938c8.

If you’re not still not able to build in Eclipse with current master, please check all the settings are the same as given in the ESP-IDF Eclipse Setup guide. If it’s not working, please open a new issue and post as many details as you can about your environment, paths, build logs, etc. and we’ll continue from there.

Hello,

As a note, Kconfiglib itself doesn’t do any custom path handling. It just passes paths as given to open(), and joins paths with os.path.join(), which uses the native format for the OS/Python installation (backslashes for plain Windows Python, etc.) If you run into problems, they might be related to whatever Python on MSYS does.

Using / instead of \ as the path separator works fine on Windows too (see os.altsep).

The version of Kconfiglib in Espressif is pretty old by the way. There’s lots of improvements in the latest version, like default-UTF-8 decoding, faster parsing, strict syntax checking, support for glob patterns in source, node iteration helpers, menuconfig implementations, a Kconfig preprocessor, and more.

Ask if you have any questions!

Cheers, Ulf

@detly yes, if you’re getting a linker failure on Ubuntu then a new issue with the details sounds best. Thanks.

@projectgus fyi, 964f5a9 works for me, but 3970ea6 doesn’t.