[Seventeen or Bust]sb: No such file

Pagina: 1
Acties:

  • keluwak
  • Registratie: Februari 2005
  • Laatst online: 16-05-2025
Ik heb een tijd terug de sb client niet meer laten draaien omdat ik met die warmte geen kachel hoef. Inmiddels ben ik van ubuntu 7.10 overgestapt naar 8.04. Nu wil ik die client weer opstarten en bash beweert gewoon dat ./sb niet zou bestaan. 8)7

marc@bach:/storage/Seventeen or Bust 2.5.0 (1)$ ls
cache  README  sb  sclient.conf  sclient.conf~  sclient.log  z7968044
marc@bach:/storage/Seventeen or Bust 2.5.0 (1)$ ./sb sclient.conf
bash: ./sb: No such file or directory
marc@bach:/storage/Seventeen or Bust 2.5.0 (1)$ 


Ik heb eerst gekeken of de rechten goed stonden, en de eigenaar van /storage van root naar marc veranderd. Ik heb ook in een nieuwe directory op de desktop opnieuw de client gedownload en uitgepakt, ook bij deze geeft bash dezelfde foutmelding.

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 29-01 23:23

deadinspace

The what goes where now?

Geef eens (in de juiste directory) de precieze output van
ls -l sb

En als hij wel bestaat:
file sb
head -1 sb | xxd

  • keluwak
  • Registratie: Februari 2005
  • Laatst online: 16-05-2025
marc@bach:~/Desktop/sb$ ls -l sb
-rwxr-xr-x 1 marc marc 4044592 2005-09-05 01:30 sb
marc@bach:~/Desktop/sb$ file sb
sb: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.0, dynamically linked (uses shared libs), stripped
marc@bach:~/Desktop/sb$ 


Ik zie nu echter wel dat het een 32 bit executable is, ik gebruik zelf momenteel 64bit linux, maar dat was toen het nog wel werkte ook al.

output van head -1 sb | xxd:

