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 <etwak...@gmail.com> wrote:
> 
> Very strange.  I get two results.
> 
> First, following your instructions, by coping and pasting
> Ernie@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 <jra...@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 <etwak...@gmail.com> wrote:
>>> 
>>> Thanks John,
>>> 
>>> I ran the below commands and this is what I got.
>>> 
>>> Ernie@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@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@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 <jra...@ceridwen.us> wrote:
>>>> 
>>>> 
>>>> 
>>>>> On May 19, 2024, at 18:03, Ernie Wakamatsu <etwak...@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@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@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
>>> 
>> 
> 

_______________________________________________
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