Linux kan .if files niet vinden

Pagina: 1
Acties:

  • Hark
  • Registratie: Februari 2001
  • Laatst online: 08-07-2025
Ik heb een programma (Aura) gecompileerd onder Red Hat 8. Dit programma gebruik ik normaal voor mijn studie onder Windows. Het compileren ging goed, maar als ik het wil uitvoeren krijg ik deze foutmelding:

ERROR: Aura: cannot open SO "TGA.if" (TGA.if: cannot open shared object file: No such file or directory)

Dit bestand (TGA.if) staat echter in dezelfde directory als de executable en deze directory heb ik ook aan /etc/ld.so.conf toegevoegd (ja en ook ldconfig gedaan). Maar omdat het geen .so file is gaat dit blijkbaar niet goed. Hoe kan ik mijn computer toch vertellen waar hij dat bestand kan vinden? Ik heb de directory overigens ook al aan $PATH toegevoegd, maar dat helpt ook niet.

Alvast bedankt.

  • Bergen
  • Registratie: Maart 2001
  • Laatst online: 05-05 10:41

Bergen

Spellingscontroleur

Moet je niet bij de configure een of andere optie meegeven om hem te wijzen op die SO?

  • Hark
  • Registratie: Februari 2001
  • Laatst online: 08-07-2025
Ehm nou volgens de instructies van iemand die aan dat programma heeft geprogrammeerd moest ik alleen 'make linux' en dan 'make' doen. Geen configure dus.

  • Bergen
  • Registratie: Maart 2001
  • Laatst online: 05-05 10:41

Bergen

Spellingscontroleur

Dat zou kunnen ja, dan heeft ie zelf de makefile geschreven. Die zou je eens kunnen doorspitten, misschien valt er iets op, een foutje ofzo :)

  • Hark
  • Registratie: Februari 2001
  • Laatst online: 08-07-2025
Hm van makefiles weet ik helemaal niets. En dit programma is best groot, ik vind heel veel makefiles. Ik vraag het maandag anders wel. Ik had alleen gehoopt dat ik in het weekend nog wat kon spelen met dit programma. Het is dus niet mogelijk om Linux te zeggen dat hij die .if file moet gebruiken?

  • Hark
  • Registratie: Februari 2001
  • Laatst online: 08-07-2025
Ik zou het trouwens raar vinden als die makefiles niet goed zouden zijn, ze installeren het zelf ook wel eens onder Linux namelijk, en verder werken er elke dag meerdere mensen aan dat programma.

Verwijderd

Als je een persoon kent die er aan mee heeft geprogrammeerd kan die je wellicht beter helpen. Dit lijkt nogal een voor dat programma specifiek probleem.
offtopic:
Afbeeldingslocatie: http://images.tweakers.net/forum/templates/got/images/icons/edit.gif
Graag die gebruiken ipv 2 replies vlak onder elkaar te plaatsen.

  • Bergen
  • Registratie: Maart 2001
  • Laatst online: 05-05 10:41

Bergen

Spellingscontroleur

Hark schreef op 18 January 2003 @ 12:45:
Ik zou het trouwens raar vinden als die makefiles niet goed zouden zijn, ze installeren het zelf ook wel eens onder Linux namelijk, en verder werken er elke dag meerdere mensen aan dat programma.
Ja, maar de ene Linux-distro is de andere niet... Een heleboel heeft standaardlocaties maar niet alles (helaas).

[ Voor 9% gewijzigd door Bergen op 18-01-2003 12:50 ]


  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 13-05 17:10

deadinspace

The what goes where now?

Probeer het eens met
code:
1
LD_LIBRARY_PATH=. ./Aura

en geef eens de output van "ldd Aura".

  • Hark
  • Registratie: Februari 2001
  • Laatst online: 08-07-2025
deadinspace schreef op 18 January 2003 @ 12:58:
Probeer het eens met
code:
1
LD_LIBRARY_PATH=. ./Aura

en geef eens de output van "ldd Aura".
Ik heb ingetypt LD_LIBRARY_PATH=/home/mark/AuraVIRPI/bin/ (daar staat de executable (AuraTest) en TGA.if), maar dat helpt niets.