0000000: 7f45 4c46 0101 0100 0000 0000 0000 0000  .ELF............
0000010: 0200 0300 0100 0000 708e 0408 3400 0000  ........p...4...
0000020: d0b2 3d00 0000 0000 3400 2000 0800 2800  ..=.....4. ...(.
0000030: 1c00 1b00 0600 0000 3400 0000 3480 0408  ........4...4...
0000040: 3480 0408 0001 0000 0001 0000 0500 0000  4...............
0000050: 0400 0000 0300 0000 3401 0000 3481 0408  ........4...4...
0000060: 3481 0408 1300 0000 1300 0000 0400 0000  4...............
0000070: 0100 0000 0100 0000 0000 0000 0080 0408  ................
0000080: 0080 0408 ccf0 3c00 ccf0 3c00 0500 0000  ......<...<.....
0000090: 0010 0000 0100 0000 e0f0 3c00 e080 4108  ..........<...A.
00000a0: e080 4108 c8be 0000 d0c1 0000 0600 0000  ..A.............
00000b0: 0010 0000 0200 0000 dcad 3d00 dc3d 4208  ..........=..=B.
00000c0: dc3d 4208 d800 0000 d800 0000 0600 0000  .=B.............
00000d0: 0400 0000 0400 0000 4801 0000 4881 0408  ........H...H...
00000e0: 4881 0408 2000 0000 2000 0000 0400 0000  H... ... .......
00000f0: 0400 0000 50e5 7464 98f0 3c00 9870 4108  ....P.td..<..pA.
0000100: 9870 4108 3400 0000 3400 0000 0400 0000  .pA.4...4.......
0000110: 0400 0000 51e5 7464 0000 0000 0000 0000  ....Q.td........
0000120: 0000 0000 0000 0000 0000 0000 0700 0000  ................
0000130: 0400 0000 2f6c 6962 2f6c 642d 6c69 6e75  ..../lib/ld-linu
0000140: 782e 736f 2e32 0000 0400 0000 1000 0000  x.so.2..........
0000150: 0100 0000 474e 5500 0000 0000 0200 0000  ....GNU.........
0000160: 0200 0000 0000 0000 2500 0000 3900 0000  ........%...9...
0000170: 3300 0000 3500 0000 3000 0000 2c00 0000  3...5...0...,...
0000180: 0000 0000 0800 0000 0000 0000 1200 0000  ................
0000190: 3700 0000 0d00 0000 3100 0000 0000 0000  7.......1.......
00001a0: 2000 0000 0000 0000 2b00 0000 1e00 0000   .......+.......
00001b0: 0600 0000 2900 0000 2a00 0000 3400 0000  ....)...*...4...
00001c0: 1600 0000 3800 0000 0000 0000 0e00 0000  ....8...........
00001d0: 0000 0000 0900 0000 0b00 0000 1900 0000  ................
00001e0: 1500 0000 2400 0000 1100 0000 2600 0000  ....$.......&...
00001f0: 2800 0000 2700 0000 2e00 0000 1f00 0000  (...'...........
0000200: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000210: 0000 0000 0300 0000 0000 0000 0400 0000  ................
0000220: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000230: 0000 0000 0000 0000 0000 0000 0a         .............

[ Voor 113% gewijzigd door keluwak op 29-05-2008 13:37 ]


Verwijderd

32bits programma op een 64bits OS misschien?

  • keluwak
  • Registratie: Februari 2005
  • Laatst online: 16-05-2025
Verwijderd schreef op donderdag 29 mei 2008 @ 13:40:
32bits programma op een 64bits OS misschien?
Jah, maar "vroeger" heeft dat altijd gewerkt, sinds de herinstallatie niet meer, ik weet alleen niet wat er anders is.

Verwijderd

Theoretisch zou het ook moeten kunnen als alle benodigde 32-bits libraries geinstalleerd staan.

"ldd sb" zou een lijst met benodigde libraries moeten geven.

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 29-01 23:23

deadinspace

The what goes where now?

killu schreef op donderdag 29 mei 2008 @ 13:34:
marc@bach:~/Desktop/sb$ ls -l sb
-rwxr-xr-x 1 marc marc 4044592 2005-09-05 01:30 sb
marc@bach:~/Desktop/sb$ file sb
sb: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.0, dynamically linked (uses shared libs), stripped
marc@bach:~/Desktop/sb$ 
Hmm, ik vermoedde dat het een script was met een ongeldige interpreter. Dan krijg je namelijk ook "No such file or directory". Maar dat is dus niet het geval, en de head-xxd output is daarom niet zo nuttig als ik hoopte.

Wat misschien nog interessante inzichten verschaft:
strace ./sb

(als je strace niet hebt, dan moet je het strace package even installeren)

  • Sprite_tm
  • Registratie: September 2002
  • Laatst online: 01:49

Sprite_tm

Semi-Chinees

Strace werkt niet als de binary niet geladen kan worden. Lijkt mij idd een missing lib-probleem, dat kan je zoals gezegd met ldd ./sb nakijken.

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


  • keluwak
  • Registratie: Februari 2005
  • Laatst online: 16-05-2025
Wanneer ik ldd sb gebruik krijg ik de melding "not a dynamic executable".

strace sb geeft:

execve("./sb", ["./sb"], [/* 20 vars */]) = -1 ENOENT (No such file or directory)
dup(2)                                  = 3
fcntl(3, F_GETFL)                       = 0x8002 (flags O_RDWR|O_LARGEFILE)
fstat(3, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f80032bf000
lseek(3, 0, SEEK_CUR)                   = -1 ESPIPE (Illegal seek)
write(3, "strace: exec: No such file or di"..., 40strace: exec: No such file or directory
) = 40
close(3)                                = 0
munmap(0x7f80032bf000, 4096)            = 0
exit_group(1)                           = ?
Process 11203 detached


Vroeger draaide het op ubuntu 7.10 64 bit, vanaf de live cd werkt dit ook niet (meer). Ik mis dus denk ik een aantal bestanden om 32 bit te kunnen draaien: Ik vermoed dat ik die ooit eens heb geinstalleerd om flash werkend te krijgen. Ik denk dat ik maar even terug ga naar 32 bit, jammer van het ongebruikte werkgeheugen dan, maar scheelt toch een hoop gedoe met software.


Edit, is dit ook op een of andere manier te crossposten ergens in DPC?

[ Voor 20% gewijzigd door keluwak op 29-05-2008 17:34 ]


  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 29-01 23:23

deadinspace

The what goes where now?

Sprite_tm schreef op donderdag 29 mei 2008 @ 16:03:
Strace werkt niet als de binary niet geladen kan worden.
Jawel, want de strace output begint met de exec() van de executable in kwestie. Als die fout gaat, dan kun je in ieder geval de error code van exec() zien zodat je zeker weet waar de melding vandaan komt.

Het had bijvoorbeeld ook gekund dat sb wel wilde starten, en vervolgens zelf die melding zou geven. Zou raar zijn, maar niet onmogelijk.
Lijkt mij idd een missing lib-probleem, dat kan je zoals gezegd met ldd ./sb nakijken.
Ontbrekende shared libs geven over het algemeen een andere foutmelding:
./mplayer: error while loading shared libraries: libdirectfb-1.0.so.0: cannot open shared object file: No such file or directory
killu schreef op donderdag 29 mei 2008 @ 16:48:
Wanneer ik ldd sb gebruik krijg ik de melding "not a dynamic executable".

strace sb geeft:
execve("./sb", ["./sb"], [/* 20 vars */]) = -1 ENOENT (No such file or directory)
Hmm, dat execve() ENOENT returnt kan volgens de manpage redelijk wat oorzaken hebben, waaronder dat de in de executable opgegeven ELF interpreter niet gevonden kan worden.

Dat zou eventueel kunnen komen omdat de executable een 32-bit ELF interpreter wil, en Ubuntu 8.04 die niet meer heeft, maar het lijkt me om eerlijk te zijn sterk dat ze die eruit gegooid hebben...

Ik vind het daarom (ook door ldd's oordeel) er sterk op lijken dat die file corrupt is (als dat echt zo is, dan is de foutmelding wel een beetje onhelder...). Hoe heb je die file op je machine gezet?

Misschien dat
readelf -a sb

nog wat interessants oplevert (mocht je readelf niet hebben, in Debian zit dat iig in het binutils package).
Vroeger draaide het op ubuntu 7.10 64 bit, vanaf de live cd werkt dit ook niet (meer).
Het werkt niet meer vanaf een livecd waaronder het vroeger wel werkte? Dat maakt een corrupte file waarschijnlijker ;)

Kun je het misschien eens van een 32-bit livecd proberen?
Ik denk dat ik maar even terug ga naar 32 bit, jammer van het ongebruikte werkgeheugen dan, maar scheelt toch een hoop gedoe met software.
Linux ondersteunt tot 64 GB op i386 CPUs met PAE support, dus je kan waarschijnlijk al je geheugen benutten met een 32-bit Ubuntu. Wel kan het zijn dat je een -bigmem kernel moet installeren, en is het zo dat deze aanpak trager is dan een x86-64 systeem.

[ Voor 3% gewijzigd door deadinspace op 29-05-2008 20:11 ]


  • keluwak
  • Registratie: Februari 2005
  • Laatst online: 16-05-2025
Het is niet zo dat het eerst wel werkte vanaf die live cd. Wel dat ik een werkend 64bit systeem heb gehad.

Ik heb deze file van een aparte partitie gehaald, toen dit niet werkte heb ik het van de site opnieuw gedownload. Later vandaag zal ik een 32bit live cd proberen.

  • keluwak
  • Registratie: Februari 2005
  • Laatst online: 16-05-2025
Oke, vanaf een 32bit live cd van ubuntu 7.04 lukt het me wel om sb client op te starten.

Blijkbaar heb ik vroeger de benodigde libs verzameld om 32bit applicaties te kunnen draaien. Ik weet alleen niet meer wanneer en waarom, maar dan ga ik me daar maar op inlezen. Ik zag dat er in de ct ook nog stukje over stond.

Ik denk dat ik deze client lekker vanaf de live cd zijn werk af ga laten maken, dat kost hem nog tussen de 11 en de 16 uur. Dan ga ik daarna wel kijken waar ik naar terug ga. Moet nog aantal afwegingen maken namelijk, Ubuntu 7.10 vs 8.04 en 32 vs 64bit. Ook komt debian om het hoekje kijken omdat ik daar met servers wel beetje ervaring mee heb, maar nog niet voor de desktop. Maar ik ga om uit die keuze te komen het welke distro topic wel gebruiken.

In ieder geval, de oorzaak van het probleem is gevonden :)
Pagina: 1