Re: [GNC-dev] Ideas for account type-ahead modification

2020-03-12 Thread jean laroche
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

2020-03-12 Thread Jean Laroche

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

2020-03-12 Thread John Ralls



> 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

2020-03-12 Thread Jean Laroche

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

2020-03-12 Thread John Ralls



> 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

2020-03-12 Thread Jean Laroche

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

2020-03-12 Thread Jean Laroche
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