On 2023-12-24 10:25, john wrote:

On Dec 23, 2023, at 20:03, Jim DeLaHunt <list+gnuc...@jdlh.com> wrote:

...Then I launched the GnuCash application. Now, the "Get Quotes" button in the 
Price Database dialogue was active, and I could retrieve quotes successfully.

Yay!

Conclusions I tentatively draw from this experience:

1. GnuCash users on macOS with Apple Silicon must be careful to run
   gnc-fq-update with the arch -arch x86_64 qualifier.
2. gnc-fq-update fails to report at least some problems with Perl
   modules compiled for Apple Silicon, where the GnuCash application
   rejects the configuration.
3. When the GnuCash application rejects the configuration due to Perl
   modules compiled for Apple Silicon, neither the diagnostics printed
   by gnucash-cli nor the telemetry in the --debug log written by the
   GnuCash application mentions that Perl modules compiled for the
   wrong architecture are the problem.
4. It would be nice if the GnuCash + Finance::Quote system did not
   suffer from this fragility. But I understand that the root cause of
   the fragility is that WebKitGtk doesn't work when built for Apple
   Silicon, and that is not trivial to overcome.
5. The Online Quotes wiki page should get some information about the
   need to get Perl modules compiled for x86 architecture, but I don't
   think I know enough to write that information correctly.

Does that sound right?

Again, thank you for your help, John.
Jim,

...the parts that were actually causing the problem are 
/Library/Perl/5.30/darwin-thread-multi-2level/auto/DateTime/DateTime.bundle and 
JSON/Parse.bundle, the compiled C resources that the perl parts depend on...
Thank you for this information, John. It is way more than I know about how Perl modules work on multi-architecture aware macOS.
...GnuCash's perl scripts, finance-quote-wrapper and gnc-fq-update, are of 
necessity quite generic: They have to run on both Unix and Microsoft operating 
systems. Moreover perl itself doesn't report many errors in 
machine-interpretable form. It would be difficult to get the information that 
modules installed for the wrong architecture into a tracefile....

I see the problem. Yet I suspect that the Finance::Quote infrastructure is getting complex and error-prone enough that it is worth more attention.  I also suspect that this problem seems big to me because I just experienced it. It may now work for me, so that I may be able to ignore it for the next five years — and then the Finance::Quote infrastructure will seem elegant and reliable to me. :-)

One of my confusions was that "gnc-fq-update" said that the necessary modules were installed, while "gnucash-cli --quotes info" reported that one of the options was missing. How about having gnc-fq-update and gnucash-cli --quotes info both check not just what modules Perl say it has installed, but attempting to initialise Finance::Quote and retrieve a quote as well?  I suspect that in my case, the attempt to initialise Finance::Quote would have failed.  Then those diagnostics perhaps would have given me better information.

As for the wiki's Online Quotes page, are the year-old directions to prefix 
gnc-fq-update with arch -arch x86_64 on Apple Silicon macs not clear enough? 
What more should it say? Perhaps something about diagnosing a failed 
installation and the steps needed to repair it?

I did not see those instructions, because they were about 60% of the way through over 100kB of text, under a heading of "Installing Finance::Quote on macOS" <https://wiki.gnucash.org/wiki/Online_Quotes#Installing_Finance::Quote_on_macOS>, and my framing of the problem was that I was troubleshooting an installed and functional Finance::Quote deployment which stopped working when I upgraded the GnuCash application.

So, certainly making a reference to macOS architectures in the troubleshooting section would help. Refactoring that page into focussed parts much shorter than 100 kB would help also.

Thank you again for your helpful answers, your expertise, and your careful building of all this mostly-elegant and mostly-reliable infrastructure.

Best regards,
    —Jim DeLaHunt

_______________________________________________
gnucash-user mailing list
gnucash-user@gnucash.org
To update your subscription preferences or to unsubscribe:
https://lists.gnucash.org/mailman/listinfo/gnucash-user
-----
Please remember to CC this list on all your replies.
You can do this by using Reply-To-List or Reply-All.

Reply via email to