Gelöst: Qbankmanager unter OS X: Probleme beim Kompilieren

 
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 4
Dabei seit: 01 / 2009
Betreff:

Gelöst: Qbankmanager unter OS X: Probleme beim Kompilieren

 · 
Gepostet: 17.01.2009 - 19:09 Uhr  ·  #1
Hallo zusammen,

mein erster Post hier:)

Seit gestern habe ich meinen ersten Mac, und da meine Bank (die OLB) leider eine sehr schwache IT zu haben scheint und nur Windows nativ unterstützt, brauche ich Eure Hilfe.

Ich habe unter OS X port installiert, und mir über port aqbanking mitsamt aller Abhängigkeiten (gwenhywfar usw) installiert. Unter GnuCash kann ich per aqbanking (mit meinem alten Linux-Key für qbankmanager/aqbanking) auch Konten und deren Salden sehen. Auch kmymoney kann Salden zeigen.

Mein Problem ist nun, dass mir Gnucash zu kompliziert ist, und kmymoney leider noch keine Überweisungen unterstützt. Daher möchte ich mir gern qbankmanager installieren, zumal ich dieses Programm früher immer unter Linux benutzt habe. Leider gibt es nun keinen port von qbankmanager, so dass ich das tar.gz selbst bauen muss. Unter Linux war dies kein Problem für mich, nur unter os x mit xcode und ports habe ich leiichte Probleme.

Das Configure-Script findet offenbar meine libgwenhywfar nicht:

checking for gwenhywfar... not found
configure: error:
*** The library Gwenhywfar was not found. Obtain it from
*** http://gwenhywfar.sf.net, direct link for download is
*** http://sf.net/project/showfiles.php?group_id=88769 .
*** If it is already installed (including the -devel package),
*** you might need to specify the location with the
*** option --with-gwen-dir=DIR.

Installiert habe ich jedoch

gwenhywfar @3.5.2_0 (active)
aqbanking @3.8.1_0 (active)

Ich versuche, qbankmanager 0.9.50 unter OS X 10.5.6 zu bauen.

Unter linux würde ich tippen, dass ich die devel-Pakete (also die Sourcen) von gwenhywfar nicht installiert habe. Kann mir jemand den entscheidenden Tipp geben, was ich machen muss, damit configure die gwenhywfar findet?

Vielen Dank und viele Grüße,

7Seconds
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 4
Dabei seit: 01 / 2009
Betreff:

Qbankmanager unter OS X: Probleme beim Kompilieren

 · 
Gepostet: 18.01.2009 - 17:03 Uhr  ·  #2
Hallo,

ich bin mittlerweile einen Schritt weiter, so dass ggf nun auch Linux-Entwickler wieder einbezogen werden können.

Zunächst die Lösung meines alten Problems:
[code]
1) dem Aufruf von configure muss der Parameter --prefix=/opt/local mitgegeben werden, da unter OS X dort libs, includes usw zu finden sind.
2) die Pfade zu den qt-bibliotheken müssen ebenfalls per parameter mitgegeben werden.
3) das configure-script muss für OS X angepasst werden: die qt3-libs werden heissen hier libqt-mt.3.dylib, das script sucht aber nach libqtmt.dylib.3. Zum Anpassen einfach im configure-script nach "qt3 libraries suchen" und dann den qt3-searchname von "qt_searchname="lib${qt_libname}${std_shrext}.3" nach qt_searchname="lib${qt_libname}.3${std_shrext}" ändern.
[/code]

Der configure-aufruf lautete also:

./configure --with-qt3-includes=/opt/local/include/qt3/ --with-qt3-libs=/opt/local/lib/qt3/lib/ --with-qt3-moc=/opt/local/lib/qt3/bin/ --with-qt3-uic=/opt/local/lib/qt3/bin/ --prefix=/opt/local

Mein neues Problem ist ein Abbruch des make-Prozesses:



[code]
g++ -DHAVE_CONFIG_H -DCATEGORYDIR="/opt/local/share/qbankmanager/categories" -DQT3_SUPPORT -I. -I. -I../../../.. -I/opt/local/include -I/opt/local/include/gwenhywfar3 -I/opt/local/include/gwenhywfar3 -I/opt/local/include/qt3/ -fvisibility=hidden -g -O2 -g -Wall -MT app.lo -MD -MP -MF .deps/app.Tpo -c app.cpp  -fno-common -DPIC -o .libs/app.o
app.cpp: In member function ‘bool App::getMatchingTransactions(GWEN_DB_NODE*, std::list<RefPointer<Transaction>, std::allocator<RefPointer<Transaction> > >&)’:
app.cpp:1816: warning: format ‘%d’ expects type ‘int’, but argument 5 has type ‘size_t’
app.cpp: In function ‘int App__convertFromUtf8(const char*, int, GWEN_BUFFER*)’:
app.cpp:2616: error: invalid conversion from ‘const char**’ to ‘char**’
app.cpp:2616: error:   initializing argument 2 of ‘size_t libiconv(void*, char**, size_t*, char**, size_t*)’
app.cpp:2626: warning: format ‘%d’ expects type ‘int’, but argument 7 has type ‘size_t’
make[6]: *** [app.lo] Error 1
make[5]: *** [all-recursive] Error 1
make[4]: *** [all] Error 2
make[3]: *** [all-recursive] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
[/code]

Hat hier jemand eine Idee? Mir sieht es so aus, als passe die libgwenhywfar, die ich installiert habe, nicht zum qbankmanager-Code (signatur einer methode falsch?).

Wer kann helfen?

Vielen Dank und viele Grüße,,

7Seconds
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 4
Dabei seit: 01 / 2009
Betreff:

Re: Gelöst: Qbankmanager unter OS X: Probleme beim Kompilieren

 · 
Gepostet: 18.01.2009 - 17:41 Uhr  ·  #3
Hallo,

nun habe ich auch dieses Problem durch Code-Bearbeitung lösen können.

In Zeile 2598 wurde offenbar für OS X aus dem char *pinBuf ein const char *pInbuf gemacht. Dies scheint aber mittlerweile für das OS X-iconv nicht mehr erforderlich zu sein.

Durch das Löschen von const kompiliert der Code nun. Lösung also:

Ersetze line 2598 durch

char* pInbuf;

Die Installation verlief anschließend erfolgreich, mein qbankmanager geht nun:)

Viele Grüße,

7Seconds
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Hamburg
Homepage: aqbanking.de/
Beiträge: 642
Dabei seit: 03 / 2005
Betreff:

Re: Gelöst: Qbankmanager unter OS X: Probleme beim Kompilieren

 · 
Gepostet: 22.01.2009 - 14:21 Uhr  ·  #4
Zitat geschrieben von 7Seconds

Durch das Löschen von const kompiliert der Code nun. Lösung also:
Ersetze line 2598 durch

char* pInbuf;


Hmm, gibt es eine Moeglichkeit zu unterscheiden, welche Version von MacOSX Du verwendest? Wenn ich diese Aenderung jetzt direkt so einbaue, geht es wieder nicht mit aelteren Versionen :-/


Gruss
Martin
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 4
Dabei seit: 01 / 2009
Betreff:

Re: Gelöst: Qbankmanager unter OS X: Probleme beim Kompilieren

 · 
Gepostet: 02.02.2009 - 17:33 Uhr  ·  #5
Hallo,

Zitat geschrieben von aquamaniac

Hmm, gibt es eine Moeglichkeit zu unterscheiden, welche Version von MacOSX Du verwendest? Wenn ich diese Aenderung jetzt direkt so einbaue, geht es wieder nicht mit aelteren Versionen :-/


Ich denke, es hängt nicht von der OSX-Version (wie beschrieben bei mir 10.5.6) ab, sondern von der includeten iconv. Sie scheinen ja die Signatur der aufgerufenen Methode geändert zu haben. Am besten wär es natürlich, wenn man einen Wrapper in die iconv einbauen würde, so dass beide Signaturen wieder verfügbar wären, und der wrapper nur per cast die neue Version aufruft. Dazu sollte man mal den Maintainer von iconv ermitteln und fragen, ob er sowas machen würde.

In Java könnte man per Introspektion auch versuchen, im Vorfeld im try/catch-Block die Signatur zu ermitteln, und dann abhängig vom Ergebnis entsprechend gecastet aufzurufen.

Ich denke aber, da sonst offenbar keiner Probleme hatte, solltest Du den Code so lassen, wie er war. Wenn jemand mein Problem hat, wird er diesen Thread ergooglen und seine Lösung hier finden.

Viele Grüße,

7Seconds, der zwar qbankmanager bauen und seine Salden abrufen konnte, jedoch aus einem unerklärlichen Grund nicht überweisen kann...(Fehlermeldung)
Gewählte Zitate für Mehrfachzitierung:   0