Re: [GNC-dev] Ideas for account type-ahead modification
Ah crap no, I had not seen that! I looked though, I'm not sure how I missed that. Somehow I missed the wiki. Thanks a bunch. I will update the wiki, but to be fair, it's already pretty good. The issues I ran into were real issues that were fixed by John so there isn't that much to add to the wiki (except perhaps a few lines clarifying what each jhbuild command does, and possibly a paragraph on switching branches). Thanks again! Jean On 3/11/2020 11:14 PM, Frank H. Ellenberger wrote: Jean, Am 11.03.20 um 22:03 schrieb Jean Laroche: : PREFERENCES: If someone can point me in the right direction for preferences, it would be great. I essentially replicated the code for "Enter moves to blank transaction" (by searching all references of the defines for that pref, and adding the ones needed for the new option) but I must be missing something because the code says the preference key is invalid. The new option shows in the preferences, but the rest isn't working. you saw https://wiki.gnucash.org/wiki/Adding_Preferences? BTW, it would be nice, if you would improve the wiki at places, where you had problems like https://wiki.gnucash.org/wiki/MacOS/Quartz#Building. Regards Frank ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: [GNC-dev] Noob: setup and build master
Not having luck building master. I followed John's instructions. - I have no libgnc or libgnucash in $PREFIX/lib - I created the xcode project using cmake -G Xcode -D CMAKE_INSTALL_PREFIX=$PREFIX -D GTEST_ROOT=$SRCROOT/googletest $SRCROOT/gnucash-git But the build fails with this error: Ld /Users/jlaroche/gnucash-stable/build_xcode_master/lib/libgnc-core-utils.dylib normal x86_64 cd /Users/jlaroche/gnucash-stable/src/gnucash-git export MACOSX_DEPLOYMENT_TARGET=10.13 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch x86_64 -dynamiclib -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -L/Users/jlaroche/gnucash-stable/build_xcode_master/lib -F/Users/jlaroche/gnucash-stable/build_xcode_master/lib -filelist /Users/jlaroche/gnucash-stable/build_xcode_master/libgnucash/core-utils/gnucash.build/Debug/gnc-core-utils.build/Objects-normal/x86_64/gnc-core-utils.LinkFileList -install_name @rpath/libgnc-core-utils.dylib -mmacosx-version-min=10.13 -Xlinker -object_path_lto -Xlinker /Users/jlaroche/gnucash-stable/build_xcode_master/libgnucash/core-utils/gnucash.build/Debug/gnc-core-utils.build/Objects-normal/x86_64/gnc-core-utils_lto.o -Xlinker -no_deduplicate -fobjc-link-runtime -dynamiclib -Wl,-headerpad_max_install_names /Users/jlaroche/gnucash-stable/lib/libboost_date_time.dylib /Users/jlaroche/gnucash-stable/lib/libboost_regex.dylib /Users/jlaroche/gnucash-stable/lib/libboost_locale.dylib /Users/jlaroche/gnucash-stable/lib/libboost_filesystem.dylib /Users/jlaroche/gnucash-stable/lib/libboost_system.dylib -L/Users/jlaroche/gnucash-stable/lib -lintl -lglib-2.0 -L/Users/jlaroche/gnucash-stable/lib -lgobject-2.0 -lintl -lglib-2.0 -L/Users/jlaroche/gnucash-stable/lib -lgtkmacintegration-gtk3 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lintl -lglib-2.0 -lobjc -framework Cocoa -framework Security -framework Carbon -lgtkmacintegration-gtk3 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lobjc -framework Cocoa -framework Security -framework Carbon -Xlinker -dependency_info -Xlinker /Users/jlaroche/gnucash-stable/build_xcode_master/libgnucash/core-utils/gnucash.build/Debug/gnc-core-utils.build/Objects-normal/x86_64/gnc-core-utils_dependency_info.dat -o /Users/jlaroche/gnucash-stable/build_xcode_master/lib/libgnc-core-utils.dylib Undefined symbols for architecture x86_64: "boost::system::detail::system_category_instance", referenced from: boost::system::system_category() in gnc-filepath-utils.o "boost::system::detail::generic_category_instance", referenced from: boost::system::generic_category() in gnc-filepath-utils.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) Does this ring a bell for anyone? Jean On 3/11/20 8:13 PM, John Ralls wrote: On Mar 11, 2020, at 2:35 PM, jeanl wrote: Hi People, Thanks to John I was able to setup and build maint on my mac. I'm now trying to setup and build master which I've pulled into src/gnucash-git Can someone clarify these points: - I imagine I need to edit jhbuildrc-cusom and change the branch to master. Do I do that before any of the following? - Do I need to re-run jhbuild bootstrap? - Do I need to re-run jhbuild bootstrap-gtk-osx? - Do I need to re-run jhbuild build? (assuming yes). Jean, You only need to reconfigure and rebuild gnucash. At this point all dependencies are the same between master and maint. I do that in a jhbuild shell because as I said elsewhere I build from the terminal prompt, so I want to make an edit and then run ninja && ninja check (or more often ninja test-target && bin/test-program, TDD and all that). There's one cmake change between the two branches. In maint you set -DGTEST_ROOT=path/to/googletest/googletest -DGMOCK_ROOT=path/to/googletest/googlemock and in master you set only -DGTEST_ROOT=path/to/googletest. It works best to have a separate build directory and rm -rf * && cmake ... to switch branches. One other thing, make sure you uninstall GnuCash beforehand, the maint and master libraries are incompatible and Guile will dlopen the installed libraries in preference to the ones in the build directory. ninja uninstall doesn't always work, so if it fails try xargs rm < install_manifest.txt. If *that* fails the `rm -r $PREFIX/lib/libgnc* $PREFIX/lib/gnucash` should be sufficient. Regards, John Ralls ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: [GNC-dev] Noob: setup and build master
> On Mar 12, 2020, at 12:11 PM, Jean Laroche wrote: > > Not having luck building master. > I followed John's instructions. > - I have no libgnc or libgnucash in $PREFIX/lib > - I created the xcode project using cmake -G Xcode -D > CMAKE_INSTALL_PREFIX=$PREFIX -D GTEST_ROOT=$SRCROOT/googletest > $SRCROOT/gnucash-git > > But the build fails with this error: > > Ld > /Users/jlaroche/gnucash-stable/build_xcode_master/lib/libgnc-core-utils.dylib > normal x86_64 >cd /Users/jlaroche/gnucash-stable/src/gnucash-git >export MACOSX_DEPLOYMENT_TARGET=10.13 > /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ > -arch x86_64 -dynamiclib -isysroot > /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk > -L/Users/jlaroche/gnucash-stable/build_xcode_master/lib > -F/Users/jlaroche/gnucash-stable/build_xcode_master/lib -filelist > /Users/jlaroche/gnucash-stable/build_xcode_master/libgnucash/core-utils/gnucash.build/Debug/gnc-core-utils.build/Objects-normal/x86_64/gnc-core-utils.LinkFileList > -install_name @rpath/libgnc-core-utils.dylib -mmacosx-version-min=10.13 > -Xlinker -object_path_lto -Xlinker > /Users/jlaroche/gnucash-stable/build_xcode_master/libgnucash/core-utils/gnucash.build/Debug/gnc-core-utils.build/Objects-normal/x86_64/gnc-core-utils_lto.o > -Xlinker -no_deduplicate -fobjc-link-runtime -dynamiclib > -Wl,-headerpad_max_install_names > /Users/jlaroche/gnucash-stable/lib/libboost_date_time.dylib > /Users/jlaroche/gnucash-stable/lib/libboost_regex.dylib /Users/jlaro che/gnucash-stable/lib/libboost_locale.dylib /Users/jlaroche/gnucash-stable/lib/libboost_filesystem.dylib /Users/jlaroche/gnucash-stable/lib/libboost_system.dylib -L/Users/jlaroche/gnucash-stable/lib -lintl -lglib-2.0 -L/Users/jlaroche/gnucash-stable/lib -lgobject-2.0 -lintl -lglib-2.0 -L/Users/jlaroche/gnucash-stable/lib -lgtkmacintegration-gtk3 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lintl -lglib-2.0 -lobjc -framework Cocoa -framework Security -framework Carbon -lgtkmacintegration-gtk3 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lobjc -framework Cocoa -framework Security -framework Carbon -Xlinker -dependency_info -Xlinker /Users/jlaroche/gnucash-stable/build_xcode_master/libgnucash/core-utils/gnucash.build/Debug/gnc-core-utils.build/Objects-normal/x86_64/gnc-core-utils_dependency_info.dat -o /Users/jlaroche/gnucash-s table/build_xcode_master/lib/libgnc-core-utils.dylib > > Undefined symbols for architecture x86_64: > "boost::system::detail::system_category_instance", referenced from: > boost::system::system_category() in gnc-filepath-utils.o > "boost::system::detail::generic_category_instance", referenced from: > boost::system::generic_category() in gnc-filepath-utils.o > ld: symbol(s) not found for architecture x86_64 > clang: error: linker command failed with exit code 1 (use -v to see > invocation) > > Does this ring a bell for anyone? > Jean It's $PREFIX/lib/gnucash/, not $PREFIX/lib/libgnucash*, but that's not your problem. It's because C++17 is set in GnuCash's CMakeLists.txt and boost defaults to building for C++14. I'd forgotten that I'd pushed that to the public master branch. I think the simplest way to rebuild it for you would be to add module_cmakeargs['boost'] = '-DCMAKE_CXX_FLAGS=' . os.environ['CXXFLAGS'] . ' -std=c++17' to jhbuildrc-custom then run jhbuild buildone --force --clean boost If that doesn't work on its own try doing the buildone again but stop it and tell it to wipe the directory and start over. Regards, John Ralls ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: [GNC-dev] Ideas for account type-ahead modification
you saw https://wiki.gnucash.org/wiki/Adding_Preferences? Well, it looks like this is out of date. For example src/gnome-utils/gtkbuilder/dialog-preferences.glade no longer exists. I can only see: ./gnucash/gtkbuilder/dialog-preferences.glade ./share/gnucash/gtkbuilder/dialog-preferences.glade Following the instructions as best as I could, I'm still unable to make it work. I'm not sure what to do next. I'm replicating exactly what is done for the "enter-moves-to-end" preference, yet the pref does not work. Where is the actual preference file located? (i.e., where gnucash saves its pref for the next time it opens). I haven't been able to locate it, despite the indications found in the wiki... J. ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: [GNC-dev] Ideas for account type-ahead modification
> On Mar 12, 2020, at 3:37 PM, Jean Laroche wrote: > >> you saw >> https://wiki.gnucash.org/wiki/Adding_Preferences? > > Well, it looks like this is out of date. > For example src/gnome-utils/gtkbuilder/dialog-preferences.glade no longer > exists. > I can only see: > ./gnucash/gtkbuilder/dialog-preferences.glade > ./share/gnucash/gtkbuilder/dialog-preferences.glade > > Following the instructions as best as I could, I'm still unable to make it > work. I'm not sure what to do next. I'm replicating exactly what is done for > the "enter-moves-to-end" preference, yet the pref does not work. > Where is the actual preference file located? (i.e., where gnucash saves its > pref for the next time it opens). I haven't been able to locate it, despite > the indications found in the wiki... Yes, it's a bit out of date. The source file is gnucash-git/gnucash/gtkbuilder/dialog-preferences.glade and it's moved to build_dir/share/gnucash/gtkbuilder/dialog-preferences.glade by make/ninja and installed in $PREFIX/share/gnucash/gtkbuilder/dialog-preferences.glade. On MacOS application preferences are written to plists in ~/Library/Preferences. Ours is named org.gnucash.Gnucash.plist. Regards, John Ralls ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: [GNC-dev] Ideas for account type-ahead modification
org.gnucash.gnucash.plist in fact (no G) Well, I can confirm that despite all my efforts, my pref is absent from that file. Does this need to be removed for a pref to be added? (I'm guessing not). I'm at a loss to find out what's going on... On 3/12/20 3:52 PM, John Ralls wrote: On Mar 12, 2020, at 3:37 PM, Jean Laroche wrote: you saw https://wiki.gnucash.org/wiki/Adding_Preferences? Well, it looks like this is out of date. For example src/gnome-utils/gtkbuilder/dialog-preferences.glade no longer exists. I can only see: ./gnucash/gtkbuilder/dialog-preferences.glade ./share/gnucash/gtkbuilder/dialog-preferences.glade Following the instructions as best as I could, I'm still unable to make it work. I'm not sure what to do next. I'm replicating exactly what is done for the "enter-moves-to-end" preference, yet the pref does not work. Where is the actual preference file located? (i.e., where gnucash saves its pref for the next time it opens). I haven't been able to locate it, despite the indications found in the wiki... Yes, it's a bit out of date. The source file is gnucash-git/gnucash/gtkbuilder/dialog-preferences.glade and it's moved to build_dir/share/gnucash/gtkbuilder/dialog-preferences.glade by make/ninja and installed in $PREFIX/share/gnucash/gtkbuilder/dialog-preferences.glade. On MacOS application preferences are written to plists in ~/Library/Preferences. Ours is named org.gnucash.Gnucash.plist. Regards, John Ralls ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: [GNC-dev] Ideas for account type-ahead modification
Well it's finally working. I cleaned everything and rebuilt everything, and things are OK now. I should have started with that. :( Thanks for the help though! On 3/12/20 3:52 PM, John Ralls wrote: On Mar 12, 2020, at 3:37 PM, Jean Laroche wrote: you saw https://wiki.gnucash.org/wiki/Adding_Preferences? Well, it looks like this is out of date. For example src/gnome-utils/gtkbuilder/dialog-preferences.glade no longer exists. I can only see: ./gnucash/gtkbuilder/dialog-preferences.glade ./share/gnucash/gtkbuilder/dialog-preferences.glade Following the instructions as best as I could, I'm still unable to make it work. I'm not sure what to do next. I'm replicating exactly what is done for the "enter-moves-to-end" preference, yet the pref does not work. Where is the actual preference file located? (i.e., where gnucash saves its pref for the next time it opens). I haven't been able to locate it, despite the indications found in the wiki... Yes, it's a bit out of date. The source file is gnucash-git/gnucash/gtkbuilder/dialog-preferences.glade and it's moved to build_dir/share/gnucash/gtkbuilder/dialog-preferences.glade by make/ninja and installed in $PREFIX/share/gnucash/gtkbuilder/dialog-preferences.glade. On MacOS application preferences are written to plists in ~/Library/Preferences. Ours is named org.gnucash.Gnucash.plist. Regards, John Ralls ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel