The "xtensa-esp32-elf-gcc.exe" executable cannot find any files when using Make in windows.

tuskiomi
Posts: 23
Joined: Mon Aug 28, 2017 8:21 pm

The "xtensa-esp32-elf-gcc.exe" executable cannot find any files when using Make in windows.

Postby tuskiomi » Sun Sep 24, 2017 6:12 pm

Hello, all. When I'm trying to Make a project I get many errors which look like the following:
xtensa-esp32-elf-gcc.exe: error: /cygdrive/c/espIDF/components/lwip/port/netif/wlanif.c: No such file or directory
xtensa-esp32-elf-gcc.exe: fatal error: no input files
compilation terminated.
make[1]: *** [/cygdrive/c/espIDF/make/component_wrapper.mk:211: port/netif/wlanif.o] Error 1
This is untrue as The path to component_Wrapper is "C:\espIDF\make", which is the windows 10 equivalent of that cygwin style address..

What could be going wrong in this?

ESP_igrr
Posts: 2072
Joined: Tue Dec 01, 2015 8:37 am

Re: The "xtensa-esp32-elf-gcc.exe" executable cannot find any files when using Make in windows.

Postby ESP_igrr » Sun Sep 24, 2017 6:19 pm

ESP-IDF build system is not compatible with Cygwin, please have a look at this post:
https://esp32.com/viewtopic.php?f=2&t=2 ... win#p10320

tuskiomi
Posts: 23
Joined: Mon Aug 28, 2017 8:21 pm

Re: The "xtensa-esp32-elf-gcc.exe" executable cannot find any files when using Make in windows.

Postby tuskiomi » Sun Sep 24, 2017 8:16 pm

You see, I try to use make with cross GCC, but when I do that it gives me the error:
C:\espIDF/make/project.mk:46: "esp-idf build system only supports GNU Make versions 3.81 or newer. You may see unexpected results with other Makes."
C:\espIDF/make/project.mk:77: *** IDF_PATH cannot contain colons. If overriding IDF_PATH on Windows, use Cygwin-style /c/dir instead of C:/dir. Stop.
Okay. I change my IDF_PATH from "C:\espIDF" to "/c/espIDF". I now get the error:
Makefile:8: /c/espIDF/make/project.mk: No such file or directory
make: *** No rule to make target '/c/espIDF/make/project.mk'. Stop.
now I know for a fact that this exists, in cygwin notation. However, when CygWin refers to a drive, you prepend the address with /cygdrive/. So C:\ in cygwin is actually /cygdrive/c/. Thus I change my IDF_PATH once again, to "/cygdrive/c/espIDF". This once again gives me the error:
Makefile:8: /cygdrive/c/espIDF/make/project.mk: No such file or directory
make: *** No rule to make target '/cygdrive/c/espIDF/make/project.mk'. Stop.
Making me think that cygwin itself would probably work best with such addresses. Maybe I'll use cygwin's GCC instead... But then I get the first error.

ESP_Angus
Posts: 2344
Joined: Sun May 08, 2016 4:11 am

Re: The "xtensa-esp32-elf-gcc.exe" executable cannot find any files when using Make in windows.

Postby ESP_Angus » Mon Sep 25, 2017 12:36 am

Hi tuskiomi,

As per the link ESP_Igrr posted, the mismatch here is that you're using a Cygwin "make" but the toolchains (xtensa-esp32-elf-*) are MINGW32-based. There's no way around this without recompiling the cross-toolchains to be Cygwin-based instead of MINGW32-based. Because otherwise you have:

Cygwin IDF_PATH + Cygwin make + MINGW32 toolchain = Cygwin make generates Cygwin /cygpath paths that the toolchain doesn't recognize.

C:/xyz IDF_PATH + Cygwin make + MINGW32 toolchain = ESP-IDF makefile converts C:/xyz to /c/xyz and then Cygwin make doesn't recognise that path. Even if you take out that early conversion, at some later point Cygwin make would canonicalize that path to a Cygwin path and the toolchain would fail to recognize it.

I spent a significant amount of time last year trying to come up with a make system that supported both Cygwin & MINGW32 "make" with a MINGW32 toolchain, and couldn't find any easy way (at least without shipping two toolchains). We chose to support a MINGW32-based cross-toolchain mostly for performance reasons.

Is there a reason you need to use a Cygwin-based make instead of a MINGW32-based make? What environment are you running in?

tuskiomi
Posts: 23
Joined: Mon Aug 28, 2017 8:21 pm

Re: The "xtensa-esp32-elf-gcc.exe" executable cannot find any files when using Make in windows.

Postby tuskiomi » Mon Sep 25, 2017 12:47 am

Hi, ESP Angus.

My first intuition was to use cygwin make when the makefile spit out an error saying to use cygwin style file paths for IDF_PATH. There is no restriction. I am using Windows 10 with eclipse oxygen for an IDE.

ESP_Angus
Posts: 2344
Joined: Sun May 08, 2016 4:11 am

Re: The "xtensa-esp32-elf-gcc.exe" executable cannot find any files when using Make in windows.

Postby ESP_Angus » Mon Sep 25, 2017 1:35 am

tuskiomi wrote: My first intuition was to use cygwin make when the makefile spit out an error saying to use cygwin style file paths for IDF_PATH. There is no restriction. I am using Windows 10 with eclipse oxygen for an IDE.
Sorry, that's my mistake when writing that warning message I used the wrong terminology. If you can launch mingw32 make (ideally you can use the MSYS2 environment we ship) then it should all work.

(The lack of traditional C:\blah paths is because make also uses colons as a delimiter so it's hard to reconcile the two.)

zekahh
Posts: 1
Joined: Sun Apr 22, 2018 9:45 pm

Re: The "xtensa-esp32-elf-gcc.exe" executable cannot find any files when using Make in windows.

Postby zekahh » Sun Apr 22, 2018 9:58 pm

Hi guys, I got this

eclipse_make.sh has been replaced with eclipse_make.py. Check the Windows Eclipse docs for the new command.
This shell script will continue to work until the next major release.
C:\msys32\home\user\esp\esp-idf/make/project.mk:101: *** IDF_PATH cannot contain colons. If overriding IDF_PATH on Windows, use MSYS Unix-style /c/dir instead of C:/dir. Stop.
Running make in 'C:/msys32/home/user/esp/esp-idf-template'


how do you fix this?, I installed Msys32....

Who is online

Users browsing this forum: No registered users and 149 guests