Compilation error: exit status 1

My son's just started a robotics online course which uses the Arduino UNO. So in his first lesson the instructor needed him to upload the standard firmata but it keeps giving errors.

C:\Users\USER\AppData\Local\Temp\ccaaCsPE.ltrans0.ltrans.o: In function `reportAnalogCallback(unsigned char, int)':
C:\Users\USER\AppData\Local\Temp\.arduinoIDE-unsaved2025121-17832-12xrtwh.rj5y\StandardFirmata/StandardFirmata.ino:452: undefined reference to `analogRead'
C:\Users\USER\AppData\Local\Temp\ccaaCsPE.ltrans0.ltrans.o: In function `Servo::attach(int, int, int)':
C:\Users\USER\AppData\Local\Arduino15\libraries\Servo\src\avr/Servo.cpp:241: undefined reference to `pinMode'
C:\Users\USER\AppData\Local\Temp\ccaaCsPE.ltrans0.ltrans.o: In function `digitalWriteCallback(unsigned char, int)':
C:\Users\USER\AppData\Local\Temp\.arduinoIDE-unsaved2025121-17832-12xrtwh.rj5y\StandardFirmata/StandardFirmata.ino:418: undefined reference to `pinMode'
C:\Users\USER\AppData\Local\Temp\ccaaCsPE.ltrans0.ltrans.o: In function `twi_init':
C:\Users\USER\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\Wire\src\utility/twi.c:88: undefined reference to `digitalWrite'
C:\Users\USER\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\Wire\src\utility/twi.c:89: undefined reference to `digitalWrite'
C:\Users\USER\AppData\Local\Temp\ccaaCsPE.ltrans0.ltrans.o: In function `twi_disable':
C:\Users\USER\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\Wire\src\utility/twi.c:117: undefined reference to `digitalWrite'
C:\Users\USER\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\Wire\src\utility/twi.c:118: undefined reference to `digitalWrite'
C:\Users\USER\AppData\Local\Temp\ccaaCsPE.ltrans0.ltrans.o: In function `twi_writeTo':
C:\Users\USER\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\Wire\src\utility/twi.c:263: undefined reference to `micros'
C:\Users\USER\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\Wire\src\utility/twi.c:299: undefined reference to `micros'
C:\Users\USER\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\Wire\src\utility/twi.c:302: undefined reference to `micros'
C:\Users\USER\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\Wire\src\utility/twi.c:314: undefined reference to `micros'
C:\Users\USER\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\Wire\src\utility/twi.c:265: undefined reference to `micros'
C:\Users\USER\AppData\Local\Temp\ccaaCsPE.ltrans0.ltrans.o:C:\Users\USER\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\Wire\src\utility/twi.c:316: more undefined references to `micros' follow
C:\Users\USER\AppData\Local\Temp\ccaaCsPE.ltrans0.ltrans.o: In function `setPinValueCallback(unsigned char, int)':
C:\Users\USER\AppData\Local\Temp\.arduinoIDE-unsaved2025121-17832-12xrtwh.rj5y\StandardFirmata/StandardFirmata.ino:376: undefined reference to `digitalWrite'
C:\Users\USER\AppData\Local\Temp\ccaaCsPE.ltrans0.ltrans.o: In function `analogWriteCallback(unsigned char, int)':
C:\Users\USER\AppData\Local\Temp\.arduinoIDE-unsaved2025121-17832-12xrtwh.rj5y\StandardFirmata/StandardFirmata.ino:392: undefined reference to `analogWrite'
C:\Users\USER\AppData\Local\Temp\ccaaCsPE.ltrans0.ltrans.o: In function `setPinModeCallback(unsigned char, int)':
C:\Users\USER\AppData\Local\Temp\.arduinoIDE-unsaved2025121-17832-12xrtwh.rj5y\StandardFirmata/StandardFirmata.ino:294: undefined reference to `pinMode'
C:\Users\USER\AppData\Local\Temp\.arduinoIDE-unsaved2025121-17832-12xrtwh.rj5y\StandardFirmata/StandardFirmata.ino:305: undefined reference to `pinMode'
C:\Users\USER\AppData\Local\Temp\.arduinoIDE-unsaved2025121-17832-12xrtwh.rj5y\StandardFirmata/StandardFirmata.ino:315: undefined reference to `pinMode'
C:\Users\USER\AppData\Local\Temp\.arduinoIDE-unsaved2025121-17832-12xrtwh.rj5y\StandardFirmata/StandardFirmata.ino:324: undefined reference to `digitalWrite'
C:\Users\USER\AppData\Local\Temp\.arduinoIDE-unsaved2025121-17832-12xrtwh.rj5y\StandardFirmata/StandardFirmata.ino:326: undefined reference to `pinMode'
C:\Users\USER\AppData\Local\Temp\.arduinoIDE-unsaved2025121-17832-12xrtwh.rj5y\StandardFirmata/StandardFirmata.ino:332: undefined reference to `pinMode'
C:\Users\USER\AppData\Local\Temp\.arduinoIDE-unsaved2025121-17832-12xrtwh.rj5y\StandardFirmata/StandardFirmata.ino:333: undefined reference to `analogWrite'
C:\Users\USER\AppData\Local\Temp\ccaaCsPE.ltrans0.ltrans.o: In function `readAndReportData(unsigned char, int, unsigned char, unsigned char)':
C:\Users\USER\AppData\Local\Temp\.arduinoIDE-unsaved2025121-17832-12xrtwh.rj5y\StandardFirmata/StandardFirmata.ino:196: undefined reference to `delayMicroseconds'
C:\Users\USER\AppData\Local\Temp\ccaaCsPE.ltrans0.ltrans.o: In function `twi_readFrom':
C:\Users\USER\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\Wire\src\utility/twi.c:169: undefined reference to `micros'
C:\Users\USER\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\Wire\src\utility/twi.c:202: undefined reference to `micros'
C:\Users\USER\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\Wire\src\utility/twi.c:205: undefined reference to `micros'
C:\Users\USER\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\Wire\src\utility/twi.c:217: undefined reference to `micros'
C:\Users\USER\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\Wire\src\utility/twi.c:171: undefined reference to `micros'
C:\Users\USER\AppData\Local\Temp\ccaaCsPE.ltrans0.ltrans.o:C:\Users\USER\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\Wire\src\utility/twi.c:219: more undefined references to `micros' follow
C:\Users\USER\AppData\Local\Temp\ccaaCsPE.ltrans0.ltrans.o: In function `sysexCallback(unsigned char, unsigned char, unsigned char*)':
C:\Users\USER\AppData\Local\Temp\.arduinoIDE-unsaved2025121-17832-12xrtwh.rj5y\StandardFirmata/StandardFirmata.ino:517: undefined reference to `delayMicroseconds'
C:\Users\USER\AppData\Local\Temp\ccaaCsPE.ltrans0.ltrans.o: In function `handle_interrupts':
C:\Users\USER\AppData\Local\Arduino15\libraries\Servo\src\avr/Servo.cpp:58: undefined reference to `digitalWrite'
C:\Users\USER\AppData\Local\Arduino15\libraries\Servo\src\avr/Servo.cpp:65: undefined reference to `digitalWrite'
C:\Users\USER\AppData\Local\Temp\ccaaCsPE.ltrans0.ltrans.o: In function `main':
C:\Users\USER\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\cores\arduino/main.cpp:35: undefined reference to `init'
C:\Users\USER\AppData\Local\Temp\ccaaCsPE.ltrans0.ltrans.o: In function `blinkVersion':
C:\Users\USER\AppData\Local\Arduino15\libraries\Firmata/Firmata.cpp:164: undefined reference to `pinMode'
C:\Users\USER\AppData\Local\Temp\ccaaCsPE.ltrans0.ltrans.o: In function `strobeBlinkPin':
C:\Users\USER\AppData\Local\Arduino15\libraries\Firmata/Firmata.cpp:548: undefined reference to `delay'
C:\Users\USER\AppData\Local\Arduino15\libraries\Firmata/Firmata.cpp:549: undefined reference to `digitalWrite'
C:\Users\USER\AppData\Local\Arduino15\libraries\Firmata/Firmata.cpp:550: undefined reference to `delay'
C:\Users\USER\AppData\Local\Arduino15\libraries\Firmata/Firmata.cpp:551: undefined reference to `digitalWrite'
C:\Users\USER\AppData\Local\Arduino15\libraries\Firmata/Firmata.cpp:548: undefined reference to `delay'
C:\Users\USER\AppData\Local\Arduino15\libraries\Firmata/Firmata.cpp:549: undefined reference to `digitalWrite'
C:\Users\USER\AppData\Local\Arduino15\libraries\Firmata/Firmata.cpp:550: undefined reference to `delay'
C:\Users\USER\AppData\Local\Arduino15\libraries\Firmata/Firmata.cpp:551: undefined reference to `digitalWrite'
C:\Users\USER\AppData\Local\Temp\ccaaCsPE.ltrans0.ltrans.o: In function `blinkVersion':
C:\Users\USER\AppData\Local\Arduino15\libraries\Firmata/Firmata.cpp:166: undefined reference to `delay'
C:\Users\USER\AppData\Local\Temp\ccaaCsPE.ltrans0.ltrans.o: In function `strobeBlinkPin':
C:\Users\USER\AppData\Local\Arduino15\libraries\Firmata/Firmata.cpp:548: undefined reference to `delay'
C:\Users\USER\AppData\Local\Arduino15\libraries\Firmata/Firmata.cpp:549: undefined reference to `digitalWrite'
C:\Users\USER\AppData\Local\Arduino15\libraries\Firmata/Firmata.cpp:550: undefined reference to `delay'
C:\Users\USER\AppData\Local\Arduino15\libraries\Firmata/Firmata.cpp:551: undefined reference to `digitalWrite'
C:\Users\USER\AppData\Local\Temp\ccaaCsPE.ltrans0.ltrans.o: In function `blinkVersion':
C:\Users\USER\AppData\Local\Arduino15\libraries\Firmata/Firmata.cpp:168: undefined reference to `delay'
C:\Users\USER\AppData\Local\Temp\ccaaCsPE.ltrans0.ltrans.o: In function `loop':
C:\Users\USER\AppData\Local\Temp\.arduinoIDE-unsaved2025121-17832-12xrtwh.rj5y\StandardFirmata/StandardFirmata.ino:801: undefined reference to `millis'
C:\Users\USER\AppData\Local\Temp\.arduinoIDE-unsaved2025121-17832-12xrtwh.rj5y\StandardFirmata/StandardFirmata.ino:809: undefined reference to `analogRead'
collect2.exe: error: ld returned 1 exit status