[mark@localhost bin]$ ldd AuraTest
libAura.so => /home/mark/AuraVIRPI/bin/libAura.so (0x40025000)
libGLU.so.1 => /usr/lib/libGLU.so.1 (0x4007e000)
libGL.so.1 => /usr/lib/libGL.so.1 (0x400fa000)
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x4016d000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x4017b000)
libdl.so.2 => /lib/libdl.so.2 (0x40259000)
libz.so.1 => /usr/lib/libz.so.1 (0x4025c000)
libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x4026b000)
libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x40289000)
libm.so.6 => /lib/i686/libm.so.6 (0x4033b000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x4035d000)
libc.so.6 => /lib/i686/libc.so.6 (0x42000000)
libpthread.so.0 => /lib/i686/libpthread.so.0 (0x40365000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 13-05 17:10

deadinspace

The what goes where now?

Hmm, volgens ldd is hij helemaal niet tegen die file gelinkt... Misschien dat hij die file zelf opent.
"strace Aura" verschaft misschien meer duidelijkheid, maar dat geeft wel veel output. Als je die output ergens online zet (of de laatste ~ 50 regels hier paste als je geen webspace kan vinden) dan kan ik er even naar kijken.

  • Hark
  • Registratie: Februari 2001
  • Laatst online: 08-07-2025
deadinspace schreef op 18 januari 2003 @ 15:08:
Hmm, volgens ldd is hij helemaal niet tegen die file gelinkt... Misschien dat hij die file zelf opent.
"strace Aura" verschaft misschien meer duidelijkheid, maar dat geeft wel veel output. Als je die output ergens online zet (of de laatste ~ 50 regels hier paste als je geen webspace kan vinden) dan kan ik er even naar kijken.
Ok de output staat hier: http://www.sbba.nl/strace.txt

Alvast bedankt voor de moeite.

  • Hark
  • Registratie: Februari 2001
  • Laatst online: 08-07-2025
Ik heb zelf natuurlijk ook even die output bekeken en hoewel ik er bijna niets van snap kreeg ik toch de ingeving om wat bestanden in /lib/i686/mmx te zetten en nu werkt het! Ik krijg nu alleen 2 keer dezelfde grafische output te zien op mijn monitor (2 schermen op 1 monitor naast elkaar zeg maar). Maar met dat probleem zal ik echt de mensen op de universiteit moeten lastigvallen denk ik.

  • active2
  • Registratie: Juni 2001
  • Laatst online: 26-10-2024

active2

Google is your friend

oke,
open("/lib/i686/mmx/TGA.if", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/i686/mmx", 0xbfffefb0) = -1 ENOENT (No such file or directory)
open("/lib/i686/TGA.if", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/i686", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/lib/mmx/TGA.if", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/mmx", 0xbfffefb0) = -1 ENOENT (No such file or directory)
open("/lib/TGA.if", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/usr/lib/i686/mmx/TGA.if", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i686/mmx", 0xbfffefb0) = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/TGA.if", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i686", 0xbfffefb0) = -1 ENOENT (No such file or directory)
open("/usr/lib/mmx/TGA.if", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/mmx", 0xbfffefb0) = -1 ENOENT (No such file or directory)
open("/usr/lib/TGA.if", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib", {st_mode=S_IFDIR|0755, st_size=40960, ...}) = 0
munmap(0x40013000, 73610) = 0
write(2, "ERROR: Aura: cannot open SO \"TGA"..., 106ERROR: Aura: cannot open SO
"TGA.if" (TGA.if: cannot open shared object file: No such file or directory)
Als ik dit stukje zie dan lijkt het erop dat die in de verkeerde directory's kijkt.

Er staat geen directory tussen die ik als binary dir beschouw dus is het een ld probleem als je nu die .if file in /usr/lib of een van de bovenstaande directory's plant dan zou hij het moeten doen.

Succes :)

Google, Het mirakel van de 21e eeuw!!!!


  • Hark
  • Registratie: Februari 2001
  • Laatst online: 08-07-2025
active2 schreef op 18 January 2003 @ 17:45:
oke,


[...]

Als ik dit stukje zie dan lijkt het erop dat die in de verkeerde directory's kijkt.

Er staat geen directory tussen die ik als binary dir beschouw dus is het een ld probleem als je nu die .if file in /usr/lib of een van de bovenstaande directory's plant dan zou hij het moeten doen.

Succes :)
Dat werkt dus ook (zoals ik in mijn vorige post meldde). Toch bedankt.

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 13-05 17:10

deadinspace

The what goes where now?

Hark schreef op 18 January 2003 @ 15:37:
Ik heb zelf natuurlijk ook even die output bekeken en hoewel ik er bijna niets van snap kreeg ik toch de ingeving om wat bestanden in /lib/i686/mmx te zetten en nu werkt het!
Ja, hij is niet tegen die file gelinkt, maar hij opent hem dus zelf later. Maar aan de strace output te zien lijkt het mij dat dit door een standaard libc call gebeurt (die is er voor dit doeleinde ook een geloof ik), die libc call zou volgensmij wel op andere gedachten gebracht moeten kunnen worden met LD_LIBRARY_PATH of LD_PATH oid...
Ik krijg nu alleen 2 keer dezelfde grafische output te zien op mijn monitor (2 schermen op 1 monitor naast elkaar zeg maar). Maar met dat probleem zal ik echt de mensen op de universiteit moeten lastigvallen denk ik.
Doe maar ja :)
Pagina: 1