# ygopro unter xubuntu



## illousion (7. Oktober 2015)

Hi,

Ich habe mir fürs informatikstudium ein Chromebook zugelegt bei dem ich mithilfe von crouton ein Xubuntu laufen lasse.
Nun wollte ich um die freie Zeit zu vertrödeln YGOPRO installieren, welches auch eine native Linux version bietet.
Allerdings bin ich auf Folgendes Problem gestoßen:

Bevor man das Spiel starten kann muss man über das Terminal folgedes tun:


Spoiler



$ sudo apt-get install libevent-pthreads-2.0.5
$ sudo apt-get install libopenal1



Soweit so einfach, diese Pakete installiert und versucht YGOPRO zu starten, jedoch ist nichts passiert. Als ich selbiges über das Terminal versucht habe, bekam ich folgende Meldung:



Spoiler



/home/illousion/ygopro/ygopro64: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory



Also wird libevent nicht gefunden. Diesen Fehler scheinen laut google auch viele andere zu haben, jedoch lies sich bei denen das Problem leicht mit einem Symlink beheben. Ich kenne mich leider nicht so gut mit den Befehlen des Terminals aus und kann einfach nicht finden wo zur hölle mein libevent gespeichert ist. Wie finde ich es und wie sieht der Befehl aus um den Link zu erzeugen? 

Schon einmal danke für eure Antworten.


----------



## Jimini (8. Oktober 2015)

Laut Google soll sich das Problem mit dem Ausführen von "_sudo ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5_" beheben lassen.
Ich schildere mal, wie ich vorgehen würde, um darauf zu kommen:

Checken, ob libevent installiert ist ("_dpkg -l | grep libevent_") (das ist ein kleines L, kein großes i).
Wenn es installiert ist, suche ich die Library. Hierzu aktualisiere ich mittels "_sudo updatedb_" die Suchdatenbank und frage sie danach mit "_locate libevent-2.0.so.5_" ab.
Irgendwo außerhalb von /usr/lib/ (32Bit-System) oder /usr/lib64/ (64-Bit-System) müsste die Library liegen. Da das von dir genutzte Programm scheinbar aber in genau diesen Verzeichnissen sucht, erstellen wir mit dem obigen Befehl (auf einem 64-Bit-System) einen Symlink.

Ich habe leider kein *buntu zur Hand, hoffe aber, dass Gentoo hier nicht wesentlich abweicht 

MfG Jimini


----------



## illousion (8. Oktober 2015)

Spoiler



(trusty)root@localhost:~# dpkg -l | grep libevent
ii  libev4                                1:4.15-3                                amd64        high-performance event loop library modelled after libevent
ii  libevent-core-2.0-5:amd64             2.0.21-stable-1ubuntu1.14.04.1          amd64        Asynchronous event notification library (core)
ii  libevent-pthreads-2.0-5:amd64         2.0.21-stable-1ubuntu1.14.04.1          amd64        Asynchronous event notification library (pthreads)

(trusty)root@localhost:~# updatedb(trusty)root@localhost:~# locate libevent-2.0.so.5
/home/illousion/libevent-2.0.21-stable/libevent-2.0.so.5
/home/illousion/libevent-2.0.21-stable/.libs/libevent-2.0.so.5
/home/illousion/libevent-2.0.21-stable/.libs/libevent-2.0.so.5.1.9
/usr/local/lib/libevent-2.0.so.5
/usr/local/lib/libevent-2.0.so.5.1.9

(trusty)root@localhost:~# sudo ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5ln: failed to create symbolic link '/usr/lib64/libevent-2.0.so.5': No such file or directory



Komme nicht weiter :/


----------



## BenRo (8. Oktober 2015)

Das Verzeichnis /usr/lib64 existiert?


----------



## illousion (8. Oktober 2015)

BenRo schrieb:


> Das Verzeichnis /usr/lib64 existiert?



Nope, not sure tho wie ich das da erstellen kann von wegen root rechten und so 

Bin halt nen ziemlicher Anfänger mit Linux :/

Google hilft, Ordner erstellt 
Habe jetzt den Symlink erstellt mit sudo ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5ln
Bekomme trotzdem noch die gleiche Fehlermeldung :c

/home/illousion/ygopro/ygopro64: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory

Anscheinend such YGOPRO wo anders nach libevent :c
Habe auch versucht nen Symlink im YGOPRO verzeichnis zu erstellen, das hilft auch nicht :/

Ich bin ratlos


----------



## BenRo (8. Oktober 2015)

Verzeichnisse erstellen mit: mkdir
Befehle als root ausführen: sudo (z. B. sudo mkdir …)

Berechtigungen werden dir mit ls -l angezeigt, z. B.
ls -l /usr zeigt dir alle Daten in /usr inkl. der Berechtigungen im Format:
Berechtigungen Linkanzahl Besitzer Gruppe Dateigröße Datum Dateiname

So lange keine ACLs verwendet werden, ist alles ganz simpel:
rwx rwx rwx <- erste drei Zeichen gelten für den Besitzer, zweite drei Zeichen für die Gruppe, dritte drei Zeichen für "alle"
r = read
w = write
x = execute

Prinzipiell:
Hilfe via befehl --help oder befehl -h
Alternativ Handbuch via man befehl


----------



## Jimini (8. Oktober 2015)

Ist es ein 32- oder ein 64-Bit-System? Das kannst du mit "_uname -m_" herausfinden.

MfG Jimini


----------



## illousion (8. Oktober 2015)

Jimini schrieb:


> Ist es ein 32- oder ein 64-Bit-System? Das kannst du mit "_uname -m_" herausfinden.
> 
> MfG Jimini



ist 64 bit, das hatte ich schon überprüft 
x86_64 ist nämlich die Antwort von uname -m


----------



## illousion (9. Oktober 2015)

Weiß denn niemand was das Problem sein könnte? :c


----------



## Cheytac (9. Oktober 2015)

"sudo ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5"

In dem Befehl wird angenommen, das die lib unter "/usr/local" liegt. Unter "/usr/local" befinden sich aber in der Regel binaries, welche manuell (sprich nicht vom Packagemanager) installiert wurden.

Schau mal unter dem Pfad "/usr/lib/libevent-2.0.so.5" ob dort diese Datei liegt. Wenn ja solltest du diesen abgewandelten Befehl versuchen:

"sudo ln -s /usr/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5"

Edit:
Bitte dran denken, vorher den alten Link zu löschen: "sudo rm /usr/lib64/libevent-2.0.so.5"


----------



## BenRo (9. Oktober 2015)

illousion schrieb:


> Weiß denn niemand was das Problem sein könnte? :c



Verzeichnis anlegen, Symlink erstellen.


----------



## illousion (10. Oktober 2015)

illousion schrieb:


> Google hilft, Ordner erstellt
> Habe jetzt den Symlink erstellt mit sudo ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5ln
> Bekomme trotzdem noch die gleiche Fehlermeldung :c
> 
> /home/illousion/ygopro/ygopro64: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory






BenRo schrieb:


> Verzeichnis anlegen, Symlink erstellen.



Nicht sehr hilfreich.



Cheytac schrieb:


> "sudo ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5"
> 
> In dem Befehl wird angenommen, das die lib unter "/usr/local" liegt. Unter "/usr/local" befinden sich aber in der Regel binaries, welche manuell (sprich nicht vom Packagemanager) installiert wurden.
> 
> ...



Link gelöscht, aber unter /usr/lib ist libevent nicht :c 

Libevent ist laut locate nur unter /usr/local/lib/libevent-2.0.so.5 und /usr/local/lib/libevent-2.0.so.5.1.9

Wie funktioniert das anscheinend überall nur bei mir nicht? :c
Ich wil doch nur Yugioh spielen xD

Edit: hilft evtl was in Richtung  "LD_LIBRARY_PATH" weiter? und wie würde das dann genau aussehen?


----------



## BenRo (10. Oktober 2015)

illousion schrieb:


> Nicht sehr hilfreich.



Tut mir Leid, ich dachte mein Beitrag, den ich davor geschrieben habe, würde es erklären.

Mehr Ideen kann ich leider auch nicht beitragen.


----------



## illousion (10. Oktober 2015)

BenRo schrieb:


> Tut mir Leid, ich dachte mein Beitrag, den ich davor geschrieben habe, würde es erklären.
> 
> Mehr Ideen kann ich leider auch nicht beitragen.



Egal, trotzdem danke für deine Hilfe 
Kommt mirnur so vor, als hättest du die hälfte miner Antworten überlesen


----------



## Cheytac (10. Oktober 2015)

illousion schrieb:


> Edit: hilft evtl was in Richtung  "LD_LIBRARY_PATH" weiter? und wie würde das dann genau aussehen?



LD_LIBRARY_PATH ist eine Environment Variable, welche weitere Suchpfade für libs angibt. 

Zum testen:
1. Ein Terminal öffnen.
2. "export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH".
3. Von diesem Terminal aus das Programm öffnen.


----------

