-
Notifications
You must be signed in to change notification settings - Fork 7.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BUILD_DIR_BASE must use Unix-style path on MSYS2+GNU make (IDFGH-472) #2736
Comments
No news ? Build to external directory is still broken. I have found commit 63411fc broke this. Tried to altering CMakeLists.txt files, with no luck. Basically issue is that esp32/esp32.common.ld file is not generated on external build dir. |
Hi @Elektrik1 , Sorry noone got back to you earlier about this.
Are you using the GNU Make based build system (ie the default setup steps in the Getting Started Guide)? If so, the CMakeLists.txt files are not used. CMake based build system is only used if you run are running
Assuming you're using the GNU make build system, I just attempted to reproduce this on Linux with latest master branch commit (d4d3ccf) two ways, but couldn't make it fail. I tried one time like this:
and a second time by editing the project template Makefile like this:
Both builds succeeded, including generation of the esp32.common.ld file. Can you please provide all of the environment details asked for in the issue template, to give us some information to try and reproduce? Also, please provide details of:
Thanks, Angus |
Thank you for your response, I do use regular make (msys32) to make the project. Now I understand why CMakeList did not alter anything, thou that was the only file referenced to esp32.common.ld file I have found and tried to enter paths manually. Package was gathered here: https://dl.espressif.com/dl/esp32_win32_msys2_environment_and_toolchain-20181001.zip, used in Windows 10 x64 machine. Logs after trying to compile hello_world project:
Here is verbose of rebuild cycle: https://pastebin.com/6qUFfFx0 Thanks. Meanwhile, will try CMake one. |
Thanks for the extra details. Does it work if you do |
Haha, it works fine with unix-like path, shame I didn't try it that way for months :)
Thank you for support! P.s. I think it's time to move all projects builds to CMake, will try to deal with all undefined references. |
Glad you got it working. Have reopened because this is still something that should be handled in the Make build system. I think probably it will be with an error message asking you to set the Unix-style path (as we can't otherwise remap a Make-level variable override), but this is still better than simply not working). |
As found by @mongozmaki in esp8266/Arduino#6035 With SSO implementation in String, StreamString::write generates wrong strings under some circumstances. Reason is that String::len() returns strlen(sso_buf) if SSO=true but with newly written data (in StreamString::write) the null-termination missing at the time len() is called. Furthermore, len() is called twice which is inefficient if SSO=true.
On latest commit, setting up BUILD_DIR_BASE custom build path in Makefile does no longer works and produces such error:
Steps to reproduce, any example project, include BUILD_DIR_BASE :=<ANY_PATH> in Makefile and then make.
The text was updated successfully, but these errors were encountered: