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, &micro) != 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