GNU/Linux >> LINUX-Kenntnisse >  >> Linux

bash:./helloworld_s:keine solche Datei oder Verzeichnis. Die Datei ist eindeutig da

Wie im Redhat-Fehler Nr. 868662 erläutert, besteht die empfohlene Methode zum Verknüpfen darin, gcc ld wie unten aufrufen zu lassen:

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

Was zu einer korrekten Verknüpfung führt;

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

Und die Ausführung geht gut;

> ./helloworld_s
Hello, world!

Warum verlinkt ld auf /lib/ld64.so.1, was nicht existiert?
Weil dies die Standardeinstellung für ein generisches System ist, nicht nur für Linux.


Linux
  1. Wie behandelt Linux mehrere aufeinanderfolgende Pfadtrennzeichen (/home////username///file)?

  2. Die Bash‘?

  3. Kubuntu zeigt Fehler beim Login (file:///usr/share/sddm//themes/breeze/main.qml:no Such File or Directory)?

  4. Bash:Keine solche Datei oder Verzeichnis?

  5. sys/types.h:Keine solche Datei oder Verzeichnis

Die Dateien /proc/mounts, /etc/mtab und /proc/partitions verstehen

Wie erhalte ich das absolute Verzeichnis einer Datei in Bash?

Fehler mit gradlew:/usr/bin/env:bash:Keine solche Datei oder Verzeichnis

-bash:/usr/bin/virtualenvwrapper.sh:Keine solche Datei oder Verzeichnis

conda source deactivate :bash:deactivate:Keine solche Datei oder Verzeichnis

Chroot schlägt fehl - Befehl `/bin/bash' kann nicht ausgeführt werden:Keine solche Datei oder Verzeichnis