xmlsec is how AQBanking and friends hook gcrypt.

Yes, the New Account Hierarchy Assistant's Apply button tries to open a 
GncFileChooser that's derived from GtkFileChooser. That crashes if you try to 
run it from the build directory.

No, you don't need to make a bundle, just run `ninja install` to install 
everything in $PREFIX. When that's done you can run $PREFIX/bin/gnucash if 
you're in a jhbuild shell or otherwise have $PREFIX set. If not you'll have to 
spell out the path to the installed gnucash.

Regards,
John Ralls


> On Jan 16, 2023, at 5:56 PM, Vincent Lucarelli <vincent.lucare...@gmail.com> 
> wrote:
> 
> 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