Sorry - I didn’t explain that I used ACLs (chmod -a)  to completely block 
access for my build user “gnucash” from accessing /opt/homebrew and then 
started from the beginning of setting up a build environment as the gnucash 
user. During this rebuild, I ran into an error while building libxmlsec1, which 
depends on gnutls.  I traced that failure to -lgcrypt missing from the link 
line.

I was planning to document the full procedure on the wiki in case it helps 
someone else trying to start from scratch on Mac OS.

When creating a new file, is the last step to pick a file location with 
GtkFileChooser?  That would explain why I’m crashing on trying to create a new 
GnuCash file because I am running from the build directory.

Do I need to create a bundle for GtkFileChooser to not crash?

Thanks for your help,

Vince


> On Jan 16, 2023, at 7:13 PM, John Ralls <jra...@ceridwen.us> wrote:
> 
> I thought that you said the freetype2 problem was from Cmake finding 
> libbrotlidec in /opt/homebrew. I don't think that freetype2 has a dependency 
> on gnutls. Webkit (via libsoup<-glib-networking) and AQBanking depend on it; 
> IIRC the missing -lgcrypt is in the glib-networking build.
> 
> The problem with libdbdmysql.so is that 
> $PREFIX/lib/mariadb/libmariaconnector.3.dylib gets built with a bare install 
> name, so at runtime the loader doesn't know how to find it. The post-build 
> fix is to use install_name_tool to change its id to one with a full path and 
> then to change libdbdmysql.so's listing to use the path. To get it to build 
> correctly it needs CMAKE_MACOSX_RPATH=ON and 
> CMAKE_INSTALL_NAME_DIR=$PREFIX/lib. The first could be set in the module's 
> cmakeargs attribute but the second would have to be conjured in 
> jhbuildrc-custom using module_cmakeargs.
> 
> That shouldn't have caused the crash; it's probably to do with gsettings 
> schemas. GnuCash will crash when run from the build directory if you try to 
> do anything involving the GtkFileChooser because that won't be able to find 
> its Gsettings schemas.
> 
> Regards,
> John Ralls
> 
> 
> 
> 
>> On Jan 16, 2023, at 8:39 AM, Vincent Lucarelli <vincent.lucare...@gmail.com> 
>> wrote:
>> 
>> Got much farther with the build, but now stuck with a build/run time error.
>> 
>> The freetype2 error was rooted in gnutls.pc missing -lgcrypt.  I’m not sure 
>> if this is an issue for gnutls or a patch for arm64/MacOSx build.  Manually 
>> added the dependency and finished the build.
>> 
>> Tried to run gnucash build from git/master, but it crashed when I tried to 
>> create a new file, after I walked through the setup, and right when I 
>> clicked “Apply”.
>> 
>> Decided to rebuild with debugging and during the build of gnucash, I noticed 
>> 
>>> libdbi: Failed to load driver: 
>>> /Users/gnucash/opt/gnucash/inst/lib/dbd/libdbdmysql.so
>> 
>> Trying to determine if libdbi or a dependency had an issue during build or 
>> if there is something else going on.
>> 
>> If any of this looks familiar, suggestions are appreciated.  Otherwise, I’ll 
>> keep digging.
>> 
>> Thanks,
>> 
>> Vince
>> 
>> PS - When I try to open Gnucash Preferences, it crashes too.  Will try to 
>> get more info on that later.
>> 
>> 
>> 
>>> On Jan 14, 2023, at 10:43 PM, john <jra...@ceridwen.us> wrote:
>>> 
>>> While you're getting familiar enough with GnuCash ask questions here. Once 
>>> you've got a PR written we can move the discussion to that PR.
>>> 
>>> Regards,
>>> John Ralls
>>> 
>>> 
>>>> On Jan 14, 2023, at 4:21 PM, Vincent Lucarelli 
>>>> <vincent.lucare...@gmail.com> wrote:
>>>> 
>>>> It looks like freetype2 picked up a dependency on 
>>>> /opt/homebrew/lib/libbrotlidec.dylib even though I started with a new user 
>>>> account and insulated the build with 
>>>>> cmakeargs = 
>>>>> '-DCMAKE_SYSTEM_IGNORE_PATH="/opt/homebrew:/opt/macports:/sw:/usr/local"'
>>>> as suggested at 
>>>> https://wiki.gnome.org/action/show/Projects/GTK/OSX/Building#Prerequisites
>>>> 
>>>> 
>>>> So when harfbuzz-no-cairo tried to configure against freetype2, it was 
>>>> looking for libbrotlidec.pc, but that wasn’t built by jhbuild.
>>>> 
>>>> I’ll try again tomorrow to see if I can track down exactly how homebrew is 
>>>> poisoning the build environment.
>>>> 
>>>> Provided I can actual build gnucash, should development questions about 
>>>> integrating FQ get_features() take place on this mailing list in a new 
>>>> thread or on GitHub under and issue?
>>>> 
>>>> Best,
>>>> 
>>>> Vince
>>>> 
>>>> 
>>>>> On Jan 14, 2023, at 4:44 PM, John Ralls <jra...@ceridwen.us> wrote:
>>>>> 
>>>>> 
>>>>> 
>>>>>> On Jan 14, 2023, at 10:22 AM, Vincent Lucarelli 
>>>>>> <vincent.lucare...@gmail.com> wrote:
>>>>>> 
>>>>>> Hi,
>>>>>> 
>>>>>> I am attempting to setup a new Mac OS X user account on Ventura 13.0.1 
>>>>>> to build gnucash so I can attempt to help integrate a new Finance::Quote 
>>>>>> feature into GnuCash. Ran into 2 problems following the instructions at 
>>>>>> https://wiki.gnucash.org/wiki/MacOS/Quartz 
>>>>>> 
>>>>>> First issue - was able to solve - copying /bin/bash to 
>>>>>> $HOME/.new_local/bin doesn’t seem to work on Ventura.  The process is 
>>>>>> immediately killed when the alternate copy of bash is run.  Some 
>>>>>> googling suggests it might have something to do with quarantine or code 
>>>>>> signing, but a few of the suggested solutions didn’t work. I have 
>>>>>> homebrew installed (but not in the path for the account I’m using to try 
>>>>>> and build gnucash), so I just installed bash with brew and then copied 
>>>>>> that executable into .new_local/bin.
>>>>>> 
>>>>>> Second issue - not sure how to proceed.  The bootstrap run successfully, 
>>>>>> but the jhbuild step failed to find freetype2
>>>>>> 
>>>>>>> PREFIX=$HOME/opt/gnucash jhbuild build
>>>>>> 
>>>>>>> ../../src/harfbuzz-4.1.0/meson.build:87:0: ERROR: Dependency 
>>>>>>> 'freetype2' is required but not found.
>>>>>>> 
>>>>>>> A full log can be found at 
>>>>>>> /Users/gnucash/opt/gnucash/build/harfbuzz-4.1.0/meson-logs/meson-log.txt
>>>>>>> WARNING: Running the setup command as `meson [options]` instead of 
>>>>>>> `meson setup [options]` is ambiguous and deprecated.
>>>>>>> *** Error during phase configure of harfbuzz-no-cairo: ########## Error 
>>>>>>> running meson --prefix /Users/gnucash/opt/gnucash/inst --libdir lib 
>>>>>>> -Dcoretext=enabled -Dfreetype=enabled -Ddocs=disabled 
>>>>>>> -Dbenchmark=disabled -Dintrospection=disabled --wrap-mode=nofallback 
>>>>>>> /Users/gnucash/opt/gnucash/src/harfbuzz-4.1.0 *** [20/76]
>>>>>>> 
>>>>>>> [1] Rerun phase configure
>>>>>>> [2] Ignore error and continue to build
>>>>>>> [3] Give up on module
>>>>>>> [4] Start shell
>>>>>>> [5] Reload configuration
>>>>>>> [6] Go to phase "wipe directory and start over"
>>>>>>> choice:
>>>>>> 
>>>>>> Any advice how how to proceed is appreciated.
>>>>> 
>>>>> harfbuzz-no-cairo depends on freetype-no-harfbuzz. If 
>>>>> $PREFIX/lib/pkgconfig/freetype2.pc isn't installed then something went 
>>>>> wrong with the latter. Scroll back in your terminal session to see what.
>>>>> 
>>>>> Regards,
>>>>> John Ralls
>>>> 
>>> 
>> 
> 

_______________________________________________
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel

Reply via email to