• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Prozessor unterstützt CUBE nicht?

orikson

Member
Hi,

ich wollte das Freeware Spiel Cube installieren. Also runtergeladen und einfach in's Home Verzeichnis entpackt. wenn ich jetzt aber in die Konsole:

sh cube_unix
oder
./cube_unix -w1280 -h1024

Dann kommt immer:
Your processor does not have a supported Cube client.

Die Dateien im Ordner bin_unix hab ich alle mit chmod +x Schreibrechte (?) gegeben.

Liegt das daran, dass ich n 64 bit System hab?
 

Dr. Glastonbury

Advanced Hacker
Ja, das könnte durchaus an den 64-Bit liegen!
Soweit ich weiß, kannst du aber eine 32-Bit-Konsole starten! Aus der sollte das Spiel dann laufen (schau dich mal n bisserl um; ich hab kein 64-Bit, aber n Freund von mir hat mal was von dieser 32-Bit-Konsole erzählt)
 
OP
orikson

orikson

Member
In der 32 Bit Konsole kommt der Fehlernichtmehr, allerdings n anderer:

./bin_unix/linux_client: error while loading shared libraries: libSDL_image-1.2.so.0: cannot open shared object file: No such file or directory

Hab schon gegooglet und die Dateien runtergeladen, aber kommt immernoch...
 

Dr. Glastonbury

Advanced Hacker
Hi,
wies aussieht fehlt dir dieses Paket: ftp.suse.com/pub/suse/i386/9.3/suse/x86_64/SDL_image-1.2.3-225.x86_64.rpm

Schau mal, obs damit geht.... (das ist für SuSE9.3 - weil du ned geschrieben hast welches SuSE du hast hab ich mal das rausgesucht - ansonsten musste halt selber nochmal auf die Suche gehn!)
 

ojkastl

Hacker
Dr. Glastonbury schrieb:
Hi,
wies aussieht fehlt dir dieses Paket: ftp.suse.com/pub/suse/i386/9.3/suse/x86_64/SDL_image-1.2.3-225.x86_64.rpm

Fehlt ihm da die 64-Bit-Version oder die 32-Bit-Version? Ich hät ihm die 32er empfohlen, da er ja auch per linux32 startet.
 

Dr. Glastonbury

Advanced Hacker
Saber_Rider schrieb:
Dr. Glastonbury schrieb:
Hi,
wies aussieht fehlt dir dieses Paket: ftp.suse.com/pub/suse/i386/9.3/suse/x86_64/SDL_image-1.2.3-225.x86_64.rpm

Fehlt ihm da die 64-Bit-Version oder die 32-Bit-Version? Ich hät ihm die 32er empfohlen, da er ja auch per linux32 startet.
Jo, stimmt - is ja logisch!!!

Also schau am besten mal mit rpm -qa | grep SDL welche Versionen schon installiert sind und installier bei Bedarf dann die 32-Bit-Version... ;)
 
OP
orikson

orikson

Member
Hm, anscheinend ist es abler schon installiert, sowohl 64 als auch 32 Bit Version:

christian@linux:> rpm -qa | grep SDL
SDL_ttf-2.0.6-222
SDL-32bit-1.2.8-8
SDL_mixer-32bit-1.2.6-3
SDL-1.2.8-8
SDL_image-1.2.4-2
SDL_net-1.2.5-223
SDL_perl-1.20.0-358
SDL_mixer-1.2.6-3

Ich hab mir die oben epostete Datei runtergeladen, aber meine bereitsinstallierte ist neuer...
 

Dr. Glastonbury

Advanced Hacker
hmmm,
hast du mal geschaut, ob diese Datei mit dem angegebenen Nacmen auch wirklich bei dir existiert?

Also mal nach 'libSDL_image-1.2.so.0' gesucht?
Am besten du suchst sogar nur nach libSDL_image-1.2.so also ohne .0, denn manchmal kann es der Fall sein, dass eine Datei dann libSDL_image-1.2.so.1 heißt!

In diesem Fall könntest du dann einen link von der einen auf den gewollten Namen legen (zwar nicht ganz fair, aber fein^^) ;)
 
OP
orikson

orikson

Member
Bei mir findet er nur Sachen, ohne des lib vorne dran (also SDLblabla). Allerdings gibt es nur folgende Pakete, die auch installiert sind:

