[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