Estoy tratando de compilar el firmware para mi Linksys WRVS4400N.
lsmuestra que existe pero cuando intenta ejecutarlo bash dice que no existe. También puedo cathacerlo, y es un ejecutable, no un script de shell.
bash
arch-linux
Avery3R
fuente
fuente

Respuestas:
Usted mencionó que la salida de
file mkdepes32-bit elf. Estás ejecutando una máquina virtual de 64 bits.Ejemplo:
Simplemente haga una nueva máquina virtual de 32 bits y compílela allí.
fuente
¿Está configurado para ser ejecutable? Si no, entonces
chmod +x filename. ¿Está en tu RUTA? Si no, entonces llámalo como./filenamealgo más que simplementefilename.fuente
Cuando intenta ejecutar un archivo y bash dice que no existe, a veces significa que bash cree que el archivo es un script y que el intérprete especificado en la primera línea (#!) No existe.
Si se nombra los archivos
mkdep, publicaría la salida deEl comando strace proporciona información sobre las llamadas realizadas al sistema, por ejemplo,
strace ls 2>ls.tpone lo siguiente en ls.texecve ("/ bin / ls", ["ls"], [/ * 22 vars * /]) = 0 brk (0) = 0x8061000 acceso ("/ etc / ld.so.nohwcap", F_OK) = -1 ENOENT (No existe tal archivo o directorio) mmap2 (NULL, 8192, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0) = 0xb7f82000 acceso ("/ etc / ld.so.preload", R_OK) = -1 ENOENT (No existe tal archivo o directorio) abierto ("/ etc / ld.so.cache", O_RDONLY) = 3 fstat64 (3, {st_mode = S_IFREG | 0644, st_size = 32311, ...}) = 0 mmap2 (NULL, 32311, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f7a000 cerrar (3) = 0 acceso ("/ etc / ld.so.nohwcap", F_OK) = -1 ENOENT (No existe tal archivo o directorio) abierto ("/ lib / librt.so.1", O_RDONLY) = 3 leer (3, "\ 177ELF \ 1 \ 1 \ 1 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 3 \ 0 \ 3 \ 0 \ 1 \ 0 \ 0 \ 0 \ 240 \ 30 \ 0 \ 0004 \ 0 \ 0 \ 0 "..., 512) = 512 fstat64 (3, {st_mode = S_IFREG | 0644, st_size = 30624, ...}) = 0fuente
strace ./mkdep 2>mkdep.strace.txtesto debería darle una idea de lo que está sucediendo. Es posible que deba instalar strace desde los repositorios.¿Estás cambiando IFS en tu script? También encontré el mismo problema en uno de mis scripts y pensé lo mismo (el archivo de 32 bits se lee mediante un script de shell en una máquina de 64 bits). Pero ese no era el problema en mi caso. En cambio, estaba cambiando IFS a coma 'y' a una nueva línea que de alguna manera confundió al analizador y causó este error.
Acabo de eliminar cualquier cambio en IFS y ahora funciona bien.
fuente