GNU/Linux >> Tutoriales Linux >  >> Linux

bash:./helloworld_s:no existe tal archivo o directorio. El archivo está claramente allí.

Como se explica en el error de redhat #868662, la forma recomendada de vincular es dejar que gcc llame a ld como se muestra a continuación;

> gcc -nostartfiles helloworld-lib.o -o helloworld_s -lc

Lo que da como resultado una vinculación correcta;

> ldd helloworld_s
        linux-vdso.so.1 =>  (0x00007ffd283bf000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fd011b62000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fd011f2f000)

Y la ejecución va bien;

> ./helloworld_s
Hello, world!

¿Por qué ld vincula a /lib/ld64.so.1 que no existe?
Porque esta es la configuración predeterminada para un sistema genérico, no solo para Linux.


Linux
  1. ¿Cuál es la diferencia entre #!/usr/bin/env bash y #!/usr/bin/bash?

  2. ¿Cómo obtengo el directorio absoluto de un archivo en bash?

  3. sys/types.h:No existe tal archivo o directorio

  4. cp:no se puede crear el directorio:no existe tal archivo o directorio

  5. unix:///var/run/supervisor.sock no hay tal archivo

Error:Xend Start – /proc/xen/capabilities:No existe tal archivo o directorio [Resuelto]

Comprender los archivos /proc/mounts, /etc/mtab y /proc/partitions

-bash:/usr/bin/virtualenvwrapper.sh:No existe tal archivo o directorio

Bash:¿No existe tal archivo o directorio?

conda source deactivate :bash:deactivate:No existe tal archivo o directorio

chroot falla:no se puede ejecutar el comando '/bin/bash':no ​​existe tal archivo o directorio