[GNC] Can't download stock prices
John Ralls
jralls at ceridwen.us
Wed May 22 00:14:37 EDT 2024
Ernie,
You probably built it for the wrong architecture. GnuCash is x86_64 so all of the perl modules that aren’t pure perl need to be multi-architecture. See https://wiki.gnucash.org/wiki/Online_Quotes#Installing_Finance::Quote_on_macOS_from_a_Terminal_prompt for an explanation.
Regards,
John Ralls
> On May 21, 2024, at 19:16, Ernie Wakamatsu <etwakaoz at gmail.com> wrote:
>
> HI John and Gnucash Supporters,
>
> I was afraid you were going to say that. As far as I can tell, I have JSON::Parse installed, but gnucash-cli is not finding it.
>
> Ernie-Mac-mini% cpan JSON::Parse
> Loading internal logger. Log::Log4perl recommended for better logging
> Reading '/Users/Ernie_1/.cpan/Metadata'
> Database was generated on Tue, 21 May 2024 02:17:02 GMT
> JSON::Parse is up to date (0.62).
> Ernie-Mac-mini% /Applications/Gnucash.app/Contents/MacOS/gnucash-cli -Q info
> Application Path /Applications/Gnucash.app/Contents/MacOS/gnucash-cli
> Failed to initialize Finance::Quote: missing_modules JSON::Parse
>
> Sorry to keep troubling you.
>
> Reards,
> Ernie
> Just an old FORTRAN programmer
>
>
>> On 22 May 2024, at 1:48 AM, John Ralls <jralls at ceridwen.us> wrote:
>>
>> Depends on the bug. Just like every other development team they have more bugs than engineers so they have to prioritize. Some things get fixed quickly, others take a while, and some never get attention. I don’t know who maintains the libc that Apple uses. If it’s FreeBSD then they won’t consider it a bug because their file systems are case sensitive.
>>
>> As for what to do, that should be obvious: Spell the path correctly, where spell includes case.
>> You also need to run gnc-update-fq again to get JSON::Parse installed.
>>
>> Regards,
>> John Ralls
>>
>>> On May 20, 2024, at 22:00, Ernie Wakamatsu <etwakaoz at gmail.com> wrote:
>>>
>>> One could hope Apple will fix bugs in a timely manner :-p.
>>>
>>> So what should I do to workaround this bug or am I hosed?
>>>
>>> Ernie
>>>
>>>
>>>> On 21 May 2024, at 1:21 PM, John Ralls <jralls at ceridwen.us> wrote:
>>>>
>>>> Hah! I didn’t even notice that. It’s pretty funny.
>>>>
>>>> The *file system* is by default case-preserving, meaning that you can create either macOS or MacOS but not both; preserving means that it will keep whichever one you create first. The shell is too, though Bash completion is case-sensitive. Apparently dlopen is case-sensitive too: when we call `dlopen(/Applications/Gnucash.app/Contents/macOS/lib/gnucash/libgncmod-backend-dbi.dylib, 0x0009)` it fails to find the file. You can see this yourself by running
>>>> /Applications/Gnucash.app/Contents/macOS/gnucash-cli --debug —logto=stdout -Q info
>>>> It’s in the first line of output.
>>>>
>>>> I’m going to file a bug with Apple on that if it’s still true when the first macOS 15 developer beta comes out in 3 weeks. Maybe they’ll fix it.
>>>>
>>>> Regards,
>>>> John Ralls
>>>>
>>>>
>>>>> On May 20, 2024, at 18:07, Ernie Wakamatsu <etwakaoz at gmail.com> wrote:
>>>>>
>>>>> Very strange. I get two results.
>>>>>
>>>>> First, following your instructions, by coping and pasting
>>>>> Ernie at Ernie-Mac-mini contents % zsh -df
>>>>> Ernie-Mac-mini% /Applications/Gnucash.app/Contents/MacOS/gnucash-cli -Q info
>>>>> Application Path /Applications/Gnucash.app/Contents/MacOS/gnucash-cli
>>>>> Failed to initialize Finance::Quote: missing_modules JSON::Parse
>>>>>
>>>>> But when I type in the command line:
>>>>>
>>>>> Ernie-Mac-mini% /Applications/Gnucash.app/Contents/macOS/gnucash-cli -Q info
>>>>> Application Path /Applications/Gnucash.app/Contents/macOS/gnucash-cli
>>>>> * 11:01:28 WARN <gnc.engine> failed to load gncmod-backend-dbi from relative path
>>>>> * 11:01:28 ERROR <gnc.engine> required library gncmod-backend-dbi not found.
>>>>> * 11:01:28 WARN <gnc.engine> failed to load gncmod-backend-xml from relative path
>>>>> * 11:01:28 ERROR <gnc.engine> required library gncmod-backend-xml not found.
>>>>> * 11:01:28 ERROR <GLib-GIO> g_settings_schema_source_lookup: assertion 'source != NULL' failed
>>>>> * 11:01:28 ERROR <GLib-GIO> g_settings_new_full: assertion 'schema != NULL' failed
>>>>> * 11:01:28 WARN <gnc.app-utils.gsettings> [gnc_gsettings_get_settings_obj()] Ignoring attempt to access unknown gsettings schema org.gnucash.GnuCash.general
>>>>> zsh: segmentation fault /Applications/Gnucash.app/Contents/macOS/gnucash-cli -Q info
>>>>>
>>>>> The two command lines are seemingly the same, but the difference is macOS and MacOS. I thought the shell was not case sensitive. hmmmm The behavior is the same when I exit from the default shell.
>>>>>
>>>>> I did check the directory and it is MacOS.
>>>>>
>>>>> Ernie-Mac-mini% cd /Applications/Gnucash.app/Contents
>>>>> Ernie-Mac-mini% ls
>>>>> Info.plist MacOS PkgInfo Resources _CodeSignature
>>>>> Ernie-Mac-mini%
>>>>>
>>>>> Odd that it would behave differently.
>>>>>
>>>>> Thoughts?
>>>>>
>>>>> Ernie
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>> On 21 May 2024, at 2:50 AM, John Ralls <jralls at ceridwen.us> wrote:
>>>>>>
>>>>>> Ernie,
>>>>>>
>>>>>> The double slash is present in my output too, and it’s harmless.
>>>>>>
>>>>>> That shows that the app bundle is complete and uncorrupted. Something is getting in the way of dlopen finding those two libraries.
>>>>>>
>>>>>> Try getting a purely default shell environment by running
>>>>>> zsh -df
>>>>>> That opens a new sub shell with no environment variables set and ignoring all of your zsh config files. You can quit back to your regular shell with <control>d, but first try running
>>>>>> /Applications/Gnucash.app/Contents/MacOS/gnucash-cli -Q info
>>>>>>
>>>>>> Regards,
>>>>>> John Ralls
>>>>>>
>>>>>>> On May 19, 2024, at 22:22, Ernie Wakamatsu <etwakaoz at gmail.com> wrote:
>>>>>>>
>>>>>>> Thanks John,
>>>>>>>
>>>>>>> I ran the below commands and this is what I got.
>>>>>>>
>>>>>>> Ernie at Ernie-Mac-mini contents % spctl --assess -vv /applications/gnucash.app
>>>>>>> /applications/gnucash.app: accepted
>>>>>>> source=Notarized Developer ID
>>>>>>> origin=Developer ID Application: John D Ralls (Y9EHT5WMK7)
>>>>>>> Ernie at Ernie-Mac-mini contents % otool -L /Applications/Gnucash.app/Contents/Resources/lib/gnucash/libgncmod-backend-dbi.dylib
>>>>>>> /Applications/Gnucash.app/Contents/Resources/lib/gnucash/libgncmod-backend-dbi.dylib:
>>>>>>> @executable_path/../Resources//lib/gnucash/libgncmod-backend-dbi.dylib (compatibility version 0.0.0, current version 0.0.0)
>>>>>>> @executable_path/../Resources/lib/libgnc-backend-sql.dylib (compatibility version 0.0.0, current version 0.0.0)
>>>>>>> @executable_path/../Resources/lib/libgnc-engine.dylib (compatibility version 0.0.0, current version 0.0.0)
>>>>>>> @executable_path/../Resources/lib/libdbi.3.dylib (compatibility version 4.0.0, current version 4.0.0)
>>>>>>> @executable_path/../Resources/lib/libgnc-core-utils.dylib (compatibility version 0.0.0, current version 0.0.0)
>>>>>>> @executable_path/../Resources/lib/libboost_regex.dylib (compatibility version 0.0.0, current version 0.0.0)
>>>>>>> @executable_path/../Resources/lib/libboost_date_time.dylib (compatibility version 0.0.0, current version 0.0.0)
>>>>>>> @executable_path/../Resources/lib/libicui18n.73.dylib (compatibility version 73.0.0, current version 73.2.0)
>>>>>>> @executable_path/../Resources/lib/libicuuc.73.dylib (compatibility version 73.0.0, current version 73.2.0)
>>>>>>> @executable_path/../Resources/lib/libicudata.73.dylib (compatibility version 73.0.0, current version 73.2.0)
>>>>>>> @executable_path/../Resources/lib/libgmodule-2.0.0.dylib (compatibility version 7601.0.0, current version 7601.3.0)
>>>>>>> @executable_path/../Resources/lib/libglib-2.0.0.dylib (compatibility version 7601.0.0, current version 7601.3.0)
>>>>>>> @executable_path/../Resources/lib/libintl.8.dylib (compatibility version 13.0.0, current version 13.0.0)
>>>>>>> @executable_path/../Resources/lib/libgobject-2.0.0.dylib (compatibility version 7601.0.0, current version 7601.3.0)
>>>>>>> /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 1300.36.0)
>>>>>>> /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1319.0.0)
>>>>>>> Ernie at Ernie-Mac-mini contents %
>>>>>>>
>>>>>>> Compared to your output, the only difference I can find is in the first line where I have a double slash:
>>>>>>>
>>>>>>> @executable_path/../Resources//lib/gnucash/libgncmod-backend-dbi.dylib (compatibility version 0.0.0, current version 0.0.0)
>>>>>>>
>>>>>>> Just eyeballing, everything else looks the same. Could this double slash be causing me troubles?
>>>>>>>
>>>>>>> Ernie
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>> On 20 May 2024, at 1:52 PM, John Ralls <jralls at ceridwen.us> wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>> On May 19, 2024, at 18:03, Ernie Wakamatsu <etwakaoz at gmail.com> wrote:
>>>>>>>>>
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> First time user of this mailing list and just starting to use gnucash. Been transferring information over from Quicken and I am getting things close to the way I would like.
>>>>>>>>>
>>>>>>>>> I am trying to download stock prices, but getting the following errors.
>>>>>>>>>
>>>>>>>>> Ernie at Ernie-Mac-mini ~ % /Applications/Gnucash.app/Contents/macOS/gnucash-cli -Q info
>>>>>>>>> Application Path /Applications/Gnucash.app/Contents/macOS/gnucash-cli
>>>>>>>>> * 11:59:02 WARN <gnc.engine> failed to load gncmod-backend-dbi from relative path
>>>>>>>>> * 11:59:02 ERROR <gnc.engine> required library gncmod-backend-dbi not found.
>>>>>>>>> * 11:59:02 WARN <gnc.engine> failed to load gncmod-backend-xml from relative path
>>>>>>>>> * 11:59:02 ERROR <gnc.engine> required library gncmod-backend-xml not found.
>>>>>>>>> * 11:59:02 ERROR <GLib-GIO> g_settings_schema_source_lookup: assertion 'source != NULL' failed
>>>>>>>>> * 11:59:02 ERROR <GLib-GIO> g_settings_new_full: assertion 'schema != NULL' failed
>>>>>>>>> * 11:59:02 WARN <gnc.app-utils.gsettings> [gnc_gsettings_get_settings_obj()] Ignoring attempt to access unknown gsettings schema org.gnucash.GnuCash.general
>>>>>>>>> zsh: segmentation fault /Applications/Gnucash.app/Contents/macOS/gnucash-cli -Q info
>>>>>>>>> Ernie at Ernie-Mac-mini ~ %
>>>>>>>>>
>>>>>>>>> As you can tell, I am on a Mac Mini running Sonoma 14.4.1 (latest?). Looks like I may be missing some files. Tried the wiki and other search engines but not finding any answers. How can I resolve the above?
>>>>>>>>>
>>>>>>>>> Thanks in advance for any assistance.
>>>>>>>>
>>>>>>>> Not quite the latest macOS version, 14.5 dropped last week. That’s unlikely to matter.
>>>>>>>>
>>>>>>>> The two files that it can’t find, libgncmon-backend-dbi.dylib and libgncmod-backend-xml.dylib, should be in /Applications/Gnucash.app/Contents/Rsources/lib/gnucash. If you have Xcode or Xcode command line tools installed and they’re present you can run e.g.
>>>>>>>> otool -L /Applications/Gnucash.app/Contents/Resources/lib/gnucash/libgncmod-backend-dbi.dylib
>>>>>>>> The output should be
>>>>>>>> Applications/Gnucash.app/Contents/Resources/lib/gnucash/libgncmod-backend-dbi.dylib:
>>>>>>>> @executable_path/../Resources//lib/gnucash/libgncmod-backend-dbi.dylib (compatibility version 0.0.0, current version 0.0.0)
>>>>>>>> @executable_path/../Resources/lib/libgnc-backend-sql.dylib (compatibility version 0.0.0, current version 0.0.0)
>>>>>>>> @executable_path/../Resources/lib/libgnc-engine.dylib (compatibility version 0.0.0, current version 0.0.0)
>>>>>>>> @executable_path/../Resources/lib/libdbi.3.dylib (compatibility version 4.0.0, current version 4.0.0)
>>>>>>>> @executable_path/../Resources/lib/libgnc-core-utils.dylib (compatibility version 0.0.0, current version 0.0.0)
>>>>>>>> @executable_path/../Resources/lib/libboost_regex.dylib (compatibility version 0.0.0, current version 0.0.0)
>>>>>>>> @executable_path/../Resources/lib/libboost_date_time.dylib (compatibility version 0.0.0, current version 0.0.0)
>>>>>>>> @executable_path/../Resources/lib/libicui18n.73.dylib (compatibility version 73.0.0, current version 73.2.0)
>>>>>>>> @executable_path/../Resources/lib/libicuuc.73.dylib (compatibility version 73.0.0, current version 73.2.0)
>>>>>>>> @executable_path/../Resources/lib/libicudata.73.dylib (compatibility version 73.0.0, current version 73.2.0)
>>>>>>>> @executable_path/../Resources/lib/libgmodule-2.0.0.dylib (compatibility version 7601.0.0, current version 7601.3.0)
>>>>>>>> @executable_path/../Resources/lib/libglib-2.0.0.dylib (compatibility version 7601.0.0, current version 7601.3.0)
>>>>>>>> @executable_path/../Resources/lib/libintl.8.dylib (compatibility version 13.0.0, current version 13.0.0)
>>>>>>>> @executable_path/../Resources/lib/libgobject-2.0.0.dylib (compatibility version 7601.0.0, current version 7601.3.0)
>>>>>>>> /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 1300.36.0)
>>>>>>>> /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1319.0.0)
>>>>>>>>
>>>>>>>> You can check that the application bundle is complete and matches its code signature with
>>>>>>>> spctl —assess -vv /Applications/Gnucash.app
>>>>>>>> It should report
>>>>>>>> /Applications/Gnucash.app/: accepted
>>>>>>>> source=Notarized Developer ID
>>>>>>>> origin=Developer ID Application: John D Ralls (Y9EHT5WMK7)
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>> John Ralls
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
More information about the gnucash-user
mailing list