Comando não encontrado problema no terminal Linux-Ubuntu

2

Meu amigo está tendo problemas ao tentar chamar make para compilar um aplicativo que eu e um segundo amigo já compilamos com sucesso.

O arquivo usa um pacote "linux-devkit" que possui um subdiretório / bin contendo muitos arquivos chamados arm-arago-linux-gnueabi- , que são essencialmente arquivos executáveis (por exemplo, um é arm-arago-linux-gnueabi-gcc , que é essencialmente o compilador GCC).

Parte do processo de compilação quando chamamos make install nos diretórios Makefile do nosso projeto consiste em chamadas para esses "arquivos linux-devkit". Quando eu ou meu segundo amigo chamamos o comando no terminal Linux, tudo corre bem até o fim. Mas quando meus amigos fazem isso, aparece uma mensagem de erro:

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

(Nota: traduzido de um Ubuntu Português)

Depois de fazer inúmeros testes conseguimos encontrar uma diferença interessante: se formos pelo Terminal até a pasta ~/linux-devkit/bin e chamarmos arm-arago-linux-gnueabi-gcc em um dos dois sistemas em funcionamento, a resposta é aquela que essencialmente diz que o arquivo foi encontrado, mas faltam especificações de comando:

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

e esta foi uma mensagem de erro esperada. Mas quando meu amigo com o problema executa o mesmo comando, a mensagem de erro é:

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

(Nota: traduzido de um Ubuntu Português)

É como se o Terminal simplesmente não estivesse encontrando o arquivo para usá-lo, mesmo que pareça difícil quando ls é chamado tão bem quanto ao usar o Nautilus!

Ou as permissões de usuário para esses arquivos são 100% iguais, por isso não pode haver um problema. Alguém adivinha o que está acontecendo?

EDITAR:

Aqui está a resposta que eu tenho, 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

Uma tela de impressão para complementar:

    
por Momergil 03.09.2014 / 16:38

2 respostas

1

Quando Volker Siegel sugeriu problemas com bibliotecas, um correspondente que também trabalha com o Linux nos disse que ele tinha o mesmo problema e a causa foi precisamente que algumas bibliotecas estavam faltando.

Nós rodamos o sudo apt-get install ia32-libs no Terminal como sugerido por Volker, mas o sistema reportou que este lib não estava mais disponível, sugerindo que talvez devêssemos instalar outras libs:

lib32z1 
lib32ncurses5 
lib32bz2-1.0

Depois de instalá-los, o problema foi resolvido.

    
por 03.09.2014 / 20:06
0

Dê uma olhada no arquivo arm-arago-linux-gnueabi-gcc :

É possível que seja um arquivo de script, que requer um programa de intérprete na primeira linha e que não seja encontrado. (Ou até mesmo um arquivo que é necessário pelo intérprete não foi encontrado ...)

O interpretador é definido na primeira linha do arquivo, como

#!/bin/bash

Se o problema não for óbvio apenas com base no script, forneça mais detalhes.

É melhor adicionar a saída dos seguintes comandos à pergunta - apenas algumas linhas:

$ 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"

(A primeira linha para obter mensagens de erro em inglês neste shell, o último comando mostra o sistema de arquivos e as opções de montagem da partição que contém o diretório.)

    
por 03.09.2014 / 18:09