Cannot find binary 'arm-none-eabi-ranlib'

parasole

New member
Just want to report a fault I think I found..

While trying to build a project under xUbuntu 16.04, Arduino 1.6.9 + Teensy linux 64 bits and Cmake 3.5.1, I got error for missing arm-none-eabi-ranlib binary, which indeed is missing.
The problem was fixed only after finding another Teensy compiler pack (https://github.com/UECIDE/Teensy3) and replacing the installed one, this one contains all the missing files.

Oficial GCC ARM toolchain for linux64 is not working too, cmake complain about broken gcc+.
 
I did not try it in Arduino IDE, the project was done from the beginning to be build by cmake...
Any way, current linux64 pack wont run even for a simple version check on arm-none-eabi-gcc-ranlib, it will fail due of missing arm-none-eabi-ranlib binary...
 
Maybe you should check if compiling in Arduino works?

In the very likely case Arduino works, use File > Preferences to turn on verbose info while compiling. Then Arduino will show you the exact gcc commands it is running. The first part is just a bunch of gcc preprocessor runs, so skip past all the gcc -E stuff where it detects library dependencies (which presumably cmake is doing for you in one way or another) to get to the actual compile commands.

Even if you hate java, I'm confident you can at least run Arduino for a few minutes to do this quick check and see its compiler commands. Comparing Arduino's known-good compiler commands can really help you quickly figure out what's wrong.
 
Sorry for not being that clear in my description, actually I know for sure what commands are called:
/arduino-1.6.9/hardware/tools/arm/bin/arm-none-eabi-gcc-ar qc ../lib/libpcontrollerxxxxxxx //OK
/arduino-1.6.9/hardware/tools/arm/bin/arm-none-eabi-ranlib ../lib/libpcontrollerxxxxxxxx //fail....

So it fail on indexing the newly created archive since called arm-none-eabi-ranlib is missing... The topic title is taken after running version check on arm-none-eabi-gcc-ranlib which claim too about missing binary, sorry for misleading...
 
Last edited:
Why won't you actually compare against Arduino?

Here, look how easy this is:

sc.png

Arduino compiles without ever running ranlib. Works fine.

You should adapt your makefile to compile the same way Arduino does. It works.

Please, at least for troubleshooting, try to overcome your fear of actually running Arduino, just to compare what your broken makefile is doing against the known good commands Arduino uses.

I'm not saying you should actually *use* Arduino for actual software development. Just run it for a moment to get the right commands, for the sake of fixing or adapting your makefile. Can you at least do that?
 
Actually there is no any fear about Arduino IDE, it is more luck of knowledge, I am just trying to reproduce what some one else did :)
I assume it will go in Arduino as it went well in Platformio... I am still learning about the differences...
 
Back
Top