exit status 1

Compilation error: exit status 1

Instructor says it means IDE cannot communicate with the UNO.

Would really appreciate some help on this, pls.

Welcome to the forum

Then he is wrong

Please post the sketch that your son is trying to upload, using code tags when you do

In my experience the easiest way to tidy up the code and add the code tags is as follows

Start by tidying up your code by using Tools/Auto Format in the IDE to make it easier to read. Then use Edit/Copy for Forum and paste what was copied in a new reply. Code tags will have been added to the code to make it easy to read in the forum thus making it easier to provide help.

It is also helpful to post error messages in code tags, as you did, as it makes it easier to scroll through them and copy them for examination

2 Likes

= not an upload error

this firmata is of the ready examples in the IDE software.
Pls let me know what you mean by, "the sketch that your son is trying to upload,"

that's what I was surprised to, when the instructor said it's a connection error. One static light and one blinking light are there on the UNO

What IDE are you using, and what Arduino do you have? Is the right board selected in the IDE?

There's an easy way to empirical prove it's compilation; click verify.

well, we selected the board based on the instructor's instructions.

OK, but exactly which board was selected and which board exactly do you have ?

  • Please read and follow the posting guidelines for this forum.

As you probably can understand, it doesn't give away any of the below.

Edit: Take your time you and your son to find this info, no hurry. If this is new to you, you should allow yourself enough time to learn the basics, to get the most fun out this experience. :upside_down_face:

1 Like

As has been pointed out, your instructor is wrong. The IDE won't even attempt to connect to the UNO when you have any compilation errors in the code. And you've got lots of compilation errors. The compiler cannot find any of the standard Arduino functions such as delay(), digitalWrite(), pinMode(), micros() and so on.
I don't remember ever seeing this before but my guess is that the IDE hasn't been installed properly.
A search of the forum turned up this topic which suggests deleting a cache file. If you can figure out where that file is in your installation it might be worth trying that fix (but make a backup the file just in case).
Failing that, I think your best bet is to do a clean re-installation of the IDE.

Pete

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.