Re: [GNC] Finance::Quote on a Mac with a foreign perl
On Sat Apr 27, 2024 at 21:13:22 Mr. Ralls wrote: I just remembered a third case that's probably the same problem: https://bugs.gnucash.org/show_bug.cgi?id=799195 complained that it took 15 minutes to install the F::Q dependencies and the attempt ultimately failed because SSLeay failed its unit tests. I concur. I also have some agreement with Mr. Williams who opened that bug. While I understand doing the quote retrieval natively in GnuCash would be problematic for how much they need to be changed (especially recently), I am at least slightly surprised there hasn't been an effort to replace F::Q with something written in Python or another language. macOS is macOS. They don't change anything for the hardware, not even the build: Everything in the OS is universal binaries with x86_64 snd arm64. It's possible that Xcode/command-line tools adds stuff to /System/Library/Perl/Extras, but the user said he has both installed. I've asked him about what year MBA and what version of macOS. Perhaps there's a clue there. I get the macOS is macOS thing. But I've ended up down too many rabbit holes because of assumptions that turned out wrong. I would find it odd that XCode would know to add stuff for Perl, but again, I don't want to assume it doesn't. As for XCode command line tools being installed, I would think if they were, then wouldn't the libssl header files that the user's cpan output indicated were missing *not* be missing? It's been a while since I installed Xcode and the extra XCode bits on either of the Macs in my possession. Take care sir. I think it's time for my scotch nightcap. ___ 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.
Re: [GNC] Finance::Quote on a Mac with a foreign perl
> On Apr 27, 2024, at 2:32 PM, Bruce Schuck wrote: > > On Fri Apr 26, 2024, at 12:07:04 EDT Mr Ralls wrote: > >> Here's an example of a failed session with Homebrew interference: >> https://paste.jvnv.net/view/CcsOd This comes from an IRC discussion at >> https://code.gnucash.org/logs/2024/04/16.html#T06:46:33. There >> was an earlier exchange with another longer dump that implicated >> Homebrew in which I told the user to clean it out but gncbot was >> apparently offline when that occurred and I don't have a link to it. >> In the dump you can see that the user is invoking gnc-fq-update and >> that it's running /usr/bin/perl. Later at line 97 you can see that >> /System/Library/Perl/Extras/5.34 is missing from @INC. That's where the >> pre-built networking modules are. > > John, > > That is indeed odd. I have two Macbook Pros. One Intel based running OSX > Catalina (It's a 2016 model), and a fairly new M1 running OSX Ventura. Both > have HomeBrew's Perl installed along side the Apple bundled Perl. "Perl -V" > does include "/System/Library/Perl/Extras/5.XX" on both (Catalina is 5.18, > Ventura is 5.30). "@INC" in Perl is compiled. Installation of the HomeBrew > Perl should in no way affect the value of @INC in the OSX bundled Perl. Most > people wanting to modify @INC do so by a number of ways. Setting PERL5LIB, > adding "-I" when executing Perl, or adding something like "use lib > '/home/foobar/code';" to the Perl code are some examples. > > As Vince showed, the HomeBrew Perl typically installs its modules under the > $HOME/perl5 path, or as I see on my Ventura Mac, /opt/homebrew/Cellar/. > > From the command line prompt in the session, it appears the user having the > issue is on a MacBook Air. I wonder if the included version of Perl is not > the same as what gets installed on a MacBook? > > I'd be curious to see the output of this find command from that user's Mac. > > find /Library/Perl /System/Library/Perl -path '*/Net/*' -type f -name > 'SSLeay.pm' > > Or more simply, does /System/Library/Perl/Extras exist on the user's MacBook > Air? > > That path may not be in the system Perl's @INC, because it's not part of the > Apple Perl package. Bruce, The user who made the log file is on IRC, handle englishman. I just pinged him about it. I have no info at all about the fellow who added the instruction to point openssl requests at Homebrew's libopenssl. I just remembered a third case that's probably the same problem: https://bugs.gnucash.org/show_bug.cgi?id=799195 complained that it took 15 minutes to install the F::Q dependencies and the attempt ultimately failed because SSLeay failed its unit tests. macOS is macOS. They don't change anything for the hardware, not even the build: Everything in the OS is universal binaries with x86_64 snd arm64. It's possible that Xcode/command-line tools adds stuff to /System/Library/Perl/Extras, but the user said he has both installed. I've asked him about what year MBA and what version of macOS. Perhaps there's a clue there. Regards, John Ralls ___ 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.
Re: [GNC] Finance::Quote on a Mac with a foreign perl
On Fri Apr 26, 2024, at 12:07:04 EDT Mr Ralls wrote: Here's an example of a failed session with Homebrew interference: https://paste.jvnv.net/view/CcsOd This comes from an IRC discussion at https://code.gnucash.org/logs/2024/04/16.html#T06:46:33. There was an earlier exchange with another longer dump that implicated Homebrew in which I told the user to clean it out but gncbot was apparently offline when that occurred and I don't have a link to it. In the dump you can see that the user is invoking gnc-fq-update and that it's running /usr/bin/perl. Later at line 97 you can see that /System/Library/Perl/Extras/5.34 is missing from @INC. That's where the pre-built networking modules are. John, That is indeed odd. I have two Macbook Pros. One Intel based running OSX Catalina (It's a 2016 model), and a fairly new M1 running OSX Ventura. Both have HomeBrew's Perl installed along side the Apple bundled Perl. "Perl -V" does include "/System/Library/Perl/Extras/5.XX" on both (Catalina is 5.18, Ventura is 5.30). "@INC" in Perl is compiled. Installation of the HomeBrew Perl should in no way affect the value of @INC in the OSX bundled Perl. Most people wanting to modify @INC do so by a number of ways. Setting PERL5LIB, adding "-I" when executing Perl, or adding something like "use lib '/home/foobar/code';" to the Perl code are some examples. As Vince showed, the HomeBrew Perl typically installs its modules under the $HOME/perl5 path, or as I see on my Ventura Mac, /opt/homebrew/Cellar/. From the command line prompt in the session, it appears the user having the issue is on a MacBook Air. I wonder if the included version of Perl is not the same as what gets installed on a MacBook? I'd be curious to see the output of this find command from that user's Mac. find /Library/Perl /System/Library/Perl -path '*/Net/*' -type f -name 'SSLeay.pm' Or more simply, does /System/Library/Perl/Extras exist on the user's MacBook Air? That path may not be in the system Perl's @INC, because it's not part of the Apple Perl package. Bruce S P.S. My older Intel based Mac actually has 3 separate Perls installed. The third being one built from source where the paths in @INC are all under /usr/local/bpsperl/. ___ 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.
Re: [GNC] Finance::Quote on a Mac with a foreign perl
On 27/4/2024 04:00, Adrien Monteleone wrote: I'm not familiar with @INC, but happy to learn. @INC is a Perl list of directories that are searched to find library modules for Perl module 'use' statements (and in other contexts where modules are imported). On Unixoid systems you can find out what's in @INC with the command: perl -e 'print join("\n", @INC), "\n"' perl -V will also print out @INC, as well as a lot of other Perl internal variables and settings. Peter ___ 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.
Re: [GNC] Finance::Quote on a Mac with a foreign perl
Adrien, @INC is the perl internal variable containing the search paths for locating included modules. I used that as a proxy for a modicum of expertise with managing a perl configuration. I wouldn't suggest that you go learn perl just to help with this problem. Regards, John Ralls > On Apr 26, 2024, at 11:00, Adrien Monteleone > wrote: > > John, > > I have Homebrew installed. > > I'm not familiar with @INC, but happy to learn. > > I just ran gnc-fq-update without issues. > > I still have the output from that update if you need it, or if you need > output from any other commands, just let me know. > > I'm still on GnuCash 5.5, my Perl is 5.30 and it appears to be at > /usr/bin/perl. > > Regards, > Adrien > > Regards, > Adrien > > On 4/25/24 9:15 PM, john wrote: >> Are there any Mac users who have Homebrew installed and know what @INC is? >> At least two users with the first problem but without knowing the second >> have gotten themselves cross-threaded trying to install Finance::Quote >> because Homebrew' screws up their perl installation so that cpan ignores the >> installed modules and since Homebrew doesn't (at least without help) provide >> SSLeay, Net::HTTPS, and IO::Sockets::SSL and macOS doesn't put OpenSSL's >> headers in /usr/include they have to perform all sorts of unnatural acts to >> get gnc-fq-update to work. >> We need some simple instructions for the wiki for how to work around the >> problem so that gnc-fq-update uses the system perl (that's after all the >> only one the app bundle can see, it doesn't read the user's shell >> environment) and gets the dependencies from /System/Library/Perl instead of >> trying to build them. > > ___ > 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. ___ 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.
Re: [GNC] Finance::Quote on a Mac with a foreign perl
John, I have Homebrew installed. I'm not familiar with @INC, but happy to learn. I just ran gnc-fq-update without issues. I still have the output from that update if you need it, or if you need output from any other commands, just let me know. I'm still on GnuCash 5.5, my Perl is 5.30 and it appears to be at /usr/bin/perl. Regards, Adrien Regards, Adrien On 4/25/24 9:15 PM, john wrote: Are there any Mac users who have Homebrew installed and know what @INC is? At least two users with the first problem but without knowing the second have gotten themselves cross-threaded trying to install Finance::Quote because Homebrew' screws up their perl installation so that cpan ignores the installed modules and since Homebrew doesn't (at least without help) provide SSLeay, Net::HTTPS, and IO::Sockets::SSL and macOS doesn't put OpenSSL's headers in /usr/include they have to perform all sorts of unnatural acts to get gnc-fq-update to work. We need some simple instructions for the wiki for how to work around the problem so that gnc-fq-update uses the system perl (that's after all the only one the app bundle can see, it doesn't read the user's shell environment) and gets the dependencies from /System/Library/Perl instead of trying to build them. ___ 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.
Re: [GNC] Finance::Quote on a Mac with a foreign perl
Vincent, Here's an example of a failed session with Homebrew interference: https://paste.jvnv.net/view/CcsOd This comes from an IRC discussion at https://code.gnucash.org/logs/2024/04/16.html#T06:46:33. There was an earlier exchange with another longer dump that implicated Homebrew in which I told the user to clean it out but gncbot was apparently offline when that occurred and I don't have a link to it. In the dump you can see that the user is invoking gnc-fq-update and that it's running /usr/bin/perl. Later at line 97 you can see that /System/Library/Perl/Extras/5.34 is missing from @INC. That's where the pre-built networking modules are. Another user supplied this ill-considered and reverted edit on the wiki pointing at the same problem: https://wiki.gnucash.org/wiki/index.php?title=Online_Quotes=22109=21974. That's pretty much all I've got. Regards, John Ralls > On Apr 25, 2024, at 20:11, Vincent Lucarelli > wrote: > > John, > > I run macOS and use Homebrew. How are the user’s running gnc-fq-update? From > a terminal, if you > >> cd /Applications/Gnucash.app/Contents/Resources/bin >> sudo ./gnc-fq-update > > it is going to use /usr/bin/perl from the #! line at the top of the script. > > But the script uses the perl CPAN module, so maybe there is something in > $HOME/.cpan that is causing trouble? > > To answer your actual question, I have > >> /usr/bin/perl -e 'print(join("\n", @INC));' > /Library/Perl/5.34/darwin-thread-multi-2level > /Library/Perl/5.34 > /Network/Library/Perl/5.34/darwin-thread-multi-2level > /Network/Library/Perl/5.34 > /Library/Perl/Updates/5.34.1 > /System/Library/Perl/5.34/darwin-thread-multi-2level > /System/Library/Perl/5.34 > /System/Library/Perl/Extras/5.34/darwin-thread-multi-2level > /System/Library/Perl/Extras/5.34 > > vs > >> which perl > /Users/acount/perl5/perlbrew/perls/perl-5.32.0/bin/perl > >> perl -e 'print(join("\n", @INC));' > /Users/acount/perl5/perlbrew/perls/perl-5.32.0/lib/site_perl/5.32.0/darwin-2level > /Users/acount/perl5/perlbrew/perls/perl-5.32.0/lib/site_perl/5.32.0 > /Users/acount/perl5/perlbrew/perls/perl-5.32.0/lib/5.32.0/darwin-2level > /Users/acount/perl5/perlbrew/perls/perl-5.32.0/lib/5.32.0 > > but - I’m not sure if there are other shell rc file changes that these users > might have that could alter this, or if there are brew installs that could > alter this as well. > > I’m happy to help sort this out, but need some more information about the > users’ issues. > > Best, > > Vince > > >> On Apr 25, 2024, at 7:15 PM, john wrote: >> >> Are there any Mac users who have Homebrew installed and know what @INC is? >> >> At least two users with the first problem but without knowing the second >> have gotten themselves cross-threaded trying to install Finance::Quote >> because Homebrew' screws up their perl installation so that cpan ignores the >> installed modules and since Homebrew doesn't (at least without help) provide >> SSLeay, Net::HTTPS, and IO::Sockets::SSL and macOS doesn't put OpenSSL's >> headers in /usr/include they have to perform all sorts of unnatural acts to >> get gnc-fq-update to work. >> >> We need some simple instructions for the wiki for how to work around the >> problem so that gnc-fq-update uses the system perl (that's after all the >> only one the app bundle can see, it doesn't read the user's shell >> environment) and gets the dependencies from /System/Library/Perl instead of >> trying to build them. >> >> Regards, >> John Ralls >> >> ___ >> 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. > ___ 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.
Re: [GNC] Finance::Quote on a Mac with a foreign perl
John, I run macOS and use Homebrew. How are the user’s running gnc-fq-update? From a terminal, if you > cd /Applications/Gnucash.app/Contents/Resources/bin > sudo ./gnc-fq-update it is going to use /usr/bin/perl from the #! line at the top of the script. But the script uses the perl CPAN module, so maybe there is something in $HOME/.cpan that is causing trouble? To answer your actual question, I have > /usr/bin/perl -e 'print(join("\n", @INC));' /Library/Perl/5.34/darwin-thread-multi-2level /Library/Perl/5.34 /Network/Library/Perl/5.34/darwin-thread-multi-2level /Network/Library/Perl/5.34 /Library/Perl/Updates/5.34.1 /System/Library/Perl/5.34/darwin-thread-multi-2level /System/Library/Perl/5.34 /System/Library/Perl/Extras/5.34/darwin-thread-multi-2level /System/Library/Perl/Extras/5.34 vs > which perl /Users/acount/perl5/perlbrew/perls/perl-5.32.0/bin/perl > perl -e 'print(join("\n", @INC));' /Users/acount/perl5/perlbrew/perls/perl-5.32.0/lib/site_perl/5.32.0/darwin-2level /Users/acount/perl5/perlbrew/perls/perl-5.32.0/lib/site_perl/5.32.0 /Users/acount/perl5/perlbrew/perls/perl-5.32.0/lib/5.32.0/darwin-2level /Users/acount/perl5/perlbrew/perls/perl-5.32.0/lib/5.32.0 but - I’m not sure if there are other shell rc file changes that these users might have that could alter this, or if there are brew installs that could alter this as well. I’m happy to help sort this out, but need some more information about the users’ issues. Best, Vince > On Apr 25, 2024, at 7:15 PM, john wrote: > > Are there any Mac users who have Homebrew installed and know what @INC is? > > At least two users with the first problem but without knowing the second have > gotten themselves cross-threaded trying to install Finance::Quote because > Homebrew' screws up their perl installation so that cpan ignores the > installed modules and since Homebrew doesn't (at least without help) provide > SSLeay, Net::HTTPS, and IO::Sockets::SSL and macOS doesn't put OpenSSL's > headers in /usr/include they have to perform all sorts of unnatural acts to > get gnc-fq-update to work. > > We need some simple instructions for the wiki for how to work around the > problem so that gnc-fq-update uses the system perl (that's after all the only > one the app bundle can see, it doesn't read the user's shell environment) and > gets the dependencies from /System/Library/Perl instead of trying to build > them. > > Regards, > John Ralls > > ___ > 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. ___ 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.