PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Moneyplex11 unter openSUSE 12.2 oder neueren Distributionen



corax2.05
04.01.13, 11:36
Da openSUSE 12.2 eine neue Version von pcsc-lite mitbringt (pcsc-lite 1.8.3-2.1.3) kommt Moneyplex 11 damit nicht klar. Der Kartenleser verweigert den Dienst.

Abhilfe schafft hier ein (unschönes) downgrade von pcsc-lite und seinen Abhängigkeiten. Was auch in den meisten Foren nachzulesen ist.
Diese Prozedur ist aber unnötig!

Die bessere Option ist folgender download.

http://www.matrica.de/download/pcsc.11.zip

Das enthaltene Verzeichnis (pcsc) wird einfach im Moneyplex Installationsverzeichnis abgelegt.

Zusätzlich zum Link habe ich die Datei mal angehängt für den Fall das Matrica den Download irgendwann löschen sollte.

Rain_maker
04.01.13, 22:52
Zunächst mal Kompliment für das Posten einer sauberen Lösung, die nicht wie das erwähnte Downgrade am laufenden System herumpfuscht.

Wenn das so geht, dann gibt es übrigens sehr wahrscheinlich noch eine andere Möglichkeit, sofern man keine distributionsfremden Bibliotheken verwenden will.

Man könnte dann die entsprechende Bibliothek aus dem Paket einer älteren Version (für openSUSE 12.2 würde sich das RPM der 12.1 anbieten) nehmen, dieses Paket dann eben nicht ins System ballern sondern die Dateien nur aus dem RPM extrahieren und ins passende Verzeichnis kopieren.

Sollte eigentlich auch funktionieren und (der eigentliche Grund meines Postings) ist auch ohne graphische Hilfsmittel machbar, denn es gibt das Kommandozeilentool "rpm2cpio" zum Umwandeln und "cpio" zum eigentlichen Auspacken.

Beispiel:


rpm -qpl libpcsclite1-1.7.4-4.3.1.i586.rpm
/usr/lib/libpcsclite.so.1
/usr/lib/libpcsclite.so.1.0.0= Paket aus openSUSE 12.1

Entpacken mit


rpm2cpio libpcsclite1-1.7.4-4.3.1.i586.rpm |cpio -idu
84 blocksund die Daten befinden sich in nun im während des Entpacken angelegten Verzeichnis <Aktuelles_Verzeichnis>/usr/lib.


ls $(pwd)/usr/lib/* -l
lrwxrwxrwx 1 ich users 20 4. Jan 22:45 /tmp/usr/lib/libpcsclite.so.1 -> libpcsclite.so.1.0.0
-rwxr-xr-x 1 ich users 42576 4. Jan 22:45 /tmp/usr/lib/libpcsclite.so.1.0.0

Greetz,

RM

stefan.becker
05.01.13, 00:13
Und wenn es gar nicht geht, dann geht es auch mit VMWARE.

Einfach ein Zuse Linux 11.2 in VMWARE installieren, Kartenleser über USB durchreichen, fertig. Da brauchst gar nichts basteln und das geht immer, auch nach dem nächsten Distro-Upgrade.

Und wenn man das nur dafür nimmt, spielen Sicherheitsaspekte keine Rolle.

corax2.05
05.01.13, 20:54
@Rain_maker
Ich finde es generell nicht so toll wenn irgendwelche libs am Paketmanager vorbei ins System installiert werden.
Aber dein Vorschlag hat mich auf die idee gebracht, die Matrica libpcsc durch die originale von openSUSE zu ersetzten.

Für alle zum nachvollziehen:

Download z.B.:
http://ftp.uni-kl.de/pub/linux/opensuse/distribution/12.1/repo/oss/suse/i586/libpcsclite1-1.7.4-4.1.3.i586.rpm
Die libpcsclite.so.1.0.0 entpacken (wer es grafisch mag, ark kann das auch), umbenennen in libpcsclite.so.1.
Dann nach ~/woauchimmer/moneyplex/pcsc kopieren.
Funktioniert.

Dabei ist mir der Größenunterschied der beiden libpcsclite Dateien (einmal von openSUSE, einmal von Matrica) aufgefallen.
openSUSE: 41,6 KiB
Matrica: 122,5 KiB
Aber das ist jetzt was für die Experten...

Rain_maker
05.01.13, 21:18
Die libpcsclite.so.1.0.0 entpacken (wer es grafisch mag, ark kann das auch), umbenennen in libpcsclite.so.1.

Man kann auch einfach beide Dateien aus dem Paket in den passenden Ordner verschieben, neben libpcsclite.so.1.0.0 existiert noch ein Symlink libpcsclite.so.1, der auf erstere zeigt (ist auch die übliche Vorgehensweise bei anderen libraries).



Dabei ist mir der Größenunterschied der beiden libpcsclite Dateien (einmal von openSUSE, einmal von Matrica) aufgefallen.
openSUSE: 41,6 KiB
Matrica: 122,5 KiB
Aber das ist jetzt was für die Experten...

Dazu braucht es gar nicht mal allzuviel Expertise, ist ganz einfach.

openSUSE-Version


file /usr/lib/libpcsclite.so.1.0.0
/usr/lib/libpcsclite.so.1.0.0: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV),
dynamically linked, BuildID[sha1]=0x5e5941ec069265d629030e0a1638161680b54d1c, stripped

Matrica-Version


file pcsc/libpcsclite.so.1
pcsc/libpcsclite.so.1: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV),
dynamically linked, BuildID[sha1]=0x82ad39416c665b673ee89a3327f85d9b8448b212, not stripped
In der Version von Matrica stecken noch alle debug-Symbole drin, nach einem


strip pcsc/libpcsclite.so.1
ls -l pcsc/libpcsclite.so.1
-rw-r--r-- 1 ich users 34292 5. Jan 21:17 pcsc/libpcsclite.so
ist die Version von Matrica auch klein.

//Edit:

Noch ein kleiner Zusatz:

Wenn man dieses "herunterziehen" der Debugsymbole so durchführt, daß diese in extra Dateien geschrieben werden (mit einem einfachen strip verschwinden sie im Nirgendwo), dann hat man das, was man unter openSUSE als $PAKETNAME-debuginfo finden kann. Hat den Vorteil, daß der normale Nutzer keinen Ballast mitinstallieren muss, aber im Notfall immer noch die Möglichkeit besteht, den Kram zu debuggen.

Greetz,

RM

corax2.05
05.01.13, 22:28
Man kann auch einfach beide Dateien aus dem Paket in den passenden Ordner verschieben, neben libpcsclite.so.1.0.0 existiert noch ein Symlink libpcsclite.so.1, der auf erstere zeigt (ist auch die übliche Vorgehensweise bei anderen libraries).

Ich bin jetzt irgendwie davon ausgegangen das der Link auf /usr/lib/libpcsclite1.0.0 zeigt und nicht nur auf die Datei selbst.
Wieder was gelernt.



Dazu braucht es gar nicht mal allzuviel Expertise, ist ganz einfach.

Interessant, auf debug Infos wär ich bestimmt nicht gekommen... aber wenn das kein Expertenwissen ist, weiß ich auch nicht. ;)