Forum: PC Hard- und Software Eagle 5.10 unter mate 17: libjpeg.so.62 nicht gefunden - woher nehmen?


von Uhu U. (uhu)


Lesenswert?

Ich versuche, den schon ziemlich angestaubten Eagle 5.10 auf einen 
64-Bit Mate 17 zum Laufen zu bringen. Das Problem ist libjpeg.so.62:
1
error while loading shared libraries: libjpeg.so.62:
2
cannot open shared object file: No such file or directory

Ich habe libjpeg62 installiert, aber das ist nur die 64-Bit-Version, 
während der Eagle offenbar 32 Bit ist.

Wo kann man die 32-Bit libjpeg62 her bekommen?

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?


von hp-freund (Gast)


Lesenswert?

Uhu U. schrieb:
> aber das ist nur die 64-Bit-Version

Die 32bit Umgebung ist installiert oder?

Um linux Pakete oder Teile davon zu finden eignet sich:
http://rpm.pbone.net/

Meist gibt es auch einzelne Dateien in die Paketen/Quellen die auf 
andere Linux Systeme übertragbar sind.

ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/ 
vodoo/SLE_11_SP2/i586/libjpeg62-62.0.0-1.1.i586.rpm

enthält libjpeg.so.62.0.0 mit dem link libjpeg.so.62

Oder das von Nils, ist ein anderer Weg dahin...

von Uhu U. (uhu)


Angehängte Dateien:

Lesenswert?

hp-freund schrieb:
> Die 32bit Umgebung ist installiert oder?

Siehe Anhang. Leider hat das nichts geholfen.

Linux Mint ist ein Debian-Abkömmling - rpm ist da wohl nicht das 
passende Format, oder?

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Entpacke die rpm-Datei (midnight-commander, mc Befehl, kann die wie 
einen Ordner öffnen) und kopiere dann nur libjpeg.so.62 und das 
Link-Ziel nach /usr/lib.

Das reicht.

//edit:
das Problem wird sein, dass die 32bit Umgebung eine andere Version hat. 
z.B. libjpeg.so.60.

//edit2:
Vor ein paar Tagen habe ich einen 32bit gcc für Windows CE von, ich 
glaube, 2010 auf einem aktuellen 64bit gentoo-system installiert. Alles 
compilieren - bah, also ~80 debian-Pakete mit dem mc durchwühlt und mit 
dem Tool "ldd" nachgesehen, was fehlt.

Also z.B. "ldd /opt/eagle/version/bin/eagle", dann steht da bei libjpeg 
"not found". So kannst du gleich nachsehen, was noch fehlt.

//edit3:
packages.debian.org - dort das Package suchen - dann die Debian-Version 
wählen - lib finden.
ABER bitte installiere keine zu deiner Distribution/Version passende 
system-lib einfach mit irgendwelchen --force-* Optionen auf dein System, 
ausser du hast Lust auf solche Totalschaden-Fehler-Find-Basteleien.
Sicherer scheint mir das mit den einzelnen Dateien.
Vielleicht kannst du die ja auch einfach mit im bin-Ordner von Eagle 
ablegen.

: Bearbeitet durch User
von Uhu U. (uhu)


Lesenswert?

Nils S. schrieb:
> das Problem wird sein, dass die 32bit Umgebung eine andere Version hat.
> z.B. libjpeg.so.60.


> Vielleicht kannst du die ja auch einfach mit im bin-Ordner von Eagle
> ablegen.

Ich habe libjpeg.so.62.1.0 und den Link libjpeg.so.62 darauf aus 
libjpeg62-62.1.0-30.5.1.i586.rpm nach /opt/eagle-5.10.0/bin kopiert - 
leider hilft das gar nichts.
1
$ find / -name 'libjpeg.so.*'
2
/usr/lib/x86_64-linux-gnu/libjpeg.so.62
3
/usr/lib/x86_64-linux-gnu/libjpeg.so.8
4
/usr/lib/x86_64-linux-gnu/libjpeg.so.8.0.2
5
/usr/lib/x86_64-linux-gnu/libjpeg.so.62.0.0
6
/usr/lib/i386-linux-gnu/libjpeg.so.8
7
/usr/lib/i386-linux-gnu/libjpeg.so.8.0.2
8
/opt/eagle-5.10.0/bin/libjpeg.so.62.1.0
9
/opt/eagle-5.10.0/bin/libjpeg.so.62

Es gibt also 32-Bit-Versionen, aber nicht die 6.2.

von randy (Gast)


Lesenswert?

hallo,

damit die libs gefunden werden, langt es nicht sie nur 'irgendwohin' zu 
kopieren, man muss dem linker auch sagen wo er sie suchen soll.

ldconfig ist das stichwort.

unter /etc/ld.so.conf/ liegen die entsprechenden config dateien, danach 
muss ein ldconfig (optinen siehe man page) ausgefuehrt werden.

der link auf die lib...so erzeugt ldconfig selber, den braucht man nicht 
anlegen.


gruss,
-- randy

von Uhu U. (uhu)


Lesenswert?

Ich würde die Lib lieber lokal für den Eagle hinterlegen - da kann 
nichts kaputt gehen. Aber welchen Sinn macht dann ein Link in 
/etc/ld.so.conf.d?

Wie kann ich Eagle beibiegen, die Lib aus seinem bin-Verzeichnis zu 
laden?

von Konrad S. (maybee)


Lesenswert?

Uhu U. schrieb:
> Wie kann ich Eagle beibiegen, die Lib aus seinem bin-Verzeichnis zu
> laden?

Es ist nicht üblich, dass unter Unix/Linux Libraries im bin-Verzeichnis 
liegen, sondern in einem lib-Verzeichnis neben bin. Gibt es bei Eagle 
ein lib-Verzeichnis?

von Uhu U. (uhu)


Lesenswert?

Nein.

von Konrad S. (maybee)


Lesenswert?

Mit der Environment-Variable LD_LIBRARY_PATH lässt sich beinflussen, in 
welchen Verzeichnissen nach Libraries gesucht wird. Z.B.
1
LD_LIBRARY_PATH=/da/wo/meine/libs/liegen eagle

von Uhu U. (uhu)


Lesenswert?

Damit geht er... Vielen Dank für die Unterstützung!

von hp-freund (Gast)


Lesenswert?

Uhu U. schrieb:
> /usr/lib/x86_64-linux-gnu/libjpeg.so.62      <----
> /usr/lib/x86_64-linux-gnu/libjpeg.so.8
> /usr/lib/x86_64-linux-gnu/libjpeg.so.8.0.2
> /usr/lib/x86_64-linux-gnu/libjpeg.so.62.0.0  <----
> /usr/lib/i386-linux-gnu/libjpeg.so.8
> /usr/lib/i386-linux-gnu/libjpeg.so.8.0.2

Ich denke bei den i386 Dateien wären die beiden besser aufgehoben.

von hp-freund (Gast)


Lesenswert?

Zu spät, hat sich ja dann erledigt.

von Uhu U. (uhu)


Lesenswert?

hp-freund schrieb:
> Ich denke bei den i386 Dateien wären die beiden besser aufgehoben.

Das sind die 64-Bit-Versionen - da mache ich lieber nichts dran.


Ein Problem habe ich noch:
Ich kann Eagle jetzt zwar über Terminal starten, aber nicht per Menü.

In /opt/eagle-5.10.0/bin habe ich folgendes Shellscript angelegt und 
ausführbar gemacht:
1
#!/bin/bash
2
LD_LIBRARY_PATH=/opt/eagle-5.10.0/bin  /opt/eagle-5.10.0/bin/eagle

Wenn ich das Skript übers Terminal aufrufe, startet er, wenn ich einen 
Menüeintrag dafür anlege und den klicke, passiert überhaupt nichts.

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Uhu U. schrieb:
> Wenn ich das Skript übers Terminal aufrufe, startet er, wenn ich einen
> Menüeintrag dafür anlege und den klicke, passiert überhaupt nichts.

Kannst du beim Klicken sagen, dass er es in einem Terminalfenster 
aufmacht und du so eventuelle Fehler siehst? Ansonsten dürften solche 
Terminalausgaben im Xorg-Log landen.

Kannst ja zu Debugzwecken auch mit export arbeiten und schauen, ob 
wirklich alle Umgebungsvariablen stimmen:
1
#!...
2
3
export LD_LIB....=...
4
export PATH=...
5
export > my_exports.txt
6
..
7
eagle

von Uhu U. (uhu)


Lesenswert?

Nachdem ich die Kiste vorhin neu gestartet habe, funktioniert der 
Menüeintrag plötzlich... Merkwürdig.

von Konrad S. (maybee)


Lesenswert?

Das Environment des GUI (d.h. Windowmanager) wird nur beim Login 
geladen. Ab- und wieder Anmelden hätte vermutlich auch gereicht. Es ist 
nicht ungewöhnlich, dass "die Linuxer" jede Menge Krempel ins 
Environment packen. Der Teufel holt einen dann, wenn man mehrere 
Versionen einer Software gleichzeitig nutzen will. Da schreibt man dann 
besser für jeden Anwendungsfall ein Startscript, das genau das jeweils 
passende Environment aufbaut und die Applikation startet. Sowas lässt 
sich für die Bequemlichkeit dann auch ins Menü einbauen.

von Uhu U. (uhu)


Lesenswert?

Konrad S. schrieb:
> Da schreibt man dann
> besser für jeden Anwendungsfall ein Startscript, das genau das jeweils
> passende Environment aufbaut und die Applikation startet.

Genau das hatte ich gemacht.

Ins Environment wurde nicht "jede Menge Krempel" gepackt, sondern genau 
gar nichts - das Environment wurde von der Installationsroutine nicht 
verändert und von mir auch nicht.

> Der Teufel holt einen dann, wenn man mehrere Versionen einer Software
> gleichzeitig nutzen will.

Unsinn. Mit parallel laufenden Eagles kann man sich den Speicher voll 
ballern, bis die Kiste japst - die laufen trotzdem.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.