[GNC] gnucash-cli says, "No quotes retrieved. Finance::Quote isn't installed properly" on macOS

Jim DeLaHunt list+gnucash at jdlh.com
Sat Jun 12 21:31:41 EDT 2021


On 2021-06-12 09:13, John Ralls wrote:

>> On Jun 12, 2021, at 12:22 AM, Jim DeLaHunt <list+gnucash at jdlh.com> wrote:
>>
>> OK, I can understand that the MacPorts installation of perl may be configured to look for perl packages in MacPorts locations, and ignore the system locations. But I don't understand wny the GUI app of GnuCash apparently can find Finance::Quote when run from the GUI, but the gnucash-cli app apparently cannot. What is different?
> Because applications started by LaunchServices don't get the environment from your shell's startup files. That means GnuCash is running /usr/bin/perl, not /opt/local/bin/perl but when you run a program from Terminal the environment is read so gnucash-cli runs /opt/local/bin/perl.

Thank you, John, this explanation is very helpful. I can understand that 
the GnuCash GUI and the gnucash-cli experience different environments, 
especially different $PATH values, because the OS invokes them in 
different environments.

But I find it very confusing to have gnucash-cli be presented as an 
integral part of GnuCash, and all the references to a singular action of 
"update Finance::Quote on the system", then have gnucash-cli behave 
differently and require a different installation of Finance::Quote than 
the GnuCash GUI.

It seems to me that if both gnucash-cli and the GnuCash GUI would invoke 
the perl executable at an absolute path, then they would have consistent 
behaviour. Thus I wonder why GnuCash lets the environment find the perl 
executable.

I have filed Bug 798209, "gnucash-cli might not use the same perl and 
Finance::Quote as GnuCash GUI", 
<https://bugs.gnucash.org/show_bug.cgi?id=798209> , to track this.

My workaround as a MacPorts user: install Finance::Quote into the 
MacPorts perl environment:

```
% port install p5-finance-quote
````

    —Jim DeLaHunt



More information about the gnucash-user mailing list