-bash: ./my_file: no se puede ejecutar un archivo binario: ERROR FORMATION ERROR, PERO MI ARQUITECTURA Y ELF coinciden -- bash campo con 64-bit campo con 32-bit campo con arm campo con binary camp askubuntu Relacionados El problema

-bash: ./my_file: cannot execute binary file:Exec format error, but my architecture and elf matches


1
vote

problema

Español

Estoy tratando de ejecutar el archivo binario en ODROID-C2 con ubuntu64-16.04.3-minimal-odroid-c2-20171005 OS. Este archivo tiene 777 privilegios y se compila para el brazo.

  # ls -l my_file -rwxrwxrwx 1 root root 136409 Sep 30 13:17 my_file  #pwd /home  #file my_file my_file: ELF 32-bit LSB executable, ARM, version 1, statically linked, not stripped  #uname -a Linux odroid64 3.14.79-116 #1 SMP PREEMPT Tue Sep 26 01:19:06 BRT 2017 aarch64 aarch64 aarch64 GNU/Linux    

Cuando intento ejecutarlo ( ./my_file ), recibo un error: -bash: ./my_file: no se puede ejecutar archivo binario: EXEC Format Error

Soy consciente de que mi archivo binario es de 32 bits y mi Ubuntu es 64bit, así que seguí este tutorial para agregar nueva arquitectura. Esto no ayudó, el mismo error está ocurriendo.

También busqué otras soluciones, pero parece que el único problema que ocurre con este error es una arquitectura de incomparable. Estoy bastante seguro de que este no es mi problema, el Elf es el brazo, así que es ODOID. Solía ​​ejecutar archivos binarios similares en este ODROID, así que ahora estoy realmente confundido.

¿Puede usted, por favor, ayúdame a encontrar mi error?

Original en ingles

I am trying to run binary file on Odroid-C2 with ubuntu64-16.04.3-minimal-odroid-c2-20171005 OS. This file has 777 privileges and is compiled for ARM.

# ls -l my_file -rwxrwxrwx 1 root root 136409 Sep 30 13:17 my_file  #pwd /home  #file my_file my_file: ELF 32-bit LSB executable, ARM, version 1, statically linked, not stripped  #uname -a Linux odroid64 3.14.79-116 #1 SMP PREEMPT Tue Sep 26 01:19:06 BRT 2017 aarch64 aarch64 aarch64 GNU/Linux  

When I try to run it (./my_file), I get an error: -bash: ./my_file: cannot execute binary file:Exec format error

I am aware that my binary file is 32bit and my Ubuntu is 64bit, so I followed this tutorial to add new architecture. This did not help, same error is occuring.

I also searched for another solutions, but it seems that the only problem occuring with this error is unmatching architecture. I am quite sure this is not my problem - elf is ARM, so is Odroid. I used to run similar binary files on this Odroid before, so I am really confused now.

Can you, please, help me find my mistake?

              

Lista de respuestas

2
 
vote
vote
La mejor respuesta
 

ABCDEFGHIJKLMNABCDEFGHIJKLMN13

Este es un archivo ejecutable del brazo de 32 bits diseñado para los entornos de infraestructura del brazo de 32 bits (ARMHF, Armel, ARM64 cuando tiene el brazo de 32 bits libs)

ABCDEFGHIJKLMNABCDEFGHIJKLMN14

Su arquitectura es de 64 bits. Específicamente, ABCDEFGHIJKLMNABCDEFGHIJKLMN15 FODQUES Solo Soporte al conjunto de instrucciones ARMV8 A64, y no admite la instrucción A / T32 Runtime se establece como estas necesidades binarias 1 .

Por lo tanto, la quejación del sistema es realmente válida: el ejecutable del brazo de 32 bits tiene un encabezado ELF no válido para un entorno de 64 bits ABCDEFGHIJKLMNABCDEFGHIJKLMN16 que no puede ejecutar conjuntos de instrucciones A / T32.


1 supositor basada en https: //en.wikichip. org / wiki / brazo / aarch64 que dice:

