[GNC] GnuCash on macOS Big Sur "Finance::Quote isn't installed properly"

John Ralls jralls at ceridwen.us
Sat Jan 23 17:55:19 EST 2021


Justin,

Following up, I've worked out that gnc-fq-check is quitting (not crashing, there's no crash report in Console) in the call to Finance::Quote->new(). The only artifact is a message in Console on the Mac Analytics page "perl getgroupcount called triggering group enumeration". If I turn on message streaming on the main console (the tab with the system name) I also get "perl5.28 Too many groups requested (2147483647). Can cause performance issues when network directories are involved."  4 times. That same number is given as the com.apple.message.value in the getgroupcount message and happens to be the signed int representation of 0x80000000.

Regards,
John Ralls

> On Jan 22, 2021, at 5:10 PM, John Ralls <jralls at ceridwen.us> wrote:
> 
> Justin,
> 
> To answer your earlier question, no, F::Q doesn't work for me either on my DTK. I hadn't actually even tried to install it. It took two passes through sudo gnc-fq-update to get a good install so that I could run gnc-fq-check successfully from terminal.
> I've been sticking print statements into price-quotes.scm and gnc-fq-check and looking at the results. It seems that there's something about the final printf in gnc-fq-check that chokes the guile read. I haven't figured out what yet and I'm out of time for today.
> 
> But you've confirmed my suspicion about having a non-Apple-supplied perl. That will never work with the bundle launched from Finder because your shell environment, which includes the path to the Homebrew-installed perl, isn't read when launching an app bundle from Finder. You may be able to get it to work from the terminal that way.
> 
> Regards,
> John Ralls
> 
> 
> 
>> On Jan 22, 2021, at 4:48 PM, Justin via gnucash-user <gnucash-user at gnucash.org> wrote:
>> 
>> So... it doesn't actually work quite yet, but GnuCash does recognize it. Attempting to get quotes via the GnuCash-cli program results in a "unable to retrieve quotes for these items" message, followed by all of my securities.
>> 
>> The following will not work. It shows a bunch of missing dependency errors. This is because I installed F::Q manually, and its dependencies were not installed.
>> 
>>> echo '(yahoo_json "FSKAX")' | perl -w gnc-fq-helper
>> 
>> So I reinstalled perl (and wiped all of the modules). Then tried to install F::Q via the Perl shell. If I do:
>> 
>>> sudo perl -MCPAN -e shell
>>>> install Finance::Quote
>> 
>> It will fail with the following error messages:
>> 
>>> Result: PASS
>>> 
>> 
>>> ECOCODE/Finance-Quote-1.49.tar.gz
>>> 
>> 
>>> Tests succeeded but one dependency not OK (LWP::Protocol::https)
>>> 
>> 
>>> ECOCODE/Finance-Quote-1.49.tar.gz
>>> 
>> 
>>> [dependencies] -- NA
>>> 
>> 
>>> Failed during this command:
>>> 
>> 
>>> CHRISN/Net-SSLeay-1.90.tar.gz : make NO
>>> 
>> 
>>> SULLR/IO-Socket-SSL-2.068.tar.gz  : make_test NO one dependency not OK (Net::SSLeay); additionally test harness failed
>>> 
>> 
>>> OALDERS/LWP-Protocol-https-6.10.tar.gz  : make_test NO 2 dependencies missing (IO::Socket::SSL,IO::Socket::SSL::Utils); additionally test harness failed
>>> 
>> 
>>> ECOCODE/Finance-Quote-1.49.tar.gz : make_test NO one dependency not OK (LWP::Protocol::https)
>> 
>> Net::SSLeay fails because it cannot find the "openssl/err.h" header. I've installed openssl (with brew) and added the include directory to $LIBRARY_PATH, but it still doesn't find it. This is the root of the problem. I'm pretty sure if Net::SSLeay could be installed, everything else would fall in place. If anyone knows how to get this working, please let me know. I'll probably spend a little more time trying to figure it out tomorrow.
>> 
>> Regards,
>> Justin
>> 
>> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
>> On Friday, January 22nd, 2021 at 5:17 PM, Justin <jtraglia at pm.me> wrote:
>> 
>>> Woo. I've made progress. So I manually installed the latest F::Q from there GitHub release (following their instructions):
>>> https://github.com/finance-quote/finance-quote/releases/tag/v1.50-rc.1
>>> 
>> 
>>> This fixes the issue with running "perl -w gnc-fq-check" (and prints F::Q v1.50) that I mentioned in the last email. But if I run "gnc-fq-check" by itself, it still prints F::Q v1.49.
>>> 
>> 
>>> Next, I tried running GnuCash from the ApplicationLauncher (or whatever it's called) but alas, F::Q didn't work. Then, I tried running GnuCash from the terminal. This **does** work! The GUI application shows F::Q v1.50.
>>> 
>> 
>>> I'm going to mess around with it a little more. I'm unsure why there's a discrepancy.
>>> 
>> 
>>> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
>>> On Friday, January 22nd, 2021 at 5:07 PM, Justin <jtraglia at pm.me> wrote:
>>> 
>> 
>>>> Alright. I think I might have found part of the issue. 
>>>> 
>> 
>>>> According to this line in GnuCash source, gnc-fq-check is run as an argument to perl:
>>>> https://github.com/Gnucash/gnucash/blob/maint/gnucash/price-quotes.scm#L47
>>>> 
>> 
>>>> So I tried that out and it says F::Q is not installed.
>>>> 
>> 
>>>>> $ perl -w gnc-fq-check
>>>>> You need to install the following Perl modules:
>>>>>  Finance::Quote
>>>>> Use your system's package manager to install them,
>>>>> or run 'gnc-fq-update' as root.
>>>>> missing-lib
>>>> 
>> 
>>>> So I re-run what it says, but it doesn't make a difference:
>>>> 
>> 
>>>>> $ sudo ./gnc-fq-update
>>>>> Password:
>>>>> Reading '/Users/jtraglia/.cpan/Metadata'
>>>>>  Database was generated on Fri, 22 Jan 2021 00:41:03 GMT
>>>>> Date::Manip is up to date (6.83).
>>>>> Finance::Quote is up to date (1.49).
>>>> 
>> 
>>>> Lemme try installing F::Q another way.
>>>> 
>> 
>>>> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
>>>> On Friday, January 22nd, 2021 at 4:41 PM, Justin <jtraglia at pm.me> wrote:
>>>> 
>> 
>>>>> John, sorry I forgot to check if launching GnuCash from the terminal makes a difference. F::Q does not work if I run GnuCash from the terminal. Good idea though.
>>>>> 
>> 
>>>>> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
>>>>> On Friday, January 22nd, 2021 at 4:38 PM, David H <hellvee at gmail.com> wrote:
>>>>> 
>> 
>>>>>> I think that's what John meant in the second message he posted in this thread re running under Rosetta2 .....
>>>>>> 
>> 
>>>>>>>> BigSur absolutely is supported. What's not yet available yet is a native build for Apple Silicon, but I've found so far that the Intel build of GnuCash works fine with Rosetta2.
>>>>>> 
>> 
>>>>>>>> The BigSur upgrade seems to have messed up perl; I had to reinstall F::Q to get it working after I upgraded, but one could also set $PERL5LIB in the environment to include
>>>>>>>>  the old /Library/perl/5.18 as a workaround. If you did that in a shell rc file it would make gnc-fq-helper work from terminal but not from GnuCash when run from LaunchServices.
>>>>>> 
>> 
>>>>>>>> Does F::Q work when starting GnuCash from the terminal?
>>>>>> 
>> 
>>>>>>>>  Regards,
>>>>>>>> John Ralls 
>>>>>> 
>> 
>>>>>> Cheers David H.
>>>>>> 
>>>>>> 
>> 
>>>>>> On Sat, 23 Jan 2021 at 07:54, Chris Graves <mohavebaked at gmail.com> wrote:
>>>>>> 
>> 
>>>>>>> John Ralls, have you had success running F::Q on an M1 Mac (I seem to recall that you had a dev kit)?
>>>>>>> 
>> 
>>>>>>>> On Jan 22, 2021, at 1:11 PM, Justin <jtraglia at pm.me> wrote:
>>>>>>>> 
>>>>>>>> Chris, this did not fix my issue.
>>>>>>>> 
>>>>>>>> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
>>>>>>>> 
>>>>>>>> On Friday, January 22nd, 2021 at 9:17 AM, Chris Graves <mohavebaked at gmail.com> wrote:
>>>>>>>> 
>>>>>>>>> I reinstalled (on my Intel Mac) by running:
>>>>>>>>> 
>>>>>>>> 
>>>>>>>>> /Applications/Gnucash.app/Contents/Resources/bin/gnc-fq-update
>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>> On Jan 21, 2021, at 5:43 PM, Justin jtraglia at pm.me wrote:
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>> Hello all, thank you for replying. I'm new to this email list.
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>> Dave, I do have an M1 Mac. Maybe that's part of the problem.
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>> Chris, how do you reinstall F::Q? The "perl -MCPAN -e shell" doesn't have an uninstall option. I did manually upgrade F::Q though, no change. Gnucash-cli still thinks it's installed improperly.
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>> Thanks,
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>> Justin
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>> On Thursday, January 21st, 2021 at 7:05 PM, davelist at mac.com wrote:
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>> Chris, do you have an M1 or Intel Mac?
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>>> On Jan 21, 2021, at 6:02 PM, Chris Graves mohavebaked at gmail.com wrote:
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>>> Just another point of information, I had the same issue, but it was resolved after reinstalling F::Q as John mentions below.
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>>>> On Jan 21, 2021, at 2:38 PM, davelist--- via gnucash-user gnucash-user at gnucash.org wrote:
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>>>>> On Jan 21, 2021, at 12:12 PM, John Ralls jralls at ceridwen.us wrote:
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>>>>>> On Jan 19, 2021, at 8:32 PM, Justin via gnucash-user gnucash-user at gnucash.org wrote:
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>>>>>> Hello everyone,
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>>>>>> I have an issue with GnuCash (4.4) and Finance::Quote (1.49) on macOS Big Sur (11.0). Despite not being officially supported, GnuCash itself works great, with the exception of Finance::Quote. The "get quotes" button in the Price Database is grayed out and the Security Editor has the warning "Finance::Quote isn't installed properly." When running Gnucash-cli, there is a similar error:
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>>>>>>> $ /Applications/Gnucash.app/Contents/MacOS/Gnucash-cli --quotes get /Users/username/Documents/Finances/Tracking/finances.gnucash --debug
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>>>>>>> Application Path /Applications/Gnucash.app/Contents/MacOS/Gnucash-cli
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>>>>>>> (process:2277): gnc.gui-WARNING **: 22:01:17.540: [mac_set_languages()] Language list: en:en_US:C
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>>>>>>> -   22:01:17 INFO <gnc.backend.dbi> [gnc_module_init_backend_dbi] 3 DBD drivers found
>>>>>>>>>>>>>>>> -   22:01:17 INFO <gnc.backend.dbi> [gnc_module_init_backend_dbi] Driver: pgsql
>>>>>>>>>>>>>>>> -   22:01:17 INFO <gnc.backend.dbi> [gnc_module_init_backend_dbi] Driver: sqlite3
>>>>>>>>>>>>>>>> -   22:01:17 INFO <gnc.backend.dbi> [gnc_module_init_backend_dbi] Driver: mysql
>>>>>>>>>>>>>>>> -   22:01:17 INFO <gnc.gui> [Gnucash::CoreApp::start] System locale returned (null)
>>>>>>>>>>>>>>>> -   22:01:17 INFO <gnc.gui> [Gnucash::CoreApp::start] Effective locale set to en_US.UTF-8.
>>>>>>>>>>>>>>>> -   22:01:17 INFO <gnc.app-utils.gsettings> [gnc_gsettings_register_cb] schema: general, key: retain-days, settings_ptr: 0x7fde7e839430, handler_id: 1
>>>>>>>>>>>>>>>> -   22:01:17 INFO <gnc.app-utils.gsettings> [gnc_gsettings_register_cb] schema: general, key: retain-type-never, settings_ptr: 0x7fde7e839430, handler_id: 2
>>>>>>>>>>>>>>>> -   22:01:17 INFO <gnc.app-utils.gsettings> [gnc_gsettings_register_cb] schema: general, key: retain-type-days, settings_ptr: 0x7fde7e839430, handler_id: 3
>>>>>>>>>>>>>>>> -   22:01:17 INFO <gnc.app-utils.gsettings> [gnc_gsettings_register_cb] schema: general, key: retain-type-forever, settings_ptr: 0x7fde7e839430, handler_id: 4
>>>>>>>>>>>>>>>> -   22:01:17 INFO <gnc.app-utils.gsettings> [gnc_gsettings_register_cb] schema: general, key: file-compression, settings_ptr: 0x7fde7e839430, handler_id: 5
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>>>>>>> No quotes retrieved. Finance::Quote isn't installed properly.
>>>>>>>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>>>>>>> -   22:01:17 INFO <gnc.engine> [gnc_hook_lookup] no hook lists
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>>>>>> The error message above isn't particularly useful. It gets printed here:
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>>>>>> https://github.com/Gnucash/gnucash/blob/1e7433daf3307fb3e6ff6d479aacb22d42941fda/gnucash/gnucash-commands.cpp#L91
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>>>>>> I'm pretty sure that Finance::Quote itself is installed properly. I'm not really sure why GnuCash does not recognize it.
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>>>>>>> $ sudo gnc-fq-update
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>>>>>>> Reading '/Users/username/.cpan/Metadata'
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>>>>>>> Database was generated on Wed, 20 Jan 2021 02:29:03 GMT
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>>>>>>> Date::Manip is up to date (6.83).
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>>>>>>> Finance::Quote is up to date (1.49).
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>>>>>> A basic query shows that it does work:
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>>>>>>> $ echo '(yahoo_json "CSCO")' | /Applications/Gnucash.app/Contents/Resources/bin/gnc-fq-helper
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>>>>>>> (("CSCO" (symbol . "CSCO") (gnc:time-no-zone . "2021-01-19 12:00:00") (last . #e45.19) (currency . "USD")))
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>>>>> BigSur absolutely is supported. What's not yet available yet is a native build for Apple Silicon, but I've found so far that the Intel build of GnuCash works fine with Rosetta2.
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>>>>> The BigSur upgrade seems to have messed up perl; I had to reinstall F::Q to get it working after I upgraded, but one could also set $PERL5LIB in the environment to include the old /Library/perl/5.18 as a workaround. If you did that in a shell rc file it would make gnc-fq-helper work from terminal but not from GnuCash when run from LaunchServices.
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>>>>> Does F::Q work when starting GnuCash from the terminal?
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>>>>> Regards,
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>>>>> John Ralls
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>>>> I can confirm the same issue - quotes work from the command line (after re-installing finance quote) but in gnucash, the "get quotes" button is disabled. I am running this on an M1 Mac (so obviously Big Sur). My old Mac (where quotes work) is running Catalina (and the M1 Mac was set up from a Time Machine backup of the old Maco) so I don't know if it's a M1 issue or a Big Sur issue.
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>>>> Justin, are you using an M1 Mac?
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>>>> Thanks,
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>>>> Dave
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>>>> gnucash-user mailing list
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>>>> gnucash-user at gnucash.org
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>>>> To update your subscription preferences or to unsubscribe:
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>>>> https://lists.gnucash.org/mailman/listinfo/gnucash-user
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>>>> If you are using Nabble or Gmane, please see https://wiki.gnucash.org/wiki/Mailing_Lists for more information.
>>>>>>>>>>>>> --------------------------------------------------------------------------------------------------------------
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>>>> Please remember to CC this list on all your replies.
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>>>> You can do this by using Reply-To-List or Reply-All.
>>>>>>>>>>>>> 
>>>>>>>> 
>>>>>>>>>>>>> <publickey - jtraglia at pm.me - 0x04DB65EA.asc>
>>>>>>>> <publickey - jtraglia at pm.me - 0x04DB65EA.asc>
>>>>>>> 
>> 
>>>>>>> _______________________________________________
>>>>>>> gnucash-user mailing list
>>>>>>> gnucash-user at gnucash.org
>>>>>>> To update your subscription preferences or to unsubscribe:
>>>>>>> https://lists.gnucash.org/mailman/listinfo/gnucash-user
>>>>>>> If you are using Nabble or Gmane, please see https://wiki.gnucash.org/wiki/Mailing_Lists for more information.
>>>>>>> -----
>>>>>>> Please remember to CC this list on all your replies.
>>>>>>> You can do this by using Reply-To-List or Reply-All.
>> <publickey - jtraglia at pm.me - 0x04DB65EA.asc>_______________________________________________
>> gnucash-user mailing list
>> gnucash-user at gnucash.org
>> To update your subscription preferences or to unsubscribe:
>> https://lists.gnucash.org/mailman/listinfo/gnucash-user
>> If you are using Nabble or Gmane, please see https://wiki.gnucash.org/wiki/Mailing_Lists for more information.
>> -----
>> Please remember to CC this list on all your replies.
>> You can do this by using Reply-To-List or Reply-All.
> 
> _______________________________________________
> gnucash-user mailing list
> gnucash-user at gnucash.org
> To update your subscription preferences or to unsubscribe:
> https://lists.gnucash.org/mailman/listinfo/gnucash-user
> If you are using Nabble or Gmane, please see https://wiki.gnucash.org/wiki/Mailing_Lists for more information.
> -----
> Please remember to CC this list on all your replies.
> You can do this by using Reply-To-List or Reply-All.



More information about the gnucash-user mailing list