2

My friend is having problem in trying to call make to compile an application which both me and a second friend have previously successfully compiled.

The file uses a "linux-devkit" pack that possess a /bin subdirectory containing lots of file called arm-arago-linux-gnueabi-something that are essentially executable files (e.g. one is arm-arago-linux-gnueabi-gcc which is essentially the GCC compiler).

Part of the compile process when we call make install in the Makefile directories of our project consists in calls to such "linux-devkit files". When I or my second friend call the command in the Linux terminal, everything runs fine to the end. But when my friends do it, an error message appears:

arm-arago-linux-gnueabi-gcc: No such command found

(Note: translated from a Portuguese Ubuntu)

After doing countless tests we did managed to find an interesting difference: if we go by Terminal to the ~/linux-devkit/bin folder and call arm-arago-linux-gnueabi-gcc in one of the two working systems, the answer is one that essentially tells the file was found, but command specifications are lacking:

arm-arago-linux-gnueabi-gcc: no input files

and this was a expected error message. But when my friend with the problem executes the same command, the error message is:

bash: ./arm-arago-linux-gnueabi-gcc: File or directory not found

(Note: translated from a Portuguese Ubuntu)

It is as if the Terminal simply wasn't finding the file to use it, even tough it appears when ls is called as well as when using Nautilus!

Or user-permissions for those files are 100% equal, so it can't be a problem there. Does anybody have any guess on what's going on?


EDIT:

Here is the answer I got, Volker Siegel:

I'm sure file is in place...

Thats is output, thanks for help.

~/re8k/linux-devkit/bin$ export LC_ALL=C
~/re8k/linux-devkit/bin$ command -v arm-arago-linux-gnueabi-gcc
~/re8k/linux-devkit/bin$ ls -ld ~/re8k/linux-devkit ~/re8k/linux-devkit/bin ./arm-arago-linux-gnueabi-gcc
-rwxr-xr-x  1 diogenes diogenes 448843 Jul  1  2011 ./arm-arago-linux-gnueabi-gcc
drwxr-xr-x 12 diogenes diogenes   4096 Apr 15 17:28 /home/diogenes/re8k/linux-devkit
drwxr-xr-x  2 diogenes diogenes   4096 Sep  3 10:59 /home/diogenes/re8k/linux-devkit/bin
~/re8k/linux-devkit/bin$ head -1 ./arm-arago-linux-gnueabi-gcc
ELF��4�g4('$44�4�44�4������������HH�H�DDQ�tdR�td���/l!��ԟX-linux.so.2GNUGNUI������,�_�_b�
diogenes@diogenes-VirtualBox:~/re8k/linux-devkit/bin$ mount | grep "\s$(stat -c%m .)\s"
/dev/sda1 on / type ext4 (rw,errors=remount-ro)

EDIT 2:

diogenes@diogenes-VirtualBox:~/re8k/linux-devkit/bin$ ./arm-arago-linux-gnueabi-gcc
bash: ./arm-arago-linux-gnueabi-gcc: No such file or directory

A Print Screen to complement:

Print Screen of Terminal

1
  • #PetrNovak yes, I'm sure (??!!) - remembering that it appears both with Nautilus as well as with ls in Terminal
    – Momergil
    Sep 3, 2014 at 17:05

2 Answers 2

1

When Volker Siegel suggested problems with libraries, a correspondent that also works with Linux told us that he had the same problem and the cause was precisely that some libraries were missing.

We run the sudo apt-get install ia32-libs on Terminal as suggested by Volker, but the system reported that this lib wasn't available anymore, suggesting we should maybe install this other libs:

lib32z1 
lib32ncurses5 
lib32bz2-1.0

After installing them, the problem was solved.

0

Take a look into the file arm-arago-linux-gnueabi-gcc:

It's possible that it is a script file, that requires an interpreter program in the first line, and that is not found. (Or even a file that is needed by the interpreter is not found...)

The interpreter is defined in the first line of the file, like

#!/bin/bash

If the problem is not obvious just from looking at the script, please provide more details;

Best add the output of the following commands to the question - just a few lines:

$ export LC_ALL=C
$ cd ~/linux-devkit/bin
$ command -v arm-arago-linux-gnueabi-gcc
$ ls -ld ~/linux-devkit ~/linux-devkit/bin ./arm-arago-linux-gnueabi-gcc
$ head -1 ./arm-arago-linux-gnueabi-gcc
$ mount | grep "\s$(stat -c%m .)\s"

(The first line it to get english error messages in this shell, the last command shows the file system and mount options for the partition that contains the directory.)

6
  • I edited my question with the answer I got from my friend who tested you suggestion.
    – Momergil
    Sep 3, 2014 at 17:04
  • Strange... looks all normal for now. I forgot, can you run the command itself too with the english messages, and add them? Take care to copy/paste the messages without change (so we can google for the exact text) Sep 3, 2014 at 17:18
  • ok, I added a EDIT 2 section with the reply
    – Momergil
    Sep 3, 2014 at 17:28
  • Are you running a 64bit box? Do you know you have the 32bit versions of the libraries installed? Just try sudo apt-get install ia32-libs, it will tell you if it's already installed. Sep 3, 2014 at 17:51
  • we tried this lib you suggested, but this one is not available anymore, so it didn't work. But you were quit right about the solution anyway: there were some libs missing. We installed this missing libraries (the system suggested them) and now the error is not occurring anymore. I'll write an answer soon with the details. Thanks for help!
    – Momergil
    Sep 3, 2014 at 18:01

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .