Zdravim, mohol by mi niekto vysvetlit nasledujuci jav? Pri pokuse o spustenie programu, mi bash vypise spominanu hlasku. To co je na tom zaujimave (aspon pre mna), je ze program existuje (teda aspon podla mna :)). Stava sa to aj pri spustani z okna mc, dokonca ked do premennej PATH pridam cestu do adresara kde sa program nachadza tak v chybovom hlaseni sa zobrazi plna spravna cesta k nemu (find ho tiez najde).
ak by to bolo permission denied, tak chmod +x subor
-rwxr-xr-x 1 shade shade 17845 2001-05-13 01:37 more
-rwxr-xr-x 1 shade shade 124 2001-05-13 01:37 pwd
shade@shade-desktop:~/xx$ ./lua
bash: ./lua: No such file or directory
shade@shade-desktop:~/xx$ ./more
bash: ./more: No such file or directory
shade@shade-desktop:~/xx$ ./pwd
/home/shade/xx
file more
aldd ./more
?file more pise:
more: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), corrupted section header size
ldd ./more pise:
/usr/bin/ldd: line 117: ./more: No such file or directory
Ze by bola na vine corrupted section header size?
si na omyle, je to :
Executable and Linking Format (ELF)
a pouziva sa to nielen pri programoch ako pises, ale aj pri zdielanych objektoch (shared objects, nieco podobne ako *.dll ale moze to byt sucastou aj *.exe)
:Ze by bola na vine corrupted section header size?
pri 6 rocnych binarkach by som sa ani nedivil. ten disk alebo pasku si odkial vyhrabal? ja si totizto uz roky rokuce davam na dlhodobo skladovane archivy aj kontrolny sucet (napriklad cez md5sum) pre vsetky subory. a ty uz tiez teraz vies preco.
PS.: este sa moze jednat o nieco ine, program moze byt linkovany tak starym linkerom ze to dnesne distribucie ani nespoznaju (datum a pouzitie glibc vs. libc s tym nic nemaju). takze si urob image disku a ak z toho nabootujes, tak si za vodou. inac si v pr... aj s binarkami ale data budu mozno pouzitelne.
V kazdom pripade sa mi zda toto chybove hlasenie zavadzajuce az klamlive.
ked to spustis tak je tam zobrazeny obsah dostupnych nastrohov a podla FAQ by to malo zobrazit aj libc. ta kniznica sa pouzivala v minulom storoci a je nekompatibilna s glibc, cize programy na nej zavisle jednoducho na novom systeme nespustis. toto bolo v davnych dobach stale vytykane linuxakom ktory na to z vysoka kaslali a kaslat budu, pokial su k programu zdrojaky tak to nie je problem prekompilovat. pokial niesu zdrojaky a firma ho neportovala, tak je ajtak out of support. ano, vytykanie islo zo slovami "mne funguju na systeme ... aj 10 rokov stare programy a tebe nie". no po prve uz to neplati a po druhe koho to zaujima.
ps.: libc a jej derivacie (uclibc, klibc a podobne) sa pouzivaju v specialnych pripadoch ked sa setri na pameti ako zachranna disketa, firmware do routra, telefonu, pda ...