Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 7 of 7

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

  1. #1
    Junior Member
    Join Date
    May 2017
    Posts
    4

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

    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+.

  2. #2
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    14,694
    Does compiling work when you click Verify in Arduino (not using cmake)?

  3. #3
    Junior Member
    Join Date
    May 2017
    Posts
    4
    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...

  4. #4
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    14,694
    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.

  5. #5
    Junior Member
    Join Date
    May 2017
    Posts
    4
    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 by parasole; 05-19-2017 at 03:47 PM.

  6. #6
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    14,694
    Why won't you actually compare against Arduino?

    Here, look how easy this is:

    Click image for larger version. 

Name:	sc.png 
Views:	35 
Size:	138.7 KB 
ID:	10633

    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?

  7. #7
    Junior Member
    Join Date
    May 2017
    Posts
    4
    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...

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •