../tools/arm/bin/(build.command.linker) -- "file does not exist"


I am submitting a bug report post because I could not find a thread for 'file does not exist'.

I've been using 1.8.8 arduino and teensyduino 1.45 for quite a while with no big issues.
I upgraded to 1.46 and had this error compiling a program that compiled fine on 1.45:
.. \\.../tools/arm/bin/(build.command.linker)
"file does not exist"
This happened late in the compile process. It kinda looks like the actual linker did not get inserted in the compile string, just the variable name.
I tried reinstalling 1.8.8 and 1.46 but it did not help. When I tried to reinstall 1.45 over 1.46 it would not let me saying that there were arduino version errors in the ../lib/version.txt file. I checked but it was fine with the string '1.8.8'.

I finally went back to 1.8.7 arduino and teensy 1.45 and things work again.

I'm running Windows 7 with Kapersky (file protection was temp off to check if it was part of the problem, it was not).

Thanks to anyone who can help decipher what went wrong.

Inside the Arduino folder, look for platform.txt and boards.txt in hardware/teensy/avr.

This error means you somehow got one of those files installed, but not the other. How that could happen is a mystery, since both are written by the installer. Only plausible explanation is anti-virus or malware interfering with the installer's ability to write files (but in a subversive way where no filesystem error is reported by Windows to the installer). Yeah, I know you said you disabled auti-virus, but there just isn't any other reasonable explanation.

I recommend completely uninstalling Arduino, then install a fresh copy, and run the Teensyduino installer on that code (which has neither of these files from a prior install). Or get the ZIP copy from Arduino's website and extract it somewhere else on your hard drive, and install into that copy. But if you use Windows like most people do, that can become very confusing, because Windows may sometimes run the other copy when you click stuff. Having more than 1 copy of Arduino on your PC is possible, but requires careful attention on your part to always know which one you're really using.
Thanks, Paul, for the quick reply. Now I know why pjrc customers are so loyal.
I downloaded 188 and 189 but the problem persisted, so it may have been a file removal problem with permissions or Kapersky.
I'll try cleaning out everything and reinstall again soon, when I have more time.
The really strange thing to me was that the platform.txt file contained a version line of ... 1.8.5 when I used the installer for arduino 1.8.7.

Really looking forward to the release of 4.0. and sent an email to Robin about pre-orders but I guess she does not have time right now to reply.

Hi Paul, Frank and all
Congrats on the 4.0 release, a moon landing event in the teensy universe!

I just ordered one and hope to get it soon, but I just found out that I still cannot compile using Arduino 1.8.7 with either Teensy 1.46 or 1.47 beta 9.
Again this is on a Windows 7 on which I reinstalled 1.8.7 and 1.45 and it compiled fine and ran everything OK.

boards.txt and platforms.txt files exist in both

It may be the problem is with the file that is represented by build.command.linker
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/{build.command.linker} : file does not exist

As far as I can tell it is trying to find a file in a directory that does not exist.
There is no directory below ..teensy that maps to /tools/arm/bin.
Is it getting paths to arduino linker scripts mixed with teensy paths or am I not understanding how paths with \\teensy/../ work?

Here are the last ~15 lines of output: Notice the first line is where it tries to use 'build.command.linker'.

Linking everything together...
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/{build.command.linker}" -O2 -Wl,--gc-sections,--relax,--defsym=__rtc_localtime=1565214341 "-TC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy3/mk66fx1m0.ld" -lstdc++ -mthumb -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -fsingle-precision-constant -o "C:\\Users\\me\\AppData\\Local\\Temp\\arduino_build_837519/T32_TFT_BOARD_V8.ino.elf"

.. all files that need to be linked...

Multiple libraries were found for "font_DroidSerif_Regular.h"
Used: C:\0A\ARDUINO\SKETCHES-CODE\libraries\ILI9341_fonts-master
Not used: C:\0A\ARDUINO\SKETCHES-CODE\libraries\ILI9341_fonts
Not used: C:\0A\ARDUINO\SKETCHES-CODE\libraries\ILI9341_fonts
Not used: C:\0A\ARDUINO\SKETCHES-CODE\libraries\ILI9341_fonts
Not used: C:\0A\ARDUINO\SKETCHES-CODE\libraries\ILI9341_fonts
Multiple libraries were found for "Metro.h"
Used: C:\0A\ARDUINO\SKETCHES-CODE\libraries\Metro
Not used: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\Metro
Using library ILI9341_t3 at version 1.0 in folder: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\ILI9341_t3
Using library ILI9341_fonts-master in folder: C:\0A\ARDUINO\SKETCHES-CODE\libraries\ILI9341_fonts-master (legacy)
Using library Metro in folder: C:\0A\ARDUINO\SKETCHES-CODE\libraries\Metro (legacy)
Using library SPI at version 1.0 in folder: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI
Using library XPT2046_Touchscreen at version 1.3 in folder: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\XPT2046_Touchscreen
Using library Streaming in folder: C:\0A\ARDUINO\SKETCHES-CODE\libraries\Streaming (legacy)
exec: "C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/{build.command.linker}": file does not exist
Error compiling for board Teensy 3.6.

Thank you, anyone who can assist,
It may be the problem is with the file that is represented by build.command.linker
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/{build.command.linker} : file does not exist

This "{build.command.linker}" error means you have an incomplete or corrupted install, where platform.txt was updated but boards.txt was not. This symbol was added some time ago, to both those files. If you somehow have 1 but not the other, you'll get this error.

First, reboot your computer. If an old instance of the Arduino IDE or other software is lingering, it may be holding files opena dn interfering your ability to write to them.

Simplest solution is to get a fresh copy of Arduino. Don't unzip "on top of" an existing copy. Then run the Teensyduino installer again. You might need to temporarily disable Windows Defender or other anti-virus software.

While not technically related, you might consider upgrading to Windows 10. Microsoft fixed several long-standing USB bugs, which are still present in Windows 7. USB works so much better in Windows 10 (and Linux and Macintosh).
Hi Paul,
Thanks for taking time to reply in the midst of the crazy activity of the new 4.0 rollout.
I finally can compile and download 4.0 programs. I uninstalled Arduino and reinstalled in a custom directory outside of c:/Program Files(x86).
I now have Arduino 1.8.9 and Teensyduino 1.47beta5.
I never did find out where the script files are that Teensy/Arduino run to substitute values for the "{build.command.linker}" ,etc.

There seem to be 3 important path categories
1. the default arduino paths for compile, etc
2. the teensy paths for teensy specific data
3. the paths to data stored in the 'user' acct.

It must be that one or more of these was corrupt or write protected, as you mentioned.

Thanks, and looking forward to testing the features of the 4.0

Hey Paul,

Ive had some issues with Different versions of IDE and different script i have and giving me major conflicts....One script will only work/Verify/Program my boards and work like its supposed to on 1.8.1 And a new script buddy whote for me that will only work on the 1.8.7

Ive installed and uninstalled/rebooted oh so many times to try and solve this...

Let me know what you would like from me to proceed with getting this resolved...fwiw im working with a Teensy LC