El estado de ejecución Aarch64 se introdujo con la ISA de ARMV8 para las máquinas que ejecutan las instrucciones A64. Una máquina en Aarch64 solo puede ejecutar instrucciones A64 y no puede ejecutar instrucciones A32 o T32.

 

ELF 32-bit LSB executable, ARM

This is a 32bit ARM executable file designed for the 32-bit ARM infrastructure environments (armhf, armel, arm64 when you have the 32bit ARM libs)

aarch64

Your architecture is 64-bit ARM. Specifically, aarch64 chips ONLY support the ARMv8 A64 instruction set, and do not support A/T32 runtime instruction sets like this binary needs 1.

So the system's complaining is actually valid - the 32-bit ARM executable has an invalid ELF header for a 64-bit aarch64 environment which can't execute A/T32 instruction sets.


1 Supposition based upon https://en.wikichip.org/wiki/arm/aarch64 which states:

The AArch64 execution state was introduced with the ARMv8 ISA for machines executing A64 instructions. A machine in AArch64 can only execute A64 instructions and cannot execute A32 or T32 instructions.

 
 
   
   

Relacionados problema

46  Bash: ./FileName: No se puede ejecutar archivo binario  ( Bash filename cannot execute binary file ) 
No pude ejecutar un código compilado FORTRAN en Ubuntu 11.10 32 bits. El mensaje de error es bash: ./filename : Cannot execute binary file. También h...

25  ¿Cuáles son algunos buenos espectadores / editores de GUI binarios?  ( What are some good gui binary viewers editors ) 
¿Cuáles son algunas aplicaciones GUI que me permitirán ver y editar archivos binarios (ejecutables, imágenes, etc.). ...

1  No puede ejecutar un binario de Linux  ( Cannot run a linux binary ) 
Estaba tratando de ejecutar un binario de Linux desde este sitio: http: //www.robots.ox .AC.UK / ~ VGG / Research / Affine / Descriptors.HTML # BINARIOS ...

2  ¿Está bien cargar un archivo de 'fuente' binario para la subpad para la construcción?  ( Is it okay to upload a binary source archive to launchpad for building ) 
Tengo un paquete extremadamente complicado y utiliza bibliotecas que no se incluyen en ninguno de los repositores predeterminados. ¿Puedo subir un archivo '...

2  ¿Cómo puedo instalar GEM5?  ( How can i install gem5 ) 
Estaba ayudando a mi amigo a instalar el simulador GEM5 en Linux para el trabajo de tesis. Sé un poco a Linux. De alguna manera, logré instalar ese simulador ...

1  ¿Cuáles son los pasos para instalar Natron en Ubuntu?  ( What are the steps to install natron on ubuntu ) 
al principio intenté instalar de las fuentes oficiales, Natron no estaba allí, así que busqué un PPA y no encontré Natron. Ahora leí algo sobre binarios y u...

2  "Las bibliotecas JRE faltan o no son compatibles" Mensaje de error "  ( Jre libraries are missing or not compatible error message ) 
Al intentar instalar SPSS (un paquete de análisis estadístico) usando ABCDEFGHIJKLMNABCDEFGHIJKLMN10 i Obtén lo siguiente: /usr/lib/i386-linux-gnu/1 O...

85  Instalación global de compositor (manual)  ( Global installation of composer manual ) 
Siguió el compositor manual (instalación global de compositor (manual)) para instalar compositor en Ubuntu. $ ll /usr/local/bin/ total 4760 drwxr-xr-x 2...

0  ¿Cuál es la ubicación del comando "Archivo"?  ( Which is the location of file command ) 
Cuando verificamos el tipo de archivo, usamos abcdefghijklmnfile para hacerlo. Supongo que ABCDEFGHIJKLMNABCDEFGHIJKLMN1 El comando es un binario. Entonce...

1  / usr / bin / archivo del brazo de 32 bits de Ubuntu  ( Usr bin file from ubuntu 32 bit arm ) 
Quiero "Archivo" binario que generalmente se encuentra en / usr / bin /. Lo quiero desde el brazo de 32 bits. Solo tengo ubuntu de 64 bits instalado en mi com...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos