win32 libchipcard: call for testing

Christian Stimming stimming at tuhh.de
Thu Apr 26 12:07:21 EDT 2007


As the Windows-version of gnucash is gaining more and more attention,  
and as the pre-compiled binary is already shipped with  
aqbanking/gwenhywfar (with aqhbci and ofxdirectconnect), we are  
getting asked whether the HBCI chipcards would be supported as well.  
This requires a win32 version of libchipcard, which doesn't exist  
right now.

The good news is that *compiling* of libchipcard is possible on  
windows. Both the libchipcard svn-trunk [1] (obsolete, though) and the  
currently active branch aq_3 [2] can be compiled, the latter also from  
the release tarball libchipcard3-3.1.0beta [3]; trunk compiles only  
from current SVN, not from a release. I'd like to ask anyone  
interested to try out the libchipcard-on-windows version by obtaining  
one of these versions, especially if you actually own a chipcard  
reader (I don't). Then report any issue you have on the  
aqbanking-devel mailing list (either in German or in English, both is  
fine).

As for libchipcard trunk vs. aq3-branch: The svn-trunk of libchipcard  
is abandoned since September 2006 anyway. All the real (interesting)  
ongoing work is done on the branches/aq_3 branch of libchipcard. That  
aq3 branch, however, requires gwenhywfar3 instead of gwenhywfar2 since  
January 2007. The previous gwenhywfar2 is currently still being used  
by gnucash+aqbanking. An upgrade of gnucash+aqbanking to gwenhywfar3  
is not planned in the immediate future, rather by fall or end of this  
year, and it is not quite trivial. The question is whether  
gnucash+aqbanking2+gwenhywfar2 can be linked with  
libchipcard3+gwenhywfar3 in parallel. The two DLL names are different;  
however, the DLLs of gwenhywfar2 and gwenhywfar3 will clearly contain  
a bunch of symbols with identical names. It is not clear to me whether  
this will work on windows, or whether it will outright crash due to  
this symbol collision in the gnucash process namespace. On Linux this  
somehow seems to work, as we haven't received any related problem  
reports so far... or this rather says nobody has tried  
gnucash+aqbanking with libchipcard3-3.1.0beta but only older versions,  
like libchipcard3-3.0.2, which still uses gwenhywfar2...

One compile-time issue still exists on windows in both branches: The  
current code shows approx. 20-30 warnings of type "passing arg 5 of  
'FOO_BAR__INHERIT_SETDATA' from incompatible pointer type". These mean  
that the INHERIT_SETDATA function, which is in turn declared by a  
macro of gwenhywfar, expects a function pointer that has some special  
function decoration which changed in gwenhywfar-2.0.0 or similar, but  
libchipcard is not yet adapted. To fix this, the function whose  
pointer is passed to INHERIT_SETDATA must be declared as "void  
GWENHYWFAR_CB foobar(void*,void*);" instead of simply "void  
foobar(...);", i.e. you have to add that GWENHYWFAR_CB macro between  
void and foobar().

Cheers

Christian


[1] svn checkout http://aquamaniac.homelinux.net/svn/libchipcard/trunk
[2] svn checkout http://aquamaniac.homelinux.net/svn/libchipcard/branches/aq_3
[3] http://sourceforge.net/project/platformdownload.php?group_id=34542




More information about the gnucash-devel mailing list