Skip to content
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

compile - files with CreateProcess error (windows) - path max length limitation #6

Closed
0xc0170 opened this issue Apr 4, 2016 · 12 comments

Comments

@0xc0170
Copy link
Contributor

0xc0170 commented Apr 4, 2016

It seems like I am hitting windows path limit. This was a problem with yotta, which I recall added unicode paths support, to overcome this?

cd C:\Code\git_repo\github\mbed-rtos-thread-helloworld
python C:\Code\git_repo\github\neo\neo.py compile -m K64F -t GCC_ARM
[neo.py] Exec python mbed-os/tools/make.py --source=C:\Code\git_repo\github\mbed-rtos-thread-helloworld --build=C:\Code\git_repo\github\mbed-rtos-thread-helloworld\.build -m K64F -t GCC_ARM
Building project MBED-RTOS-THREAD-HELLOWORLD (K64F, GCC_ARM)
[ERROR] [Error 87] The parameter is incorrect

vs

cd C:\2
python C:\Code\git_repo\github\neo\neo.py compile -m K64F -t GCC_ARM
[neo.py] Exec python mbed-os/tools/make.py --source=C:\2 --build=C:\2\.build -m K64F -t GCC_ARM
Building project 2 (K64F, GCC_ARM)
Compile: Mutex.cpp
Compile: RtosTimer.cpp
Compile: Semaphore.cpp
Compile: Thread.cpp
@screamerbg
Copy link
Contributor

It would be great if you could help find the workaround yotta used! :)

@meriac
Copy link

meriac commented Apr 5, 2016

@screamerbg : use the Unicode process creation API in python (32k path limit versus 260 characters path limit).

@screamerbg
Copy link
Contributor

yotta workaround has been applied, yet compiling Thread and everything else generates 38000 symbols link command. This will be addressed with response files.

@0xc0170
Copy link
Contributor Author

0xc0170 commented Apr 11, 2016

yotta workaround has been applied, yet compiling Thread and everything else generates 38000 symbols link command. This will be addressed with response files.

Please provide commit/PR reference, or might be better to reference this via commit message, we can track/review changes done for this issue.

@bridadan
Copy link
Contributor

Hitting this now too. I'd be happy to help review the commit/PR when its ready

@0xc0170
Copy link
Contributor Author

0xc0170 commented Apr 12, 2016

I am hitting the error even with a folder C:/5 for morpheus code example. It used to be fine before we merge few more modules in, now I can't link a program :( This is a blocker for me now.

# imported mbed-Client-Morpheus-from-source
C:\5
python neo.py compile -m K64F -t GCC_ARM
[neo.py] Working path "C:\5" (program)
# lot of compilation here
Link: 5
[ERROR] [Error 87] The parameter is incorrect

@bogdanm
Copy link
Contributor

bogdanm commented Apr 12, 2016

Unless someone objects, I'll try to fix this today, at least for GCC, since it's clearly a blocker for some people.

@bogdanm
Copy link
Contributor

bogdanm commented Apr 12, 2016

Workaround until this is fixed: try running in a Linux VM.

@meriac
Copy link

meriac commented Apr 12, 2016

@bogdanm https://msdn.microsoft.com/en-us/commandline/wsl/about (run native Ubuntu on Windows - no VM needed any more)

@bogdanm
Copy link
Contributor

bogdanm commented Apr 12, 2016

@meriac, I think that only works in Windows 10 though :(

@bogdanm
Copy link
Contributor

bogdanm commented Apr 12, 2016

A partial fix for the command line problem is in ARMmbed/mbed-os#43. It's partial because it only covers linking. That seems to work for now, but in the future it might have to be extended for compilation too. In any case, I'm closing this for now, since this particular issue is solved by that commit.

@bogdanm bogdanm closed this as completed Apr 12, 2016
@0xc0170
Copy link
Contributor Author

0xc0170 commented Apr 12, 2016

Working now, the example which failed previously. Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants