5 years, 3 months ago.

Keil Compile issue After CLI export

I am trying to use mbed cli to export the example "mbed-os-example-blinky“ to uvision project, All the step (import, compile, export) are ok on my side.

But when I compile the uvision project, I encountered the below error: "Fatal error: C3907U: Via file '.\build\6lowpan_iphc.i' command too long for buffer."

Screen shot: /media/uploads/aniu027/issue.png

uvision version:

/media/uploads/aniu027/uvision.png

mbed os version is 5.11

It seems the project include too many path and the -I parameter is too long, but I don't how to resolve.

3 Answers

5 years, 3 months ago.

Hi Jianbin,

We are able to build projects exported to Keil MDK / uVsion just fine:

...
compiling ac_stream.c...
compiling 6lowpan_iphc.c...
compiling aes_mbedtls_adapter.c...
compiling address.c...
...

You are using a very old version of uVision and we suspect that's the source of the problem.

Could you upgrade to something newer? They are now on release v5.26.

Regards,

Ralph, Team Mbed

Hi Ralph,

Thank you for your answer. we tried on v5.26, but I still met the same issue. I searched a lot on website, I doubt it should be caused by the parameter length limitation of windows. my system is window10, I also check on Win7 is same. I see the compile parameters is very long by a lot of path need to include.

I also tried to export the example to eclipse with GCC, the compile is ok, but when link I met the below err: process_begin: CreateProcess(........)make (e=87): parameter err.

I think the error on uvision and eclipse both caused by the parameters is too long.

Any more clue for the problem? Thanks in advance.

posted by jianbin niu 26 Jan 2019

We checked this again and it is working for us. Did you recreate the project file after upgrading? Perhaps the original project file is corrupt in some way. What target are you using? What is your root project directory? If it is long, could you try using c:\temp? Our project folder contains about 20 characters.

As for the make issue, you are likely hitting a path limit as described here:

A work around for gcc using make is described here:

posted by Ralph Fulchiero 28 Jan 2019
5 years, 1 month ago.

@Clifford thanks for the tip about Python 2.7 working, that helped me debug the issue. The issue is only present when exporting with Python 3 offline as you said. I have a fix up in this PR: https://github.com/ARMmbed/mbed-os/pull/10045

5 years, 2 months ago.

My team have encountered this exact same issue and it was resolved by switching to Python 2.7 rather than 3.x for the mbed scripts. Performing the export using 3.x always fails, with 2.7 there is no problem.