GNU/Linux >> Znalost Linux >  >> Linux

bash:./helloworld_s:žádný takový soubor nebo adresář. Soubor tam jasně je

Jak je vysvětleno v chybě redhat #868662 , doporučený způsob propojení je nechat gcc volat ld jako níže;

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

Což má za následek správné propojení;

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

A provedení jde dobře;

> ./helloworld_s
Hello, world!

Proč ld odkazuje na /lib/ld64.so.1, který neexistuje?
Protože toto je výchozí nastavení pro obecný systém, nejen pro Linux.


Linux
  1. Chyba s gradlew:/usr/bin/env:bash:Žádný takový soubor nebo adresář

  2. -bash:/usr/bin/virtualenvwrapper.sh:Žádný takový soubor nebo adresář

  3. conda source deactivate :bash:deactivate:Žádný takový soubor nebo adresář

  1. unix:///var/run/supervisor.sock žádný takový soubor

  2. /dev/sdb:Žádný takový soubor nebo adresář (ale /dev/sdb1 atd. existuje)

  3. chroot selže - nelze spustit příkaz `/bin/bash':Žádný takový soubor nebo adresář

  1. Jak Linux zpracovává více po sobě jdoucích oddělovačů cest (/home////username///soubor)?

  2. Bash =~ Regex A Https://regex101.com/?

  3. The Bash ‘?