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
mbed test failing to build for nrf51_dk since #6577 #6861
Comments
Ok, on another test today, C files all compile just fine (arm-none-eabi-gcc), and the mbed os library c++ ones are fine (arm-none-eabi-g++), it's only c++ files in the TEST directories that fail with the above error (mostly main.cpp's). |
The failures appear to be due to command path length. To break it down further I picked two of the compile command from the library and the test sections of the compilation process and re-ran them manually with --verbose
test:
The outputs of these list the internal compiler command being used:
Command is 27367 characters long test:
Command is 34090 characters long If I run the above cc1plus command manually (in a batch file) I get the To confirm all this I moved my test project from Can the build commands be updated to make all project paths relative? |
There are a lot of absolute paths used, mostly all the include paths listed in the autogenerated include file (eg. The include paths here could all be made relative to the project dir instead which would solve the problem for most if not all projects currently... until a lot more include dirs are added. |
@theotherjimmy Could we look at @andrewleech suggestions ? |
@adbridge Yeah! Just a sec. |
As a final resort, "-iprefix" and "-iwithprefix" options might also be used, eg. |
Compilers generally have an option for "get files (or options)" from a file. For gcc it's |
As I mentioned earlier the @include.txt system is already in use, however the paths listed in the include file are all absolute paths. The include list file is passed to g++ by mbed which then unpacks it internally to call cc1plus.exe where it passes the full command line which is where it fails. |
Any progress for this one? |
Sorry, I was off last week. I'm picking up this investigation today. |
ARM Internal Ref: MBOTRIAGE-43 |
@andrewleech Thank for descriptive bug report. This is duplicate for #6335. I'll close this one, please monitor 6335. |
Reopening, similar to 6335 but this is building with |
@0xc0170 This is |
#6968 Should have fixed this bug. |
Description
In the last day or so
mbed test -m NRF51_DK -t GCC_ARM --verbose --clean
has failed to build.None of the actual C files can compile:
This is on a new, empty project with just mbed-os checked out.
I narrowed the problem down to 5038135 (when #6577 was merged) .
mbed compile ...
still works fine.mbed test -m lpc1768 -t GCC_ARM --verbose --clean
works fine.If I checkout the previous commit 53aa1b0 my original command for NRF51_DK works fine.
Go back to 5038135 (or anything newer) and it fails again.
This is all on Windows 10 x64 GCC_ARM.
Tested on versions 7-2017-q4-major and 6-2017-q1-update with no change.
Issue request type
[ ] Question
[ ] Enhancement
[X] Bug
The text was updated successfully, but these errors were encountered: