Gnucash 2.4.4.1/MacOS - chipcard import not available?

John Ralls jralls at ceridwen.us
Tue Mar 29 23:01:42 EDT 2011


On Mar 29, 2011, at 5:13 PM, Peter Sorowka wrote:

> 
> Am 30.03.2011 um 01:08 schrieb John Ralls:
> 
>> 
>> On Mar 29, 2011, at 2:44 PM, Peter Sorowka wrote:
>> 
>>> Am 29.03.2011 um 23:22 schrieb John Ralls:
>>> 
>>>> 
>>>> On Mar 29, 2011, at 1:39 PM, Peter Sorowka wrote:
>>>> 
>>>>> 
>>>>> Am 29.03.2011 um 18:10 schrieb John Ralls:
>>>>> 
>>>>>> 
>>>>>> On Mar 29, 2011, at 3:55 AM, Peter Sorowka wrote:
>>>>>> 
>>>>>>> Hello everybody,
>>>>>>> 
>>>>>>> i try to set-up online banking with chipcard/hbci under MacOS with Gnucash 2.4.4.1. As a card reader i juse a "ReinerSCT Cyberjack pinpad". All drivers are installed and according to pcsctest the reader is connected correctly. I am stuck at the following step: when trying to add the user in the aqbanking-setup, i click on type "chipcard" and immediatly the assistant disappears without any further options, warnings, errors. And of course, no user is added.
>>>>>>> I cannot see what happens behind the scenes, and have no idea where to look for a logfile entry that could tell me why aqbanking doesn't start to import the chipcard. Neither did i find any similar problem description in the manual or other lists.
>>>>>>> 
>>>>>>> Do i miss any software? Is the problem known?
>>>>>>> 
>>>>>>> Any idea appreciated!
>>>>>> 
>>>>>> Following up on David Reiser's suggestion, I've built libchipcard for you to test and attached a dmg with the new plugins.
>>>>>> 
>>>>>> Select Gnucash.app in Finder (you can't write to the one in the distribution dmg, so you'll need to do this on an installed app bundle) and select "Show package contents" from the context menu. In the new Finder window that opens, navigate to Contents:Resources:lib:gwenhywfar:plugins:60.
>>>>>> 
>>>>>> Open the dmg I've attached.
>>>>>> 
>>>>>> Drag the "ct" folder from the dmg to the 60 folder in the Contents finder window.
>>>>>> 
>>>>>> Close both, start Gnucash, and see try again with your chipcard. If it works, great. If it doesn't (and it crashed Gnucash when I tried it, but I don't have a chipcard reader), open a bug in Bugzilla against Gnucash:aqbanking and attach the relevant tail of your gnucash.trace. If it crashes, you'll find a crash report in (Your user dir):Library:Logs:DiagnosticReports; attach that to the bug report as well.
>>>>>> 
>>>>>> Regards,
>>>>>> John Ralls
>>>>>> 
>>>>>> <gwen_plugins.dmg>
>>>>> 
>>>>> Well this doesn't look to bad. No crash here, and instead of simply closing the dialog a log-window appears saying
>>>>> 
>>>>> Loading plugin "ddvcard"
>>>>> Could not load plugin "ddvcard"
>>>>> Loading plugin "starcoscard"
>>>>> Could not load plugin "starcoscard"
>>>>> Operation finished, you can now close this window
>>>>> 
>>>>> the assistent window hangs with a clicked "apply" button, though
>>>> 
>>>> Hmm. I should have looked harder for data files. In the Contents window described before, navigate to Contents:Resources:share, create a new folder "chipcard", and copy the three folders from the attached dmg into the new folder, then try again.
>>>> 
>>>> Regards,
>>>> John Ralls
>>>> 
>>>> <chipcard.dmg>
>>> 
>>> hm, no change here.
>>> 
>>> trace says:
>>> 
>>> * 23:38:09  CRIT <aqbanking> dlg_setup_newuser.c:  205: Adding dialog ah_choose_usertype
>>> * 23:38:09  CRIT <aqbanking> dlg_setup_newuser.c:  205: Adding dialog ab_usertype_pagedefault
>>> * 23:38:09  CRIT <aqbanking> dlg_setup_newuser.c:  205: Adding dialog ab_usertype_pagedefault
>>> * 23:38:09  CRIT <gwenhywfar> gtk2_gui_dialog.c:  225: Found active window found [AqBanking-Einrichtung]
>>> * 23:38:10  CRIT <> dlg_setup_newuser.c:  476: Activated: wiz_next_button
>>> * 23:38:10  CRIT <> dlg_setup_newuser.c:  427: Value of wiz_stack: 0
>>> * 23:38:10  CRIT <> dlg_setup_newuser.c:  430: First page
>>> * 23:38:11  CRIT <> dlg_setup_newuser.c:  476: Activated: wiz_next_button
>>> * 23:38:11  CRIT <> dlg_setup_newuser.c:  427: Value of wiz_stack: 1
>>> * 23:38:11  CRIT <> dlg_setup_newuser.c:  437: Backend page
>>> * 23:38:11  CRIT <> dlg_setup_newuser.c:  377: About to enter page 2
>>> * 23:38:13  CRIT <> dlg_setup_newuser.c:  476: Activated: wiz_next_button
>>> * 23:38:13  CRIT <> dlg_setup_newuser.c:  427: Value of wiz_stack: 2
>>> * 23:38:13  CRIT <> dlg_choose_usertype.c:  134: Setting selected type to 5
>>> * 23:38:13  CRIT <aqbanking> dlg_usertype_pagedefault.c:   90: fini called
>>> * 23:38:13  CRIT <aqbanking> dlg_usertype_pagedefault.c:   90: fini called
>>> * 23:38:13  CRIT <gwenhywfar> gtk2_gui_dialog.c:  225: Found active window found [Assistent für neue Benutzer]
>>> * 23:38:13  WARN <gwenhywfar> w_groupbox.c:   45: Function is not appropriate for this type of widget (groupBox)
>>> * 23:38:13  CRIT <gwenhywfar> plugin.c:  365: Plugin "ddvcard" not found.
>>> * 23:38:13  CRIT <gwenhywfar> plugin.c:  365: Plugin "starcoscard" not found.
>>> * 23:38:23  CRIT <aqbanking> banking_online.c:  795: here (-68)
>>> * 23:38:23  CRIT <aqhbci> provider.c: 1028: here (-68)
>>> 
>>> probably the share/chipcard is not the right place to put the files?
>>> 
>>> and by the way, is there any reason why i can start gnucash only once after i edited the package contents? second try doesn't open the program anymore (independent of usage of aqbanking!). that made testing kind of sophisticated :)
>> 
>> Well, share/chipcard is where they were in the installation directory.
>> 
>> Time for the next OSX troubleshooting lesson: Open Applications:Utilities:Console and type "gnucash" into the search box. There will be a bunch of messages; some of them are routine, but there may be some clues. In particular there should be something indicating why Gnucash failed to open the second time after you edited the bundle. Depending on how far it got, there might be some crash dumps in (YourDir):Library:Logs:DiagnosticReports. The Exception block, Application Specific Information, and the first 20-25 frames in the stack trace can be quite useful. (You can look at those in Console, too. Notice the black-and-orange box at the right end of the toolbar; if the list of logs isn't showing, click on it; from the list you can easily find the Diagnostic Reports section.)
>> 
>> Regards,
>> John Ralls
>> 
>> 
> 
> John,
> 
> by inspecting what you actually sent to me the following question arised for me: could it ever be sufficient to just copy two shared object files to a folder, shouldnt they be linked to the binary? i.e. shouldnt i replace much more files you generated after building libchipcard?

You're going to tutn into a programmer if you ask questions like that! ;-)

There are two kinds of shared library (in Windows and not-darwin Unix; darwin, better known as MacOSX or NeXTStep actually separates them into different kinds of library): linked (*.dylib in darwin) and loadable (*.so in darwin). A linked shared library is more-or-less (there's something called weak linking that provides the less version) required to be present to start the program. If a linked-shared library isn't available, the program will fail to start up. A loadable shared library (also called a loadable module) is installed in the program when it's needed by a function name "dlopen". A well written program will notice that a dlopen has failed, emit an error message, and get on with the rest of its business; if it's really well written, it will put up a nice informative message box explaining to the user what's gone wrong and what s/he should do about it. (A poorly written program will try and fail to load the module, do a lot of unrelated stuff taking quite some time, then try to dereference a pointer into the module that didn't actually get loaded and crash with either no message or a cryptic one leaving a stack trace that gives no indication of where it expected that pointer to point to. This is the preferred behavior of programs running on Microsoft Windows.)

The libraries I sent you in the first dmg are loadable modules, and libgwenhywfar is well enough written that it closes the affected dialog box and goes on about its business when it can't find them.

The second dmg contains data files that the loadable modules need. No compilation or linking is required of them.

I dug around some more and found yet another library you need. This one goes in Contents:Resources:lib. It's just one file, so I'm not wrapping it in a dmg. Just drag it. Maybe it will get the post-modification crash to work for you.

I dunno if we're closing in on this or not, but back to that crash: The logs don't go away, so you should be able to see what went on every time you ran Gnucash. The timestamps in the logs may be helpful for figuring out which run is which.

Regards,
John Ralls

-------------- next part --------------
A non-text attachment was scrubbed...
Name: libchipcard.6.dylib
Type: application/octet-stream
Size: 324772 bytes
Desc: not available
URL: <http://lists.gnucash.org/pipermail/gnucash-devel/attachments/20110329/091da256/attachment-0001.obj>


More information about the gnucash-devel mailing list