Help getting GnuCash with Chipcard HBCI to work on SuSE 8.1
Christian Gatzemeier
c.gatzemeier at tu-bs.de
Wed Jan 22 23:22:39 CST 2003
Thank you for your help Derek Atkins!
Und ebenso vielen Dank Christian Stimmig!
Am Mittwoch, 22. Januar 2003 15:48 schrieb Christian Stimming:
> > [...]
> > Making all in hbci
> > make[4]: Wechsel in das Verzeichnis
> > »/tmp/gnucash/gnucash-1.7.7/src/import-export/hbci«
> > Making all in .
> > make[5]: Wechsel in das Verzeichnis
> > »/tmp/gnucash/gnucash-1.7.7/src/import-export/hbci«
> > cc1: changing search order for system directory "/usr/include"
> > cc1: as it has already been specified as a non-system directory
>
> You could remove the "-Werror" in the Makefile in the
> src/import-export/hbci directory as a quick workaround.
I allready did a simillar thing, I guess, that Derek suggested on the -devel
list:
<snip>
The problem appears to be that openhbci is trying to add -I/usr/local/include
into the path.
I'll fix this in CVS. A quick workaround for you would be to turn
off -Werror via ./configure --disable-error-on-warning.
<snap>
after that, make completed and gnucash had those wonderful HBCI menu options!
I will try two banks that are new for openHBCI AFAIK. (Nord/LB and 1822direkt)
The 1822direkt bank (subdivision of Frankfurter Sparkasse) supplies a userid
"Benutzerkennung" with the hbci-paperwork. I know their bankid (Bankleitzahl)
and could read their server's address h030.s-hbci.de from the chipcard. ( is
this a generic Sparkassenserver? ) For the customer id I tried to enter the
same userid xor my regular customer number.
In both cases when trying to get the accountlist the message after two pin
prompts from the card terminal is:
gnc_hbci_api_execute: Error at executeQueue: could not select context (owner2)
unpredictably on some retries without any pin promt the following message is
presented:
gnc_hbci_api_execute: Error at executeQueue: some connections failed
> However, if the
> openhbci-test at configure time fails, it means that there is some
> deeper problem with your openhbci installation (like, having old
> openhbci version lying around in your system).
I see.
I found --disable-openhbcitest in another thread and thought the test might be
temporarily broken or so.
I tried to pay attention to allways "make uninstall" in a sourcetree on my
system prior to any new attempts. Could this still be critical?
I found out that i.e. /usr/local/bin/openhbci-config does not get rm-ed with
this.
Thanks for any advise,
I have included the output from the ./configure script at the end of this
mail.
Christian G. ;-)
With enabled openhbcitest the ./configure stdout gives:
------------------------------------------------------------------
[...]
checking for OpenHBCI... /usr/local
checking for OpenHBCI - version >= 0.9.4... no
*** Could not run OpenHBCI test program, checking why...
***
*** The test program failed to compile or link. See the file config.log for
the
*** exact error that occured. This usually means OpenHBCI is incorrectly
installed.
And config.log has gathered the following:
----------------------------------------------------
[...]
configure:11030: checking for OpenHBCI
configure:11095: checking for OpenHBCI - version >= 0.9.4
configure:11172: gcc -o conftest -g -O2 -Werror -I/usr/local/include
-I/usr/local/include/chipcard conftest.c -L/usr/lib -lcrypto -ldl
-L/usr/local/lib -lchipcard -L/usr/lib -lcrypto -lopenhbci -lstdc++
-L/usr/local/lib -lopenhbci -lm 1>&5
cc1: changing search order for system directory "/usr/local/include"
cc1: as it has already been specified as a non-system directory
configure: failed program was:
#line 11107 "configure"
#include "confdefs.h"
#include <openhbci.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int
main ()
{
int major, minor, micro;
int getmajor, getminor, getmicro;
char *tmp_version;
system ("touch conf.openhbcitest");
/* HP/UX 9 writes to sscanf strings */
tmp_version = strdup("0.9.4");
if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) {
printf("%s, bad version string\n", "0.9.4");
exit(1);
}
HBCI_Hbci_libraryVersion(&getmajor, &getminor, &getmicro);
if ((getmajor != OPENHBCI_VERSION_MAJOR) ||
(getminor != OPENHBCI_VERSION_MINOR) ||
(getmicro != OPENHBCI_VERSION_PATCHLEVEL))
{
printf("*** OpenHBCI header files (version %d.%d.%d) do not match\n",
OPENHBCI_VERSION_MAJOR,
OPENHBCI_VERSION_MINOR,
OPENHBCI_VERSION_PATCHLEVEL);
printf("*** installed library (version %d.%d.%d)\n",
getmajor, getminor, getmicro);
exit(1);
}
else
{
if ((getmajor > major) ||
((getmajor == major) && (getminor > minor)) ||
((getmajor == major) && (getminor == minor) && (getmicro >= micro)))
{
return 0;
}
else
{
printf("\n*** An old version of OpenHBCI (%d.%d.%d) was found.\n",
getmajor, getminor, getmicro);
printf("*** You need OpenHBCI in version %d.%d.%d or newer. The
latest version\n",
major, minor, micro);
printf("*** of OpenHBCI is always available from
http://www.openhbci.de.\n");
printf("***\n");
printf("*** If you have already installed a sufficiently new
version, this error\n");
printf("*** probably means that you need to specify the right path
by\n");
printf("*** --with-openhbci-prefix=PATH. (Also, check that your
LD_LIBRARY_PATH\n");
printf("*** enviroment variable is correct, or edit
/etc/ld.so.conf\n");
printf("*** so that the correct libraries are found at
run-time))\n");
}
}
return 1;
}
configure:11211: gcc -o conftest -g -O2 -Werror -I/usr/local/include
-I/usr/local/include/chipcard conftest.c -lm -L/usr/lib -lcrypto -ldl
-L/usr/local/lib -lchipcard -L/usr/lib -lcrypto -lopenhbci -lstdc++
-L/usr/local/lib -lopenhbci 1>&5
cc1: changing search order for system directory "/usr/local/include"
cc1: as it has already been specified as a non-system directory
configure: failed program was:
#line 11201 "configure"
#include "confdefs.h"
#include <openhbci.h>
#include <stdio.h>
int main() {
return ((OPENHBCI_VERSION_MAJOR) || (OPENHBCI_VERSION_MINOR) ||
(OPENHBCI_VERSION_PATCHLEVEL));
; return 0; }
More information about the gnucash-devel
mailing list