SDL
SDL 32Bit
SDL_image
SDL_mixer
SDL_mixer 32 Bit
SDL_pearl
SDL_net
SDL_ttf

Wie macht man den so einen Symlink?
 

ojkastl

Hacker
orikson schrieb:
Wie macht man den so einen Symlink?

auf der Konsole mit ln -s hierhinwirdverknüpft soheisstderneuelink

Also kannst du die existierenden blabla.so.1 nochmal erscheinen lassen, nur mit dem namen blabla.so.0

ln -s blabla.so.1 blabla.so.0
 

Dr. Glastonbury

Advanced Hacker
Saber_Rider schrieb:
ln -s blabla.so.1 blabla.so.0
Sorry,
aber das muss ich noch kommentieren :lol:
Du musst nämlich aufpassen, weil du absolute Pfade nehmen solltest.

also ln -s /var/lib/blabla.so.1 /var/lib/blabla.so.0

Sonst kann es passieren, dass der Link nicht funktioniert... ;)
 
Dr. Glastonbury schrieb:
Du musst nämlich aufpassen, weil du absolute Pfade nehmen solltest.
also ln -s /var/lib/blabla.so.1 /var/lib/blabla.so.0
Nein, nie! (Außer vielleicht in chroot-Umgebungen) Allerhöchstens:
Code:
ln -s blabla.so.1 /var/lib/blabla.so.0
 
OP
orikson

orikson

Member
Jetz bin ich verwirrt... Wie muss das jetz heißen? Alles absolut, eins absolut oder keins absolut? Kann man da was kaputmachen?

Muss das dann so heißen:
ln -s libSDL-1.2.so.0 libSDL_image-1.2.so.0
 

ojkastl

Hacker
orikson schrieb:
Jetz bin ich verwirrt... Wie muss das jetz heißen? Alles absolut, eins absolut oder keins absolut? Kann man da was kaputmachen?
Ja. Wenn die verlinkte Datei nicht die ist die erwartet wird, kanns krachen.

orikson schrieb:
Muss das dann so heißen:
ln -s libSDL-1.2.so.0 libSDL_image-1.2.so.0

Wieso willst du die libSDL auf libSDL_image verlinken?
 
Synopsis: ln -s ZIEL LINKNAME
Das Ziel ist ein String der "in" dem Link-Objekt gespeichert ist. Er sollte daher nach Möglichkeit nicht absolut sein. Der Linkname selbst ist ein Pfadname und unterliegt somit keinen Problemen. Es ist wie als wenn du
echo "ZIEL" >LINKNAME
machen würdest - du könntest LINKNAME später auch sonstwie zugreifen, relativ, absolut, kreuz+quer, etc.

Worauf das abzielt, dass ZIEL nach Möglichkeit relativ ist, dass es zu Problemen in chroot-Umgebungen kommen kann. Bsp.:
Code:
ln -s /lib/libz.so.1 /lib/libcc.so.6
cd /somewhere
chroot .
ln -s /lib/libc.so.6 /lib/libcc.so.6
cc myprog.c -lcc -o myprog
Führt man den Linker (hier in cc) im Jail aus, wird es andere Ergebnisse geben als wenn man es "draußen" macht. Wenn man es draußen macht, wird gegen libz gelinkt, drin gegen libc. Mit einem relativen Pfad (`ln -s libc.so.6 {/somewhere}/lib/libcc.so.6`) wäre dagegen korrekterweise /somewhere/lib/libc.so.6 gelinkt.

So, das war mal etwas, das in der Praxis passieren kann :)
 
OP
orikson

orikson

Member
Mir ist was ganz komisches Aufgefallen: Meine SDL_images heißt genau libSDL_image-1.2.so.0 nur die 64Bit Version. Cube meckert aber, dass genau diese Datei fehlt (selber Name)! Da kann ich ja jetzt keinen Symlink mehr machen, oder? Kann man diese Namen nicht umbenennen?
 

mystic

Member
diese liegt im /usr/lib64. Link die nach /usr/lib:
Code:
ln -s /usr/lib64/libSDL_image-1.2.so.0 /usr/lib/libSDL_image-1.2.so.0
 
Oben