Avr-gcc.exe: The filename or extension is too long

Hi there,

I have downloaded FW from here Auto Square, Dual EndStops | V1 Engineering Inc for dual end stops with Rambo 1.3 (not mini) version with Full graphic smart controller Big. During installation getting same error as some other users reported. fork/exec C:UsersPRyanDownloadsarduinohardwaretoolsavr/bin/avr-gcc.exe: The filename or extension is too long.

I tried following

  1. reinstalling everything on other PC
  2. Moving the Arduino to root directory to shorten the path
Last step helps but of course it disables the LCD controller. Any advice what is root cause for "filename too long" error and how to get it work together with LCD?

If I install Marlin version without (MPCNC813_GLCD_EB_T8) end stops then I get blue screen[attachment file=55714]

, but as I found out there might be 4 options how to connect connectors ext1 ext2 so will still have to figure out how it should be connected correctly. Does somebody has the picture how LCD controller shoudl be connected correctly?

Thank you Ryan for this grat machine, didn’t have so much fun in long time :slight_smile:





How to plug it in, https://www.v1engineering.com/mini-rambo-1-3/

Just make sure 1 goes to 1 and two goes to two. Then you have a 50/50 chance. If you bought it from me it should be oriented correctly, if not it is probably backwards.

As for the board it should be pre-flashed as well. If you want to flash it you need to use either the arduino nightly or beta, I will be looking for a better solution today as this comes up several times a day now.


thanks again.

I have installed Nightly version, still the same result, tried




None of them helped to solve this.

Hope somebodyelse has more luck.


Those are very old threads. I am looking at this right now for a simple solution. The one that works is editing the temp directory, I have no idea why the other arduino builds don’t work anymore. Each compile takes forever on the laptop I am using so it might be a little bit but I did not forget about you.

Did you figure out the screen plugs?

Shoot, the beta issue isn’t the file thing. I will update them all and try again. Odd I flashed it with a temp fixed computer and they work, even the dual, the bootscreen was missing but, still worked.

Shoot, I have no idea why it doesn’t work anymore. Here is the fix. I guess we have to wait for a new beta for an edit free experience.

I can use either the current version of arduino (1.8.5) or the nightly (1.8.6), the beta does not work now 3/20/18.

  • Open arduino
  • File/Preferences
  • Make note of the directory at the bottom, "more preferences"
  • Open that file with notepad
  • 3rd line down, "build.path=c:\tmp" works for me...
Crap, this is not going to be fun until this gets worked out.

I got past the first problem by changing the temp directory location.

I now have this problem.

C:UsersTHANSE~1.CORAppDataLocalTemparduino_build_757798sketchsrclcddogmu8g_dev_ssd1306_sh1106_128x64_I2C.cpp: In function 'uint8_t u8g_dev_sh1106_128x64_2x_2_wire_fn(u8g_t*, u8g_dev_t*, uint8_t, void*)':

C:UsersTHANSE~1.CORAppDataLocalTemparduino_build_757798sketchsrclcddogmu8g_dev_ssd1306_sh1106_128x64_I2C.cpp:117:29: error: ‘U8G_SPI_CLK_CYCLE_300NS’ was not declared in this scope

u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);


C:UsersTHANSE~1.CORAppDataLocalTemparduino_build_757798sketchsrclcddogmu8g_dev_ssd1306_sh1106_128x64_I2C.cpp: In function ‘uint8_t u8g_dev_ssd1306_128x64_2x_2_wire_fn(u8g_t*, u8g_dev_t*, uint8_t, void*)’:

C:UsersTHANSE~1.CORAppDataLocalTemparduino_build_757798sketchsrclcddogmu8g_dev_ssd1306_sh1106_128x64_I2C.cpp:185:29: error: ‘U8G_SPI_CLK_CYCLE_300NS’ was not declared in this scope

u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);


