# Compilation error

**URL:** <https://forum.arduino.cc/t/compilation-error/572038>\
**Category:** Programming\
**Created:** [February 4, 2019, 11:15pm UTC](https://forum.arduino.cc/t/compilation-error/572038 "2019-02-04T23:15:17Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![everone](https://avatars.discourse-cdn.com/v4/letter/e/ac91a4/32.png) [@everone](https://forum.arduino.cc/u/everone)\
**Post date:** [February 4, 2019, 11:15pm UTC](https://forum.arduino.cc/t/compilation-error/572038/1 "2019-02-04T23:15:17Z")

</div>

Hello I am creating a sketch and have added some code that now gives me a compilation error. error compiling for board Mega2560. error as follows. code attached

```cpp
Arduino: 1.8.8 (Windows Store 1.8.19.0) (Windows 10), Board: "Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

C:\Users\evan_\Documents\Arduino\libraries\Adafruit_GFX_Library\Adafruit_SPITFT.cpp: In member function 'writeFastHLine':

C:\Users\evan_\Documents\Arduino\libraries\Adafruit_GFX_Library\Adafruit_SPITFT.cpp:704:1: internal compiler error: Segmentation fault

 }

 ^

Please submit a full bug report,

with preprocessed source if appropriate.

See <http://gcc.gnu.org/bugs.html> for instructions.

lto-wrapper.exe: fatal error: C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.19.0_x86__mdqgnx93n4wtt\hardware\tools\avr/bin/avr-gcc returned 1 exit status

compilation terminated.

c:/program files/windowsapps/arduinollc.arduinoide_1.8.19.0_x86__mdqgnx93n4wtt/hardware/tools/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/bin/ld.exe: error: lto-wrapper failed

collect2.exe: error: ld returned 1 exit status

exit status 1
Error compiling for board Arduino/Genuino Mega or Mega 2560.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

```

[Watering1-1-19.ino](https://forum.arduino.cc/uploads/short-url/4RGogJEfBuwpbI3uoanDFeIrCRv.ino) (5.72 KB)

---

<div class="post-metadata">

**Author:** ![pert](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/pert/32/217111_2.png) [@pert](https://forum.arduino.cc/u/pert)\
**Post date:** [February 4, 2019, 11:28pm UTC](https://forum.arduino.cc/t/compilation-error/572038/2 "2019-02-04T23:28:09Z")

</div>

This bug is specific to the 5.4.0-atmel3.6.1-arduino2 version of avr-gcc used by Arduino AVR Boards 1.6.22 and newer. It has been reported here:

> <https://github.com/arduino/Arduino/issues/7949>
>
> Hallo,
> 
> I have the following sporadic error. Memory is checked with Memtest an…d okay.
> If I copy the sketch into a new window, no errors will occur.
> With the older SD-Lib version of IDE 1.8.5 compiles without errors under the new IDE 1.8.6
> Windows 10 64Bit
> 
> \`\`\`
> Arduino: 1.8.6 (Windows 10), Board: "Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"
> 
> C:\\Program Files (x86)\\Arduino\\arduino-builder -dump-prefs -logger=machine -hardware C:\\Program Files (x86)\\Arduino\\hardware -hardware C:\\Users\\Worker\\AppData\\Local\\Arduino15\\packages -tools C:\\Program Files (x86)\\Arduino\\tools-builder -tools C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr -tools C:\\Users\\Worker\\AppData\\Local\\Arduino15\\packages -built-in-libraries C:\\Program Files (x86)\\Arduino\\libraries -libraries C:\\Users\\Worker\\Documents\\Arduino\\libraries -fqbn=arduino:avr:mega:cpu=atmega2560 -ide-version=10806 -build-path C:\\Users\\Worker\\AppData\\Local\\Temp\\arduino\_build\_196433 -warnings=all -build-cache C:\\Users\\Worker\\AppData\\Local\\Temp\\arduino\_cache\_166815 -prefs=build.warn\_data\_percentage=75 -prefs=runtime.tools.avrdude.path=C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr -prefs=runtime.tools.arduinoOTA.path=C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr -prefs=runtime.tools.avr-gcc.path=C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr -verbose C:\\Program Files (x86)\\Arduino\\libraries\\SD\\examples\\Datalogger\\Datalogger.ino
> C:\\Program Files (x86)\\Arduino\\arduino-builder -compile -logger=machine -hardware C:\\Program Files (x86)\\Arduino\\hardware -hardware C:\\Users\\Worker\\AppData\\Local\\Arduino15\\packages -tools C:\\Program Files (x86)\\Arduino\\tools-builder -tools C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr -tools C:\\Users\\Worker\\AppData\\Local\\Arduino15\\packages -built-in-libraries C:\\Program Files (x86)\\Arduino\\libraries -libraries C:\\Users\\Worker\\Documents\\Arduino\\libraries -fqbn=arduino:avr:mega:cpu=atmega2560 -ide-version=10806 -build-path C:\\Users\\Worker\\AppData\\Local\\Temp\\arduino\_build\_196433 -warnings=all -build-cache C:\\Users\\Worker\\AppData\\Local\\Temp\\arduino\_cache\_166815 -prefs=build.warn\_data\_percentage=75 -prefs=runtime.tools.avrdude.path=C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr -prefs=runtime.tools.arduinoOTA.path=C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr -prefs=runtime.tools.avr-gcc.path=C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr -verbose C:\\Program Files (x86)\\Arduino\\libraries\\SD\\examples\\Datalogger\\Datalogger.ino
> Using board 'mega' from platform in folder: C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr
> Using core 'arduino' from platform in folder: C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr
> Detecting libraries used...
> "C:\\\\Program Files (x86)\\\\Arduino\\\\hardware\\\\tools\\\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF\_CPU=16000000L -DARDUINO=10806 -DARDUINO\_AVR\_MEGA2560 -DARDUINO\_ARCH\_AVR "-IC:\\\\Program Files (x86)\\\\Arduino\\\\hardware\\\\arduino\\\\avr\\\\cores\\\\arduino" "-IC:\\\\Program Files (x86)\\\\Arduino\\\\hardware\\\\arduino\\\\avr\\\\variants\\\\mega" "C:\\\\Users\\\\Worker\\\\AppData\\\\Local\\\\Temp\\\\arduino\_build\_196433\\\\sketch\\\\Datalogger.ino.cpp" -o nul
> "C:\\\\Program Files (x86)\\\\Arduino\\\\hardware\\\\tools\\\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF\_CPU=16000000L -DARDUINO=10806 -DARDUINO\_AVR\_MEGA2560 -DARDUINO\_ARCH\_AVR "-IC:\\\\Program Files (x86)\\\\Arduino\\\\hardware\\\\arduino\\\\avr\\\\cores\\\\arduino" "-IC:\\\\Program Files (x86)\\\\Arduino\\\\hardware\\\\arduino\\\\avr\\\\variants\\\\mega" "-IC:\\\\Program Files (x86)\\\\Arduino\\\\hardware\\\\arduino\\\\avr\\\\libraries\\\\SPI\\\\src" "C:\\\\Users\\\\Worker\\\\AppData\\\\Local\\\\Temp\\\\arduino\_build\_196433\\\\sketch\\\\Datalogger.ino.cpp" -o nul
> "C:\\\\Program Files (x86)\\\\Arduino\\\\hardware\\\\tools\\\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF\_CPU=16000000L -DARDUINO=10806 -DARDUINO\_AVR\_MEGA2560 -DARDUINO\_ARCH\_AVR "-IC:\\\\Program Files (x86)\\\\Arduino\\\\hardware\\\\arduino\\\\avr\\\\cores\\\\arduino" "-IC:\\\\Program Files (x86)\\\\Arduino\\\\hardware\\\\arduino\\\\avr\\\\variants\\\\mega" "-IC:\\\\Program Files (x86)\\\\Arduino\\\\hardware\\\\arduino\\\\avr\\\\libraries\\\\SPI\\\\src" "-IC:\\\\Program Files (x86)\\\\Arduino\\\\libraries\\\\SD\\\\src" "C:\\\\Users\\\\Worker\\\\AppData\\\\Local\\\\Temp\\\\arduino\_build\_196433\\\\sketch\\\\Datalogger.ino.cpp" -o nul
> Using cached library dependencies for file: C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\SPI\\src\\SPI.cpp
> Using cached library dependencies for file: C:\\Program Files (x86)\\Arduino\\libraries\\SD\\src\\File.cpp
> Using cached library dependencies for file: C:\\Program Files (x86)\\Arduino\\libraries\\SD\\src\\SD.cpp
> Using cached library dependencies for file: C:\\Program Files (x86)\\Arduino\\libraries\\SD\\src\\utility\\Sd2Card.cpp
> Using cached library dependencies for file: C:\\Program Files (x86)\\Arduino\\libraries\\SD\\src\\utility\\SdFile.cpp
> Using cached library dependencies for file: C:\\Program Files (x86)\\Arduino\\libraries\\SD\\src\\utility\\SdVolume.cpp
> Generating function prototypes...
> "C:\\\\Program Files (x86)\\\\Arduino\\\\hardware\\\\tools\\\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF\_CPU=16000000L -DARDUINO=10806 -DARDUINO\_AVR\_MEGA2560 -DARDUINO\_ARCH\_AVR "-IC:\\\\Program Files (x86)\\\\Arduino\\\\hardware\\\\arduino\\\\avr\\\\cores\\\\arduino" "-IC:\\\\Program Files (x86)\\\\Arduino\\\\hardware\\\\arduino\\\\avr\\\\variants\\\\mega" "-IC:\\\\Program Files (x86)\\\\Arduino\\\\hardware\\\\arduino\\\\avr\\\\libraries\\\\SPI\\\\src" "-IC:\\\\Program Files (x86)\\\\Arduino\\\\libraries\\\\SD\\\\src" "C:\\\\Users\\\\Worker\\\\AppData\\\\Local\\\\Temp\\\\arduino\_build\_196433\\\\sketch\\\\Datalogger.ino.cpp" -o "C:\\\\Users\\\\Worker\\\\AppData\\\\Local\\\\Temp\\\\arduino\_build\_196433\\\\preproc\\\\ctags\_target\_for\_gcc\_minus\_e.cpp"
> "C:\\\\Program Files (x86)\\\\Arduino\\\\tools-builder\\\\ctags\\\\5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\\\\Users\\\\Worker\\\\AppData\\\\Local\\\\Temp\\\\arduino\_build\_196433\\\\preproc\\\\ctags\_target\_for\_gcc\_minus\_e.cpp"
> Sketch wird kompiliert...
> "C:\\\\Program Files (x86)\\\\Arduino\\\\hardware\\\\tools\\\\avr/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega2560 -DF\_CPU=16000000L -DARDUINO=10806 -DARDUINO\_AVR\_MEGA2560 -DARDUINO\_ARCH\_AVR "-IC:\\\\Program Files (x86)\\\\Arduino\\\\hardware\\\\arduino\\\\avr\\\\cores\\\\arduino" "-IC:\\\\Program Files (x86)\\\\Arduino\\\\hardware\\\\arduino\\\\avr\\\\variants\\\\mega" "-IC:\\\\Program Files (x86)\\\\Arduino\\\\hardware\\\\arduino\\\\avr\\\\libraries\\\\SPI\\\\src" "-IC:\\\\Program Files (x86)\\\\Arduino\\\\libraries\\\\SD\\\\src" "C:\\\\Users\\\\Worker\\\\AppData\\\\Local\\\\Temp\\\\arduino\_build\_196433\\\\sketch\\\\Datalogger.ino.cpp" -o "C:\\\\Users\\\\Worker\\\\AppData\\\\Local\\\\Temp\\\\arduino\_build\_196433\\\\sketch\\\\Datalogger.ino.cpp.o"
> Compiling libraries...
> Compiling library "SPI"
> Zuvor kompilierte Datei wird verwendet: C:\\Users\\Worker\\AppData\\Local\\Temp\\arduino\_build\_196433\\libraries\\SPI\\SPI.cpp.o
> Compiling library "SD"
> Zuvor kompilierte Datei wird verwendet: C:\\Users\\Worker\\AppData\\Local\\Temp\\arduino\_build\_196433\\libraries\\SD\\File.cpp.o
> Zuvor kompilierte Datei wird verwendet: C:\\Users\\Worker\\AppData\\Local\\Temp\\arduino\_build\_196433\\libraries\\SD\\SD.cpp.o
> Zuvor kompilierte Datei wird verwendet: C:\\Users\\Worker\\AppData\\Local\\Temp\\arduino\_build\_196433\\libraries\\SD\\utility\\Sd2Card.cpp.o
> Zuvor kompilierte Datei wird verwendet: C:\\Users\\Worker\\AppData\\Local\\Temp\\arduino\_build\_196433\\libraries\\SD\\utility\\SdFile.cpp.o
> Zuvor kompilierte Datei wird verwendet: C:\\Users\\Worker\\AppData\\Local\\Temp\\arduino\_build\_196433\\libraries\\SD\\utility\\SdVolume.cpp.o
> Compiling core...
> Using precompiled core: C:\\Users\\Worker\\AppData\\Local\\Temp\\arduino\_cache\_166815\\core\\core\_arduino\_avr\_mega\_cpu\_atmega2560\_0c812875ac70eb4a9b385d8fb077f54c.a
> Linking everything together...
> "C:\\\\Program Files (x86)\\\\Arduino\\\\hardware\\\\tools\\\\avr/bin/avr-gcc" -Wall -Wextra -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections,--relax -mmcu=atmega2560 -o "C:\\\\Users\\\\Worker\\\\AppData\\\\Local\\\\Temp\\\\arduino\_build\_196433/Datalogger.ino.elf" "C:\\\\Users\\\\Worker\\\\AppData\\\\Local\\\\Temp\\\\arduino\_build\_196433\\\\sketch\\\\Datalogger.ino.cpp.o" "C:\\\\Users\\\\Worker\\\\AppData\\\\Local\\\\Temp\\\\arduino\_build\_196433\\\\libraries\\\\SPI\\\\SPI.cpp.o" "C:\\\\Users\\\\Worker\\\\AppData\\\\Local\\\\Temp\\\\arduino\_build\_196433\\\\libraries\\\\SD\\\\File.cpp.o" "C:\\\\Users\\\\Worker\\\\AppData\\\\Local\\\\Temp\\\\arduino\_build\_196433\\\\libraries\\\\SD\\\\SD.cpp.o" "C:\\\\Users\\\\Worker\\\\AppData\\\\Local\\\\Temp\\\\arduino\_build\_196433\\\\libraries\\\\SD\\\\utility\\\\Sd2Card.cpp.o" "C:\\\\Users\\\\Worker\\\\AppData\\\\Local\\\\Temp\\\\arduino\_build\_196433\\\\libraries\\\\SD\\\\utility\\\\SdFile.cpp.o" "C:\\\\Users\\\\Worker\\\\AppData\\\\Local\\\\Temp\\\\arduino\_build\_196433\\\\libraries\\\\SD\\\\utility\\\\SdVolume.cpp.o" "C:\\\\Users\\\\Worker\\\\AppData\\\\Local\\\\Temp\\\\arduino\_build\_196433/..\\\\arduino\_cache\_166815\\\\core\\\\core\_arduino\_avr\_mega\_cpu\_atmega2560\_0c812875ac70eb4a9b385d8fb077f54c.a" "-LC:\\\\Users\\\\Worker\\\\AppData\\\\Local\\\\Temp\\\\arduino\_build\_196433" -lm
> In function 'global constructors keyed to 65535\_0\_Datalogger.ino.cpp.o':
> 
> lto1.exe: internal compiler error: Segmentation fault
> 
> Please submit a full bug report,
> 
> with preprocessed source if appropriate.
> 
> See \<http://gcc.gnu.org/bugs.html\> for instructions.
> 
> lto-wrapper.exe: fatal error: C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-gcc returned 1 exit status
> 
> compilation terminated.
> 
> c:/program files (x86)/arduino/hardware/tools/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/bin/ld.exe: error: lto-wrapper failed
> 
> collect2.exe: error: ld returned 1 exit status
> 
> Bibliothek SPI in Version 1.0 im Ordner: C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\SPI wird verwendet
> Bibliothek SD in Version 1.2.2 im Ordner: C:\\Program Files (x86)\\Arduino\\libraries\\SD wird verwendet
> exit status 1
> Fehler beim Kompilieren für das Board Arduino/Genuino Mega or Mega 2560.
> \`\`\`

Here's the traditional workaround:

- Tools \> Board \> Boards Manager
- Wait for downloads to finish.
- When you move the mouse pointer over "Arduino AVR Boards", you will see a "Select version" dropdown menu appear. Select "1.6.21".
- Click "Install".
- Wait for installation to finish.
- Click "Close".

Due to a [bug](https://github.com/arduino/Arduino/issues/7973), this workaround doesn't work with Arduino IDE 1.8.6, but it will work with any other version of the Arduino IDE.

If you have **File \> Preferences \> Check for updates on startup** checked, the Arduino IDE may occasionally notify you that a new version of Arduino AVR Boards is available, you'll need to refrain from updating back to the new Arduino AVR Boards version, otherwise you'll be back to seeing the segmentation fault error again.

Alternate workaround:  
One of the Arduino developers recently worked on this and claims to have fixed it. There is a special beta testing hardware package you can install via the Arduino IDE's Boards Manager that has the fix:

- (In the Arduino IDE) File \> Preferences
- In the "Additional Boards Manager URLs" field, enter: [http://downloads.arduino.cc/packages/package\_avr\_7.3.0\_index.json](http://downloads.arduino.cc/packages/package_avr_7.3.0_index.json) If you already have an additional Boards Manager URL in that field, you can separate multiple URLs with commas or click the button on the right side of the field to open a dialog that allows you to add each on its own line.
- Click "OK"
- Tools \> Board \> Boards Manager
- Wait for the downloads to finish
- Click on "Arduino AVR Boards by Arduino"
- Click the "Update" button.
- Wait for the update to finish.
- Click "Close".

---

<div class="post-metadata">

**Author:** ![everone](https://avatars.discourse-cdn.com/v4/letter/e/ac91a4/32.png) [@everone](https://forum.arduino.cc/u/everone)\
**Post date:** [February 5, 2019, 12:13am UTC](https://forum.arduino.cc/t/compilation-error/572038/3 "2019-02-05T00:13:01Z")

</div>

thank you that worked

---

<div class="post-metadata">

**Author:** ![system](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/system/32/1140315_2.png) [@system](https://forum.arduino.cc/u/system)\
**Post date:** [May 5, 2021, 11:37pm UTC](https://forum.arduino.cc/t/compilation-error/572038/4 "2021-05-05T23:37:10Z")

</div>

Closed on May 5, 2021, 11:37pm UTC


