Ich benutze einen Uralten Reinert-SCT HBCI-Leser. Zum Betrieb sind die Pakete "pcsc-ctapi-wrapper" und "pcsc-cyberjack" aus dem AUR nötig. Jetzt gibt es eine neue Version von "pcsc-cyberjack", die baut und installiert auch wunderbar. Nur fällt danach Jamaica auf die Nase mit
Fehler: can not load ctapi lib /usr/lib/libpcsc-ctapi-wrapper.so - ret=0 response=00 00 (0000)
Die Lib kommt von "pcsc-ctapi-wrapper", das Paket ist nicht mehr im "neuen" AUR. Wenn ich es von Hand kompilieren will fällt es um:
chepaz@xmgbook
..c-ctapi-wrapper/src/pcsc-ctapi-wrapper .:] ls
total 52
-rw-r--r-- 1 chepaz chepaz 24394 Apr 6 12:24 LICENSE
-rw-r--r-- 1 chepaz chepaz 1313 Apr 6 12:24 Makefile
-rw-r--r-- 1 chepaz chepaz 1993 Apr 6 12:24 README.md
-rw-r--r-- 1 chepaz chepaz 18593 Apr 6 12:24 pcsc-ctapi-wrapper.c
chepaz@xmgbook
..c-ctapi-wrapper/src/pcsc-ctapi-wrapper .:] make
gcc -O2 -Wall -I /usr/include/PCSC/ -fPIC -D_REENTRANT -D USE_CTN_BASE0 -c -fPIC pcsc-ctapi-wrapper.c
pcsc-ctapi-wrapper.c: In function ‘CT_data’:
pcsc-ctapi-wrapper.c:333:23: warning: right-hand operand of comma expression has no effect [-Wunused-value]
dwZero = 0, dwState, dwProtocol, dwAtrSize = sizeof(pbAtr);
^
pcsc-ctapi-wrapper.c:333:32: warning: right-hand operand of comma expression has no effect [-Wunused-value]
dwZero = 0, dwState, dwProtocol, dwAtrSize = sizeof(pbAtr);
^
pcsc-ctapi-wrapper.c: In function ‘PerformVerification’:
pcsc-ctapi-wrapper.c:624:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
dwControlCode = ntohl(*(uint32_t*)&aOutput[nPos+2]);
^
pcsc-ctapi-wrapper.c:657:88: error: invalid application of ‘sizeof’ to incomplete type ‘uint8_t[] {aka unsigned char[]}’
sult = SCardControl(hCard, dwControlCode, pPVS, sizeof(PIN_VERIFY_STRUCTURE)-sizeof(pPVS->abDa
^
Makefile:25: recipe for target 'pcsc-ctapi-wrapper.o' failed
make: *** [pcsc-ctapi-wrapper.o] Error 1
2 chepaz@xmgbook
..c-ctapi-wrapper/src/pcsc-ctapi-wrapper .:]
Der Fehler (sizeof blablabla) ist der gleiche, egal ob die Sourcen von
https://sourceforge.net/projects/pcsc-ctapi/files/pcsc-ctapi/ kommen oder von
https://github.com/sixtyfive/pcsc-ctapi-wrapper/
Vielleicht sieht jemand mit mehr C und gcc Kenntnissen wo es hängt?
Zum Spielen:
Original PKGBUILD aus dem "alten" AUR:
# Maintainer: Thilo Berndt <mail AT schlehmil DOT org>
pkgname=pcsc-ctapi-wrapper
pkgver=0.3
pkgrel=1
arch=('i686' 'x86_64')
license=('GPL')
pkgdesc="A wrapper library for using smartcard readers that support PCSC only (e.g. SCR24x) with any application that supports CTAPI."
url="http://sourceforge.net/projects/pcsc-ctapi"
depends=('pcsclite')
options=('staticlibs')
source=("http://downloads.sourceforge.net/project/pcsc-ctapi/pcsc-ctapi/${pkgver}/${pkgname}-${pkgver}.tar.gz")
md5sums=('d95cf20bba354fb04e054f1f6a1e47d8')
_pkgname="${pkgname}-${pkgver}"
build() {
cd $srcdir/${_pkgname}
make
}
package() {
# copy library
cd $srcdir/${_pkgname}
install -D -m755 libpcsc-ctapi-wrapper.so.${pkgver} ${pkgdir}/usr/lib/libpcsc-ctapi-wrapper.so.${pkgver}
# create symlinks
cd ${pkgdir}/usr/lib
ln -s libpcsc-ctapi-wrapper.so.${pkgver} libpcsc-ctapi-wrapper.so.0
ln -s libpcsc-ctapi-wrapper.so.${pkgver} libpcsc-ctapi-wrapper.so
}
Mein rudimentärer Testbau:
# Maintainer: Jøran Zeller <mx-bounce AT gmx DOT net>
pkgname=pcsc-ctapi-wrapper
pkgver=0.3
pkgrel=1
arch=('x86_64')
license=('GPL')
pkgdesc="A wrapper library for using smartcard readers that support PCSC only (e.g. SCR24x) with any application that supports CTAPI."
url="https://github.com/sixtyfive/pcsc-ctapi-wrapper"
depends=('pcsclite')
#options=('staticlibs')
#source=("http://downloads.sourceforge.net/project/pcsc-ctapi/pcsc-ctapi/${pkgver}/${pkgname}-${pkgver}.tar.gz")
source=('git+https://github.com/sixtyfive/pcsc-ctapi-wrapper.git')
#md5sums=('d95cf20bba354fb04e054f1f6a1e47d8')
sha256sums=('SKIP')
#_pkgname="${pkgname}-${pkgver}"
#prepare() {
# cd "$srcdir"
# make
#}
build() {
cd "$srcdir/$pkgname"
make
}
check() {
cd "$srcdir"
make -k check
}
package() {
# copy library
# cd $srcdir/${_pkgname}
# install -D -m755 libpcsc-ctapi-wrapper.so.${pkgver} ${pkgdir}/usr/lib/libpcsc-ctapi-wrapper.so.${pkgver}
# create symlinks
# cd ${pkgdir}/usr/lib
# ln -s libpcsc-ctapi-wrapper.so.${pkgver} libpcsc-ctapi-wrapper.so.0
# ln -s libpcsc-ctapi-wrapper.so.${pkgver} libpcsc-ctapi-wrapper.so
echo "END"
}