Using library SPI at version 1.0 in folder: C:ArduinohardwarearduinoavrlibrariesSPI
Using library U8glib in folder: C:Usersthansen.CORTINAAppDataLocalArduino15packagesrambohardwareavr1.0.1librariesU8glib (legacy)
exit status 1
Error compiling for board RAMBo.

Looks like it is a problem Ug8_DEV_SSD1306_SH1106_128x64_i2c.cpp file.


[attachment file=55780]


I just verified the newest updated file (That I just updated twice). I compiled it on two computers and just flashed it. I have another update to put the bumps back in but later.

Make sure you have rebooted your computer after making the tmp changes, use the newest ug8lib (your says legacy). Works fine for me now in both arduino builds. Not Beta. I have no idea what you mean by SPI.


Dude I feel soooooo stupid right now. It would be so much easier if I just made a marlin 1 version of the dual for the rambo. It seriously never occurred to me. Or you can just edit config, config adv, pins.

Thanks for the help.

I did not pickup on that.


Hi Ryan, thanks for great support. Sorry I didn’t get to test it last two days.

After changes of the path to c:/tmp in preferences it works great.

LCD also working fine now, will post the connection picture here.

If you are looking for the firmware file it is located here https://github.com/Allted/Marlin

You will need to click and the Branch drop down and pick the one that matches your setup.

Then hit the Clone or download.

[attachment file=56063]

If you are looking for the preferences, you can find the file location by going to file drop down and then preferences Arduino.
[attachment file=56047]
Then you can click on the file name and it should open the directory that the Preferences file is in.
[attachment file=56046]
You then need to close the Arduino program then open the Preferences file with a text editor.
Add the build.path to the file as in the screen shot.
[attachment file=56048]

Hope that helps.


Ext1 is upper on expansion board and ext two lower. Thanks guys again for help. Works great now. [attachment file=56056]

Ext1 is upper on expansion board and ext two lower. Thanks guys again for help. Works great now. [attachment file=56059]

Flashing this firmware is frustrating.

I have tried 4 computeres now, 3 gets me the “too long extensions” error (Todd’s howto did not solve it), the 4th computer now brings up:

[quote]Arduino: 1.9.0-beta (Windows 7), Board: “Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)”
In file included from c:\arduino\tmp\sketch\src\hal\HAL_AVR/HAL_AVR.h:46:0,
from c:\arduino\tmp\sketch\src\hal\hal.h:38,
from sketch\src\inc/MarlinConfig.h:28,
from sketch\src\Marlin.h:25,
from sketch\src\Marlin.cpp:31:
c:\arduino\tmp\sketch\src\pins\pins_RAMPS.h:129:31: error: pasting “/30/” and “_RPORT” does not give a valid preprocessing token
#define E1_ENABLE_PIN 24 //30
c:\arduino\tmp\sketch\src\hal\HAL_AVR/fastio_AVR.h:85:41: note: in definition of macro ‘_WRITE’
#define _WRITE(IO, v) do { if (&(DIO ## IO ## _RPORT) >= (uint8_t *)0x100) {_WRITE_C(IO, v); } else {_WRITE_NC(IO, v); }; } while (0)[/quote]

Followed by another 2900 lines of similar messages. Not sure what this is about. Disabled LCD, same message.

Any tips?

edit, what I did so far: disconnected LCD, verified RAMPS is working, replaced USB cable, tried two versions of Arduino IDE (latest Beta and the latest Alpha)

I have no idea what could be wrong. With the LCD disabled you don’t need the “tmp” fix. I also think the updates in the new nightly have fixed it as well. There must be something wrong.

I will try and look around for a Ramps to flash, I have not had any reported issues though and there are people using it.

Works for me and I updated them. Try the Arduino hourly.

Alright, got both (hourly IDE and your updated dualendstop-firmware) and now I was able to flash (after doing the “c:\temp” thing again, obviously, because the hourly arduino IDE is not the beta one. Lol!). Thanks.

I tried the solution mentioned above but no use. Can someone suggest any thing different?