Building GnuCash 3 on openSuSE

2018-04-05 Thread Herbert Thoma

Hi!

I did not build GnuCash myself for some time, but with 3.0 I did
try again.

I'm running openSUSE Leap 42.3.

So the first error was about gettext being only version 0.19.2.
OK, this is easily circumvented with -D ALLOW_OLD_GETTEXT=ON,
but still a bit unfortunate because openSUSE Leap 42.3 ships only
0.19.2 and openSUSE Leap 42.3 is the most recent stable openSUSE
distribution.

Next problem was GTEST. openSUSE Leap 42.3 has a package libgtest0,
but this does not help. So I downloaded googletest and set the
GTEST_ROOT and GMOCK_ROOT variables.

With this environment set cmake completes, but make aborts with this
error:

[ 30%] Built target scm-gnc-module
Scanning dependencies of target scm-core-utils
[ 30%] Generating ../../lib64/gnucash/scm/ccache/2.0/gnucash/core-utils.go
Backtrace:
In srfi/srfi-1.scm:
 619: 19 [for-each # #]
In scripts/compile.scm:
 182: 18 [# 
"/home/tma/gnucash/gnucash_cvs/gnucash/libgnucash/core-utils/core-utils.scm"]
In system/base/target.scm:
  59: 17 [with-target "x86_64-suse-linux-gnu" ...]
In system/base/compile.scm:
 150: 16 [compile-file 
"/home/tma/gnucash/gnucash_cvs/gnucash/libgnucash/core-utils/core-utils.scm" 
...]
  43: 15 [call-once #]
In ice-9/boot-9.scm:
 171: 14 [with-throw-handler #t ...]
In system/base/compile.scm:
  59: 13 [#]
 153: 12 [# #]
 216: 11 [read-and-compile # #:from ...]
 232: 10 [lp (# # # # ...) # #]
 180: 9 [lp # # # ...]
In ice-9/boot-9.scm:
2320: 8 [save-module-excursion #]
In language/scheme/compile-tree-il.scm:
  31: 7 [#]
In ice-9/psyntax.scm:
1091: 6 [expand-top-sequence ((re-export gnc-build-userdata-path)) () ...]
 976: 5 [scan ((re-export gnc-build-userdata-path)) () ...]
 270: 4 [scan ((# #)) () (()) ...]
In ice-9/boot-9.scm:
2015: 3 [call-with-deferred-observers #]
 700: 2 [for-each # #]
In unknown file:
   ?: 1 [scm-error misc-error #f ...]
In ice-9/boot-9.scm:
 106: 0 [# 
misc-error ...]

ice-9/boot-9.scm:106:20: In procedure #:
ice-9/boot-9.scm:106:20: Undefined variable: gnc-build-userdata-path
libgnucash/core-utils/CMakeFiles/scm-core-utils.dir/build.make:61: recipe for 
target 'lib64/gnucash/scm/ccache/2.0/gnucash/core-utils.go' failed
make[2]: *** [lib64/gnucash/scm/ccache/2.0/gnucash/core-utils.go] Error 1
CMakeFiles/Makefile2:3773: recipe for target 
'libgnucash/core-utils/CMakeFiles/scm-core-utils.dir/all' failed
make[1]: *** [libgnucash/core-utils/CMakeFiles/scm-core-utils.dir/all] Error 2
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2

Any suggestions?

gcc --version
gcc (SUSE Linux) 4.8.5

guile --version
guile (GNU Guile) 2.0.9


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


Re: Building GnuCash 3 on openSuSE

2018-04-05 Thread Frank H. Ellenberger
Hi Herbert,

just a few notes about the dependencies:

Am 05.04.2018 um 14:10 schrieb Herbert Thoma:
> Hi!
> 
> I did not build GnuCash myself for some time, but with 3.0 I did
> try again.
> 
> I'm running openSUSE Leap 42.3.
> 
> So the first error was about gettext being only version 0.19.2.
> OK, this is easily circumvented with -D ALLOW_OLD_GETTEXT=ON,
> but still a bit unfortunate because openSUSE Leap 42.3 ships only
> 0.19.2 and openSUSE Leap 42.3 is the most recent stable openSUSE
> distribution.

obs://build.opensuse.org/Emulators has gettext-* 0.19.8.1-9.1

> Next problem was GTEST. openSUSE Leap 42.3 has a package libgtest0,
> but this does not help. So I downloaded googletest and set the
> GTEST_ROOT and GMOCK_ROOT variables.

As Luciano Santos told me on IRC, the first whithout patching functional
googletest is in tumbleweed.

Regards
Frank
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


gnc_add_swig_guile_command compile errors

2018-04-05 Thread Rob Gowin
Hello Devs,

There have been a couple of folks who have run into errors when building
3.0 that complain about gnc_add_swig_guile_command (one report on IRC, one
on -user).

This will happen when the build directory is created inside the toplevel
source (gnucash) directory instead of as a sibling to it. When the build
directory is inside top-level gnucash, a reference to ../gnucash on a CMake
command line will pick up gnucash/gnucash/CMakeLists.txt. This in turn
loads gnucash/gnome/CMakeLists.txt which attempts the
gnc_add_swig_guile_command.

The solution is to make sure that the build directory is parallel to the
toplevel gnucash directory. This is a bit confusing because we have a
gnucash directory inside gnucash. The arrangement needs to be

build-cmake
gnucash
+ gnucash
+ libgnucash
+ 

[I'm not subscribed to -user; could someone please reply to DaveC49 with a
pointer to this message?]

Regards,

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


Re: gnc_add_swig_guile_command compile errors

2018-04-05 Thread John Ralls


> On Apr 5, 2018, at 1:31 PM, Rob Gowin  wrote:
> 
> Hello Devs,
> 
> There have been a couple of folks who have run into errors when building
> 3.0 that complain about gnc_add_swig_guile_command (one report on IRC, one
> on -user).
> 
> This will happen when the build directory is created inside the toplevel
> source (gnucash) directory instead of as a sibling to it. When the build
> directory is inside top-level gnucash, a reference to ../gnucash on a CMake
> command line will pick up gnucash/gnucash/CMakeLists.txt. This in turn
> loads gnucash/gnome/CMakeLists.txt which attempts the
> gnc_add_swig_guile_command.
> 
> The solution is to make sure that the build directory is parallel to the
> toplevel gnucash directory. This is a bit confusing because we have a
> gnucash directory inside gnucash. The arrangement needs to be
> 
> build-cmake
> gnucash
> + gnucash
> + libgnucash
> + 
> 
> [I'm not subscribed to -user; could someone please reply to DaveC49 with a
> pointer to this message?]
> 

Rob,

Thanks for the dope-slap. Indeed, I've seen several others make this mistake 
and even made it myself once or twice.

I'll stipulate that one solution, and probably the recommended solution, is 
indeed to separate your build directory from your source directory, but if you 
*insist* on having the build directory inside the source directory, be careful 
to get the path right. An alternative is to always use the absolute path to the 
root of the source directory: Then it doesn't matter where you put the build 
directory. Since we've switched to CMake and gotten rid of intltool the paths 
in gnucash.pot no longer include the relative path between builddir and srcdir 
so there's no good reason for builddir to be in the source tree.

Regards,
John Ralls

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