Re: [GNC-dev] GnuCash 3.0 wine versus Windoze 10

2018-04-21 Thread Geert Janssens
Op zaterdag 21 april 2018 14:07:47 CEST schreef DaveC49:
> I found a reference to an earlier post for the documentation build for
> GnuCash not the program build where it apparently did matter because of an
> issue with the intltools package. I suspect this is where the issues over
> the location of the build directory arose.

Exactly. The build directory issues were due to intltool not working properly 
when the build directory was inside the source directory (except if it was a 
hidden directory by the way).

This didn't start in gnucash-docs though, but in gnucash before we dropped 
intltool. We only dropped intltool a couple of weeks before releasing 3.0 
because a recent enough gettext is needed instead. Note this is still missing 
on some platforms so these platforms can't be used to extract translatable 
strings. In practice this is not very important.

Regards,

Geert


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


Re: [GNC-dev] GnuCash 3.0 wine versus Windoze 10

2018-04-21 Thread DaveC49
Robin,

I think having a separate build directory is what you would consider best
practice using cmake. Where that build directory is located does not appear
to be a major issue from my reading of the CMake documentation so far. 

I have built other applications and libraries using cmake where a separate
build directory was not used but it is certainly cleaner if you have to
rebuild as you can just delete the build directory and start again which is
not possible if you build in the top level source directory. I guess cmake
does not have the equivalent of a make clean. In-source building also
appears to be the default cmake behaviour. I could be wrong  but so far have
not had any problems

For the Gnucash-3.0 program it does not appear to matter whether the build
directory is outside or inside the top level gnucash-3.0 directory. I have
built it successfully both with the build directory as a subdirectory of the
toplevel gnucash-3.0 directory and with it as a parallel directory at the
same level without any problems.  The only difference is you have to ensure
that the target specified in the cmake command is referencing the
gnucash-3.0 directory (which contains the top levelCMakeLists.txt file with
which cmake initiates its execution) particularly if you are using relative
referencing to do so. 

I found a reference to an earlier post for the documentation build for
GnuCash not the program build where it apparently did matter because of an
issue with the intltools package. I suspect this is where the issues over
the location of the build directory arose.

You normally initiate the 
$cmake [options] 

command from a terminal which is opened in or set to the build directory.
 points to the directory containing the toplevel CmakeLists.txt file
defined for your application, normally the top level source directory.

With this directory structure:

|
 |gnucash-3.0|
|build
|CMakeLists.txt

 can be any of .. or ../ or ../../gnucash-3.0. Here .. or ../ take
you into the gnucash-3.0 directory from which the top level CMakeLists.txt
is found. ../../gnucash-3.0 takes you to the  directory with the ../..
part then /gnucash-3.0 puts you into the top level directory.

Alternatively if the directory structure is:

|gnucash-3.0|
 |  |CMakeLists.txt
 |build

 would be ../gnucash-3.0 if you are using relative referencing. 

You can actually have the build diretory anywhere you like as long as there
are no permissions issues and you correctly reference the gnucash-3.0 top
level directory as the target for the cmake command.

Alternatively you could also reference the top level directory absolutely.
If  in the above is an absolute path to the location of the toplevel
gnucash-3.0 directory, i.e. of the form /home//applications, then you
would supply the  as /home//applications/gnucash-3.0.
 
I have a personal preference for having the build directory under the top
level folder because it keeps it all together (as long as it doesn't cause
issues in the build). I just tested extracting a new copy from the
downloaded archive over an existing extracted copy which had a build
directory in it and the build directory and contents still existed and were
unchanged after the second extraction to the same parent directory, so that
is not an issue. 

David



-
David Cousens
--
Sent from: http://gnucash.1415818.n4.nabble.com/GnuCash-Dev-f1435356.html
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: [GNC-dev] GnuCash 3.0 wine versus Windoze 10

2018-04-20 Thread DaveC49
Jeffrey,

My response re "30 years ago I swallowed new programming languages like
jellybeans, today it takes a manual and 3 sledge hammers." is very similar
although in my case it was closer to 40 years. At least being retired now  I
can take the time to bumble my way through these days.  My own serious
programming days were back when Fortran was still the language of choice.

David



-
David Cousens
--
Sent from: http://gnucash.1415818.n4.nabble.com/GnuCash-Dev-f1435356.html
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: [GNC-dev] GnuCash 3.0 wine versus Windoze 10

2018-04-20 Thread DaveC49
Jeffrey,

I tend to keep the stable release installed under /usr/local. If I have any
unstable or work in progress versions I install them under /opt or under my
home directory as John suggests in another reply. I usually set up aliases
tagged with a version number or some other identifier pointing to the
executables for each version
(http://www.hostingadvice.com/how-to/set-command-aliases-linuxubuntudebian/). 

You don' really need to set up a VM for running different versions of
GnuCash. That is more useful if you need to run or develop under different
operating systems or variants (Linux, Mac , Windows, Gentto Fedora etc) for
testing or if you are working on the development of different versions of
the program where you may need to have different versions of libraries
installed for each program version.


David 



-
David Cousens
--
Sent from: http://gnucash.1415818.n4.nabble.com/GnuCash-Dev-f1435356.html
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: [GNC-dev] GnuCash 3.0 wine versus Windoze 10

2018-04-20 Thread Robin Chattopadhyay
I *was* enjoying my fresh build until I decided to try again from scratch
in order to get the python bindings incorporated.

So, I already have python2.7 and python3 since I had python bindings
installed with Gnucash 2.6.19 previously. I took your suggestion and
installed python3-pytest, but I'm still getting hung up at the same point:

[ 29%] Linking C shared module ../../lib/gnucash/_unittest_support.so
/usr/bin/ld: /usr/local/lib/libpython3.6m.a(abstract.o): relocation
R_X86_64_32S against `_Py_NotImplementedStruct' can not be used when making
a shared object; recompile with -fPIC
/usr/local/lib/libpython3.6m.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
common/test-core/CMakeFiles/unittest_support.dir/build.make:104: recipe for
target 'lib/gnucash/_unittest_support.so' failed
make[2]: *** [lib/gnucash/_unittest_support.so] Error 1
CMakeFiles/Makefile2:1746: recipe for target
'common/test-core/CMakeFiles/unittest_support.dir/all' failed
make[1]: *** [common/test-core/CMakeFiles/unittest_support.dir/all] Error 2
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2

I ran dpkg -l | grep pytest which returned:
ii  python3-pytest  2.8.7-4all  Simple, powerful
testing in Python3

On Fri, Apr 20, 2018 at 11:58 AM, Geert Janssens  wrote:

>
>
> > I was running into problems with cmake when I set -D WITH_PYTHON=ON. I
> > didn't capture any of the error messages, but it IIRC it was complaining
> > about not having some test utility. I eventually switched to -D
> > WITH_PYTHON=OFF and I was able to proceed. Is it possible that this is
> > related to not installing the GTEST/GMOCK packages?
>
> No this is not related to GTEST/GMOCK. When you enable python, the build
> system requires the python testing framework, which is not always
> installed by
> default and the package to install it from differs greatly from platform
> to
> platform. On fedora it's called python3-pytest I believe.
>
> Enjoy your freshly built gnucash :)
>
> Geert
>
>
>
Thanks,
Robin
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: [GNC-dev] GnuCash 3.0 wine versus Windoze 10

2018-04-20 Thread John Ralls


> On Apr 20, 2018, at 10:50 AM, Geert Janssens  
> wrote:
> 
> Op vrijdag 20 april 2018 19:23:36 CEST schreef jeffrey black:
>> On 04/20/2018 11:44 AM, Robin Chattopadhyay wrote:
>> 
>>> David-
>>> 
>>> 
>>> 
>>> Thank you very much for this comprehensive tutorial for building from
>>> source. I'm newish to Linux and I want to be able to do this but I've
>>> been
>>> confused. I managed to muddle through building 3.0 from source the
>>> evening
>>> before your email came.
>>> 
>>> 
>>> 
>>> I have some lingering questions that maybe this group can help with:
>>> After downloading the source and extracting the files, I made a second
>>> directory for the build, so I had:
>>> /home/foo/gnucash-3.0
>>> /home/foo/gnucash-build
>>> 
>>> 
>>> 
>>> Is this a correct/reasonable/best practice?
>>> 
>>> 
>>> 
>>> After I successfully ran cmake and make install and I can run gnucash,
>>> what
> if anything, can I or should I delete? Or should I keep the source
>>> and build directories?
>>> 
>>> 
>>> 
>>> I was running into problems with cmake when I set -D WITH_PYTHON=ON. I
>>> didn't capture any of the error messages, but it IIRC it was complaining
>>> about not having some test utility. I eventually switched to -D
>>> WITH_PYTHON=OFF and I was able to proceed. Is it possible that this is
>>> related to not installing the GTEST/GMOCK packages?
>>> 
>>> 
>>> 
>>> Thanks,
>>> Robin
>>> 
>>> 
>>> 
>>> On Fri, Apr 20, 2018 at 3:35 AM, DaveC49 
>>> wrote:
>>> 
>>> 
>>> 
 Jeffrey,
 
 
 
 I will start form scratch. The first step is setting up for building. My
 apologies if I am teaching you to suck eggs. Linux Mint has an alias of
 apt
> defined for apt-get. I am not sure if it is also defined in Ubuntu.
 If not substitute apt-get where I have apt in the following.
 
 
 
 # first download a copy of the gnucash source code gnucash-3.0.tar.bz2
 from
> # https://www.gnucash.org/download.phtml and extract the
 gnucash-3.0 source
 file. I use a folder called # Applications in my home directory for
 programs
 and libraries I build from scratch and usually keep the
 # sources there so i can easily rebuild if I strike a problem, but that
 is
 just a personal preference.
 
 
 
 #Open a terminal/bash shell and then cd to the extracted folder
 gnucash-3.0.
 
 
 
 # this loads compilers,dev tools etc as per
 https://packages.ubuntu.com/xenial/build-essential
 $sudo apt install build essential
 $sudo apt install cmake
 
 
 
 #the next step is to install the gnucash dependencies as listed in the
 README.dependencies file under the #gnucash-3.0 folder. This generally
 lists
 the minimum version of the libraries required. You will generally find
 that
 Ubuntu will in most cases load a later version. I will list the command
 to
 load  followed by the required version as in that file as a #comment
 separated by a #. The list on https://wiki.gnucash.org/wiki/Building
 lists
 the development headers that are required but you may also need to load
 the
> libraries as well
 
 
 
 sudo apt-get install libtool libltdl-dev
 #glib2 >v2.40.0
 sudo apt-get install libglib2.0 libglib2.0-dev
 sudo apt-get install icu-devtools libicu-dev
 # boost > 1.50.0
 sudo apt-get install libboost-all-dev
 # guile >=2.0.0
 sudo apt-get install guile-2.0 guile-2.0-dev
 #swig  >2.0.10
 sudo apt-get install swig2.0
 sudo apt-get install libxml2 libxml++2.6-dev
 sudo apt-get install libxslt1.1 libxslt1-dev
 sudo apt-get install xsltproc
 sudo apt-get install libgtest-dev
 sudo apt-get install gtk+3.0
 sudo apt-get install libgtk-3-dev
 sudo apt-get install libwebkit2gtk-4.0-37
 sudo apt-get install libwebkit2gtk-4.0-dev
 sudo apt-get install libdbi1 libdbi-dev
 # if you use a database backend  rather than the default XML backaend
 # you need to load at least one of the following
 # and choose the one relevant to the database you want to use
 sudo apt-get install libdbd-pgsql   #PostgreSQL database
 sudo apt-get install libdbd-mysql  # MySQL database
 sudo -get install libdbd-sqlite3 #Sqlite database
 # these are needed if you use online banking tools
 sudo apt-get install libofx6 libofx4 libofx-dev
 dpkg -lsudo apt-get aqbanking-tools libaqbanking-dev
 # this is required on linux systems it may be already installed but will
 tell you if it is
 sudo apt-get install dconf-cli
 #
 # you can check out what versions of packages are installed or not using
 the
 following command
 dpkg -l | grep 
 # here  can be the actual package name or a substring.
 grep
 will extract anything
 # from the dpkg -l output which contains that substring
 #
 # The 

Re: [GNC-dev] GnuCash 3.0 wine versus Windoze 10

2018-04-20 Thread Geert Janssens
Op vrijdag 20 april 2018 19:23:36 CEST schreef jeffrey black:
> On 04/20/2018 11:44 AM, Robin Chattopadhyay wrote:
> 
> > David-
> >
> >
> >
> > Thank you very much for this comprehensive tutorial for building from
> > source. I'm newish to Linux and I want to be able to do this but I've
> > been
> > confused. I managed to muddle through building 3.0 from source the
> > evening
> > before your email came.
> >
> >
> >
> > I have some lingering questions that maybe this group can help with:
> > After downloading the source and extracting the files, I made a second
> > directory for the build, so I had:
> > /home/foo/gnucash-3.0
> > /home/foo/gnucash-build
> >
> >
> >
> > Is this a correct/reasonable/best practice?
> >
> >
> >
> > After I successfully ran cmake and make install and I can run gnucash,
> > what
 if anything, can I or should I delete? Or should I keep the source
> > and build directories?
> >
> >
> >
> > I was running into problems with cmake when I set -D WITH_PYTHON=ON. I
> > didn't capture any of the error messages, but it IIRC it was complaining
> > about not having some test utility. I eventually switched to -D
> > WITH_PYTHON=OFF and I was able to proceed. Is it possible that this is
> > related to not installing the GTEST/GMOCK packages?
> >
> >
> >
> > Thanks,
> > Robin
> >
> >
> >
> > On Fri, Apr 20, 2018 at 3:35 AM, DaveC49 
> > wrote:
> >
> >
> >
> >> Jeffrey,
> >>
> >>
> >>
> >> I will start form scratch. The first step is setting up for building. My
> >> apologies if I am teaching you to suck eggs. Linux Mint has an alias of
> >> apt
 defined for apt-get. I am not sure if it is also defined in Ubuntu.
> >> If not substitute apt-get where I have apt in the following.
> >>
> >>
> >>
> >> # first download a copy of the gnucash source code gnucash-3.0.tar.bz2
> >> from
 # https://www.gnucash.org/download.phtml and extract the
> >> gnucash-3.0 source
> >> file. I use a folder called # Applications in my home directory for
> >> programs
> >> and libraries I build from scratch and usually keep the
> >> # sources there so i can easily rebuild if I strike a problem, but that
> >> is
> >> just a personal preference.
> >>
> >>
> >>
> >> #Open a terminal/bash shell and then cd to the extracted folder
> >> gnucash-3.0.
> >>
> >>
> >>
> >> # this loads compilers,dev tools etc as per
> >> https://packages.ubuntu.com/xenial/build-essential
> >> $sudo apt install build essential
> >> $sudo apt install cmake
> >>
> >>
> >>
> >> #the next step is to install the gnucash dependencies as listed in the
> >> README.dependencies file under the #gnucash-3.0 folder. This generally
> >> lists
> >> the minimum version of the libraries required. You will generally find
> >> that
> >> Ubuntu will in most cases load a later version. I will list the command
> >> to
> >> load  followed by the required version as in that file as a #comment
> >> separated by a #. The list on https://wiki.gnucash.org/wiki/Building
> >> lists
> >> the development headers that are required but you may also need to load
> >> the
 libraries as well
> >>
> >>
> >>
> >> sudo apt-get install libtool libltdl-dev
> >> #glib2 >v2.40.0
> >> sudo apt-get install libglib2.0 libglib2.0-dev
> >> sudo apt-get install icu-devtools libicu-dev
> >> # boost > 1.50.0
> >> sudo apt-get install libboost-all-dev
> >> # guile >=2.0.0
> >> sudo apt-get install guile-2.0 guile-2.0-dev
> >> #swig  >2.0.10
> >> sudo apt-get install swig2.0
> >> sudo apt-get install libxml2 libxml++2.6-dev
> >> sudo apt-get install libxslt1.1 libxslt1-dev
> >> sudo apt-get install xsltproc
> >> sudo apt-get install libgtest-dev
> >> sudo apt-get install gtk+3.0
> >> sudo apt-get install libgtk-3-dev
> >> sudo apt-get install libwebkit2gtk-4.0-37
> >> sudo apt-get install libwebkit2gtk-4.0-dev
> >> sudo apt-get install libdbi1 libdbi-dev
> >> # if you use a database backend  rather than the default XML backaend
> >> # you need to load at least one of the following
> >> # and choose the one relevant to the database you want to use
> >> sudo apt-get install libdbd-pgsql   #PostgreSQL database
> >> sudo apt-get install libdbd-mysql  # MySQL database
> >> sudo -get install libdbd-sqlite3 #Sqlite database
> >> # these are needed if you use online banking tools
> >> sudo apt-get install libofx6 libofx4 libofx-dev
> >> dpkg -lsudo apt-get aqbanking-tools libaqbanking-dev
> >> # this is required on linux systems it may be already installed but will
> >> tell you if it is
> >> sudo apt-get install dconf-cli
> >> #
> >> # you can check out what versions of packages are installed or not using
> >> the
> >> following command
> >> dpkg -l | grep 
> >> # here  can be the actual package name or a substring.
> >> grep
> >> will extract anything
> >> # from the dpkg -l output which contains that substring
> >> #
> >> # The next step is getting googletest setup. The version from the Ubuntu
> >> repository is 1.7.0 and does not
> >> # contain gmock within the 

Re: [GNC-dev] GnuCash 3.0 wine versus Windoze 10

2018-04-20 Thread jeffrey black
On 04/20/2018 11:44 AM, Robin Chattopadhyay wrote:
> David-
>
> Thank you very much for this comprehensive tutorial for building from
> source. I'm newish to Linux and I want to be able to do this but I've been
> confused. I managed to muddle through building 3.0 from source the evening
> before your email came.
>
> I have some lingering questions that maybe this group can help with:
> After downloading the source and extracting the files, I made a second
> directory for the build, so I had:
> /home/foo/gnucash-3.0
> /home/foo/gnucash-build
>
> Is this a correct/reasonable/best practice?
>
> After I successfully ran cmake and make install and I can run gnucash, what
> if anything, can I or should I delete? Or should I keep the source and
> build directories?
>
> I was running into problems with cmake when I set -D WITH_PYTHON=ON. I
> didn't capture any of the error messages, but it IIRC it was complaining
> about not having some test utility. I eventually switched to -D
> WITH_PYTHON=OFF and I was able to proceed. Is it possible that this is
> related to not installing the GTEST/GMOCK packages?
>
> Thanks,
> Robin
>
> On Fri, Apr 20, 2018 at 3:35 AM, DaveC49  wrote:
>
>> Jeffrey,
>>
>> I will start form scratch. The first step is setting up for building. My
>> apologies if I am teaching you to suck eggs. Linux Mint has an alias of apt
>> defined for apt-get. I am not sure if it is also defined in Ubuntu. If not
>> substitute apt-get where I have apt in the following.
>>
>> # first download a copy of the gnucash source code gnucash-3.0.tar.bz2 from
>> # https://www.gnucash.org/download.phtml and extract the gnucash-3.0
>> source
>> file. I use a folder called # Applications in my home directory for
>> programs
>> and libraries I build from scratch and usually keep the
>> # sources there so i can easily rebuild if I strike a problem, but that is
>> just a personal preference.
>>
>> #Open a terminal/bash shell and then cd to the extracted folder
>> gnucash-3.0.
>>
>> # this loads compilers,dev tools etc as per
>> https://packages.ubuntu.com/xenial/build-essential
>> $sudo apt install build essential
>> $sudo apt install cmake
>>
>> #the next step is to install the gnucash dependencies as listed in the
>> README.dependencies file under the #gnucash-3.0 folder. This generally
>> lists
>> the minimum version of the libraries required. You will generally find
>> that
>> Ubuntu will in most cases load a later version. I will list the command to
>> load  followed by the required version as in that file as a #comment
>> separated by a #. The list on https://wiki.gnucash.org/wiki/Building lists
>> the development headers that are required but you may also need to load the
>> libraries as well
>>
>> sudo apt-get install libtool libltdl-dev
>> #glib2 >v2.40.0
>> sudo apt-get install libglib2.0 libglib2.0-dev
>> sudo apt-get install icu-devtools libicu-dev
>> # boost > 1.50.0
>> sudo apt-get install libboost-all-dev
>> # guile >=2.0.0
>> sudo apt-get install guile-2.0 guile-2.0-dev
>> #swig  >2.0.10
>> sudo apt-get install swig2.0
>> sudo apt-get install libxml2 libxml++2.6-dev
>> sudo apt-get install libxslt1.1 libxslt1-dev
>> sudo apt-get install xsltproc
>> sudo apt-get install libgtest-dev
>> sudo apt-get install gtk+3.0
>> sudo apt-get install libgtk-3-dev
>> sudo apt-get install libwebkit2gtk-4.0-37
>> sudo apt-get install libwebkit2gtk-4.0-dev
>> sudo apt-get install libdbi1 libdbi-dev
>> # if you use a database backend  rather than the default XML backaend
>> # you need to load at least one of the following
>> # and choose the one relevant to the database you want to use
>> sudo apt-get install libdbd-pgsql   #PostgreSQL database
>> sudo apt-get install libdbd-mysql  # MySQL database
>> sudo -get install libdbd-sqlite3 #Sqlite database
>> # these are needed if you use online banking tools
>> sudo apt-get install libofx6 libofx4 libofx-dev
>> dpkg -lsudo apt-get aqbanking-tools libaqbanking-dev
>> # this is required on linux systems it may be already installed but will
>> tell you if it is
>> sudo apt-get install dconf-cli
>> #
>> # you can check out what versions of packages are installed or not using
>> the
>> following command
>> dpkg -l | grep 
>> # here  can be the actual package name or a substring. grep
>> will extract anything
>> # from the dpkg -l output which contains that substring
>> #
>> # The next step is getting googletest setup. The version from the Ubuntu
>> repository is 1.7.0 and does not
>> # contain gmock within the gtest download. V1.8.0 has both in the one
>> repository and is a little bit easier
>> #  to setup. Google do not recommend using googlemock and googletest as
>> shared dynamically linked
>> #  libraries because if a program is compiled with different compiler flags
>> from the libraries links to them
>> # at run time they can fail something I did not appreciate but I haven't
>> had
>> any problems so far.
>> # To set it up as recommended by 

Re: [GNC-dev] GnuCash 3.0 wine versus Windoze 10

2018-04-20 Thread Geert Janssens
Congratulations on building gnucash!

Op vrijdag 20 april 2018 18:44:15 CEST schreef Robin Chattopadhyay:
> David-
> 
> Thank you very much for this comprehensive tutorial for building from
> source. I'm newish to Linux and I want to be able to do this but I've been
> confused. I managed to muddle through building 3.0 from source the evening
> before your email came.
> 
> I have some lingering questions that maybe this group can help with:
> After downloading the source and extracting the files, I made a second
> directory for the build, so I had:
> /home/foo/gnucash-3.0
> /home/foo/gnucash-build
> 
> Is this a correct/reasonable/best practice?

Yes, making a build director next to your source directory is a good practice 
though more experienced developers may prefer different naming schemes.

> 
> After I successfully ran cmake and make install and I can run gnucash, what
> if anything, can I or should I delete? Or should I keep the source and
> build directories?
> 
It depends a bit on where you chose to install gnucash and what you want to do 
next.

First, if you chose to install gnucash somewhere under /usr you will probably 
want to keep both directories because the only way to cleanly remove gnucash 
starts from your build directory in that case.

If it's in a directory inside your home directory, that doesn't play. 
Uninstalling there will be as easy as removing the directory in which it got 
installed.

In summary, you won't need either directory again to "run" gnucash. You may 
want to keep it to "uninstall" gnucash, or to rebuild (perhaps from a git 
clone instead of a release tarball to get the latest fixes).

> I was running into problems with cmake when I set -D WITH_PYTHON=ON. I
> didn't capture any of the error messages, but it IIRC it was complaining
> about not having some test utility. I eventually switched to -D
> WITH_PYTHON=OFF and I was able to proceed. Is it possible that this is
> related to not installing the GTEST/GMOCK packages?

No this is not related to GTEST/GMOCK. When you enable python, the build 
system requires the python testing framework, which is not always installed by 
default and the package to install it from differs greatly from platform to 
platform. On fedora it's called python3-pytest I believe.

Enjoy your freshly built gnucash :)

Geert


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


Re: [GNC-dev] GnuCash 3.0 wine versus Windoze 10

2018-04-20 Thread Robin Chattopadhyay
David-

Thank you very much for this comprehensive tutorial for building from
source. I'm newish to Linux and I want to be able to do this but I've been
confused. I managed to muddle through building 3.0 from source the evening
before your email came.

I have some lingering questions that maybe this group can help with:
After downloading the source and extracting the files, I made a second
directory for the build, so I had:
/home/foo/gnucash-3.0
/home/foo/gnucash-build

Is this a correct/reasonable/best practice?

After I successfully ran cmake and make install and I can run gnucash, what
if anything, can I or should I delete? Or should I keep the source and
build directories?

I was running into problems with cmake when I set -D WITH_PYTHON=ON. I
didn't capture any of the error messages, but it IIRC it was complaining
about not having some test utility. I eventually switched to -D
WITH_PYTHON=OFF and I was able to proceed. Is it possible that this is
related to not installing the GTEST/GMOCK packages?

Thanks,
Robin

On Fri, Apr 20, 2018 at 3:35 AM, DaveC49  wrote:

> Jeffrey,
>
> I will start form scratch. The first step is setting up for building. My
> apologies if I am teaching you to suck eggs. Linux Mint has an alias of apt
> defined for apt-get. I am not sure if it is also defined in Ubuntu. If not
> substitute apt-get where I have apt in the following.
>
> # first download a copy of the gnucash source code gnucash-3.0.tar.bz2 from
> # https://www.gnucash.org/download.phtml and extract the gnucash-3.0
> source
> file. I use a folder called # Applications in my home directory for
> programs
> and libraries I build from scratch and usually keep the
> # sources there so i can easily rebuild if I strike a problem, but that is
> just a personal preference.
>
> #Open a terminal/bash shell and then cd to the extracted folder
> gnucash-3.0.
>
> # this loads compilers,dev tools etc as per
> https://packages.ubuntu.com/xenial/build-essential
> $sudo apt install build essential
> $sudo apt install cmake
>
> #the next step is to install the gnucash dependencies as listed in the
> README.dependencies file under the #gnucash-3.0 folder. This generally
> lists
> the minimum version of the libraries required. You will generally find
> that
> Ubuntu will in most cases load a later version. I will list the command to
> load  followed by the required version as in that file as a #comment
> separated by a #. The list on https://wiki.gnucash.org/wiki/Building lists
> the development headers that are required but you may also need to load the
> libraries as well
>
> sudo apt-get install libtool libltdl-dev
> #glib2 >v2.40.0
> sudo apt-get install libglib2.0 libglib2.0-dev
> sudo apt-get install icu-devtools libicu-dev
> # boost > 1.50.0
> sudo apt-get install libboost-all-dev
> # guile >=2.0.0
> sudo apt-get install guile-2.0 guile-2.0-dev
> #swig  >2.0.10
> sudo apt-get install swig2.0
> sudo apt-get install libxml2 libxml++2.6-dev
> sudo apt-get install libxslt1.1 libxslt1-dev
> sudo apt-get install xsltproc
> sudo apt-get install libgtest-dev
> sudo apt-get install gtk+3.0
> sudo apt-get install libgtk-3-dev
> sudo apt-get install libwebkit2gtk-4.0-37
> sudo apt-get install libwebkit2gtk-4.0-dev
> sudo apt-get install libdbi1 libdbi-dev
> # if you use a database backend  rather than the default XML backaend
> # you need to load at least one of the following
> # and choose the one relevant to the database you want to use
> sudo apt-get install libdbd-pgsql   #PostgreSQL database
> sudo apt-get install libdbd-mysql  # MySQL database
> sudo -get install libdbd-sqlite3 #Sqlite database
> # these are needed if you use online banking tools
> sudo apt-get install libofx6 libofx4 libofx-dev
> dpkg -lsudo apt-get aqbanking-tools libaqbanking-dev
> # this is required on linux systems it may be already installed but will
> tell you if it is
> sudo apt-get install dconf-cli
> #
> # you can check out what versions of packages are installed or not using
> the
> following command
> dpkg -l | grep 
> # here  can be the actual package name or a substring. grep
> will extract anything
> # from the dpkg -l output which contains that substring
> #
> # The next step is getting googletest setup. The version from the Ubuntu
> repository is 1.7.0 and does not
> # contain gmock within the gtest download. V1.8.0 has both in the one
> repository and is a little bit easier
> #  to setup. Google do not recommend using googlemock and googletest as
> shared dynamically linked
> #  libraries because if a program is compiled with different compiler flags
> from the libraries links to them
> # at run time they can fail something I did not appreciate but I haven't
> had
> any problems so far.
> # To set it up as recommended by Google and the developers, at a terminal
> opened in a suitable folder (e.g. $HOME/Applications is what I use)  enter:
> #
> git clone https://github.com/google/googletest.git
> #
> #this 

Re: [GNC-dev] GnuCash 3.0 wine versus Windoze 10

2018-04-20 Thread DaveC49
Jeffrey,

I will start form scratch. The first step is setting up for building. My
apologies if I am teaching you to suck eggs. Linux Mint has an alias of apt
defined for apt-get. I am not sure if it is also defined in Ubuntu. If not
substitute apt-get where I have apt in the following.

# first download a copy of the gnucash source code gnucash-3.0.tar.bz2 from
# https://www.gnucash.org/download.phtml and extract the gnucash-3.0 source
file. I use a folder called # Applications in my home directory for programs
and libraries I build from scratch and usually keep the 
# sources there so i can easily rebuild if I strike a problem, but that is
just a personal preference. 

#Open a terminal/bash shell and then cd to the extracted folder gnucash-3.0.

# this loads compilers,dev tools etc as per
https://packages.ubuntu.com/xenial/build-essential
$sudo apt install build essential
$sudo apt install cmake 

#the next step is to install the gnucash dependencies as listed in the
README.dependencies file under the #gnucash-3.0 folder. This generally lists
the minimum version of the libraries required. You will generally find that 
Ubuntu will in most cases load a later version. I will list the command to
load  followed by the required version as in that file as a #comment
separated by a #. The list on https://wiki.gnucash.org/wiki/Building lists
the development headers that are required but you may also need to load the
libraries as well

sudo apt-get install libtool libltdl-dev
#glib2 >v2.40.0
sudo apt-get install libglib2.0 libglib2.0-dev
sudo apt-get install icu-devtools libicu-dev
# boost > 1.50.0
sudo apt-get install libboost-all-dev
# guile >=2.0.0  
sudo apt-get install guile-2.0 guile-2.0-dev
#swig  >2.0.10
sudo apt-get install swig2.0
sudo apt-get install libxml2 libxml++2.6-dev
sudo apt-get install libxslt1.1 libxslt1-dev
sudo apt-get install xsltproc
sudo apt-get install libgtest-dev
sudo apt-get install gtk+3.0
sudo apt-get install libgtk-3-dev
sudo apt-get install libwebkit2gtk-4.0-37
sudo apt-get install libwebkit2gtk-4.0-dev
sudo apt-get install libdbi1 libdbi-dev
# if you use a database backend  rather than the default XML backaend
# you need to load at least one of the following
# and choose the one relevant to the database you want to use
sudo apt-get install libdbd-pgsql   #PostgreSQL database
sudo apt-get install libdbd-mysql  # MySQL database
sudo -get install libdbd-sqlite3 #Sqlite database
# these are needed if you use online banking tools
sudo apt-get install libofx6 libofx4 libofx-dev
dpkg -lsudo apt-get aqbanking-tools libaqbanking-dev
# this is required on linux systems it may be already installed but will
tell you if it is
sudo apt-get install dconf-cli
#
# you can check out what versions of packages are installed or not using the
following command
dpkg -l | grep 
# here  can be the actual package name or a substring. grep
will extract anything
# from the dpkg -l output which contains that substring
#
# The next step is getting googletest setup. The version from the Ubuntu
repository is 1.7.0 and does not
# contain gmock within the gtest download. V1.8.0 has both in the one
repository and is a little bit easier
#  to setup. Google do not recommend using googlemock and googletest as
shared dynamically linked
#  libraries because if a program is compiled with different compiler flags
from the libraries links to them
# at run time they can fail something I did not appreciate but I haven't had
any problems so far.
# To set it up as recommended by Google and the developers, at a terminal
opened in a suitable folder (e.g. $HOME/Applications is what I use)  enter:
#
git clone https://github.com/google/googletest.git
#
#this will create a folder googletest-master which has sub folders
googletest and googlemock
#
cd googletest-master
cmake -D BUILD_GTEST -DBUILD_GMOCK
make
# this creates the gtest and gmock libraries within the googletest-master
folder but does not install them
# as shared dynamically linked libraries. You then need to create
environment variables pointing to the
# top level folders containing these libraries
export GTEST_ROOT=/googletest
export GMOCK_ROOT=/googlemock
# where  is in my case
$HOME/Applications/googletest-master. This allows
# CMake to find the googletest and googlemock libraries and include files to
link into the program.
#
# At this point you should be ready to build gnucash. I prefer to install it
in the /usr/local folder. This is
# where the linux distros generally install it. If your previous version was
installed from a Linux 
# distribution this is normally where it will be. It can also be installed
under /opt. The essential step I 
# found was to ensure that all traces of any previous version of GnuCash
were removed before doing
# the build. 
#If you previously had a version from the Linux distro
sudo apt-get remove gnucash
# should achieve this. If you built a previous version from sources and
still have the build sources
# change to the  build 

Re: [GNC-dev] GnuCash 3.0 wine versus Windoze 10

2018-04-19 Thread jeffrey black
On 04/19/2018 02:38 AM, DaveC49 wrote:
> Jeffrey,
>
> There should be no significant difference in building Gnucash 3.0 on Ubuntu
> Xenial from Linux Mint 18.3 which I have just finished doing, if you need
> some guidance in doing that. I have proposed a rewrite of the Wiki page to
> the developers to try and make the build instructions a bit more
> straightforward and a bit more comprehensive. I used the latest version of
> googletest v 1.8.0 from github. Unlike the previous versions it can be
> readily installed as shared libraries. I can send instructions for setting
> that up if you wish. At present using shared libraries requires a patch to
> some of the CMake files to detect the shared googletest libraries which
> isn't to my knowledge yet in the stable branch at this stage, but I can send
> you already patched versions to just insert into the v3.0 download over the
> previous versions. The only build problems I had were ensuring that the
> previous build libraries, include files etc had been removed and correctly
> addressing the correct toplevel CmakeLists.txt file from the Cmake file (my
> own lack of understanding of CMake when I started).
>
> As far as I know the main datafile structure has not changed and it is only
> the user preference files which changed from V2.6.19 to v3.0 so if you are
> running different versions on different machines, they should transfer OK.
> The only problem would be if v3.0, in new features, added new information
> that v 2.6.19 was unable to interpret.
>
> David Cousens
>
>
>
> -
> David Cousens
> --
> Sent from: http://gnucash.1415818.n4.nabble.com/GnuCash-Dev-f1435356.html
> ___
> gnucash-devel mailing list
> gnucash-devel@gnucash.org
> https://lists.gnucash.org/mailman/listinfo/gnucash-devel
> .
>
David:

I am willing to give it a shot.  Being able to do a native build of my 
own would give me greater insight into how all of the files are tied 
together, and possibly give me a chance to use newer versions sooner.  
Once all of my computer issues are corrected I will probably switch to 
Mint but; right now Ubuntu is up and running, allowing me to access my 
crashed Windoze server, non-propriety data only.  And I now have file 
sharing with my laptop.  I do not want to risk breaking this system any 
further right now, until I can get the Windoze server to boot again.

The build documentation was more than a little confusing in places, for 
a nooby trying to do his first build.  There are directions and examples 
that literally did not make sense, unless you are fully familiar with 
doing a build.  Instead of doing a parallel processing build, I felt 
like I was doing a parallel read of documentation and the reads were out 
of sync.

And cmake is entirely new to me.  It kept throwing error messages, some 
of which I managed to find and correct, finally I gave up.  30 years ago 
I swallowed new programming languages like jellybeans, today it takes a 
manual and 3 sledge hammers.

--JEffrey Black M.B.A.


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


Re: [GNC-dev] GnuCash 3.0 wine versus Windoze 10

2018-04-19 Thread DaveC49
Jeffrey,

There should be no significant difference in building Gnucash 3.0 on Ubuntu
Xenial from Linux Mint 18.3 which I have just finished doing, if you need
some guidance in doing that. I have proposed a rewrite of the Wiki page to
the developers to try and make the build instructions a bit more
straightforward and a bit more comprehensive. I used the latest version of
googletest v 1.8.0 from github. Unlike the previous versions it can be
readily installed as shared libraries. I can send instructions for setting
that up if you wish. At present using shared libraries requires a patch to
some of the CMake files to detect the shared googletest libraries which
isn't to my knowledge yet in the stable branch at this stage, but I can send
you already patched versions to just insert into the v3.0 download over the
previous versions. The only build problems I had were ensuring that the
previous build libraries, include files etc had been removed and correctly
addressing the correct toplevel CmakeLists.txt file from the Cmake file (my
own lack of understanding of CMake when I started).

As far as I know the main datafile structure has not changed and it is only
the user preference files which changed from V2.6.19 to v3.0 so if you are
running different versions on different machines, they should transfer OK.
The only problem would be if v3.0, in new features, added new information
that v 2.6.19 was unable to interpret.

David Cousens



-
David Cousens
--
Sent from: http://gnucash.1415818.n4.nabble.com/GnuCash-Dev-f1435356.html
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: [GNC-dev] GnuCash 3.0 wine versus Windoze 10

2018-04-18 Thread Alen Siljak
Jeffrey, perhaps a stupid question - why don't you install a native linux 
version of GnuCash instead of running a Windows version under Wine?
I use the same xml/sql book with linux and windows versions interchangably and 
there are no issues (that I can see, at least!). 
Also, just for comparison, Windows version loads my book in ~30 seconds while 
linux version loads the same book in 5. You may even benefit from an increased 
performance.

Versions 3.0 and 2.6.19 are not compatible. Version 2.6.21 should be, though. 
However, can't confirm that 100% as I've moved to 3.0 and it worked ok for me 
so far.


> Sent: Wednesday, April 18, 2018 at 9:40 AM
> From: "jeffrey black" <beastmaster...@hotmail.com>
> To: "Gnucash userlist" <gnucash-u...@gnucash.org>, gnucash-devel 
> <gnucash-devel@gnucash.org>
> Subject: [GNC-dev] GnuCash 3.0 wine versus Windoze 10
>
> Before I do something incredibly stupid, like I did in hard crashing my 
> Windoze server because of a virus (IRS search miss-key, go figure), and 
> the boot partitions seem to be non-repairable even though all data and 
> programs are still on disk.  (And yes, I know stupid of me to not have a 
> current backup).  I still have legacy apps with data stored internally 
> that are not extractable without Windoze and without a reliable backup 
> per partition, per drive, I am not going to touch those drives until I 
> can find a way to recover everything.
> 
> Can GnuCash 3.0 be run under Wine on Ubuntu Xenial?  3.0 has features 
> that I need.  It wants to install on only my Windoze dives which I will 
> not do until I have all of the data extracted. I have been unable to 
> build 3.0 from source code.  (yes I know Mint is a better choice but; 
> until I recover all of the data from Windoze I am not changing, Ubuntu 
> is up and running, Hallelujah, on it's own dedicated drive).
> 
> Second Question:  My laptop still has Windoze 10 home, so can I install 
> GnuCash 3.0 on it and use it with Windoze GnuCash Version 2.6.19 data 
> files on the server files which are still accessible via Ubuntu file 
> share with Windoze 10?  Are the data files compatible?  I have 20+ years 
> of data that I definitely can not afford to loose (think divorce).
>
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: [GNC-dev] GnuCash 3.0 wine versus Windoze 10

2018-04-18 Thread Colin Law
Gnucash runs better on a Linux system than it does on Windows.  My
understanding is that it is Linux s/w adapted to run on Windows.  So if you
want to run Ubuntu ( which is an excellent idea) then run GC natively on
that, not under wine.  You will be able to install gnucash from the
software manager, it will install a 2.x version not 3.x as that has not yet
worked its way into the repositories.

For recovering your data boot of a live Ubuntu DVD/USB stick and then you
will be able to copy the files off the disc onto another stick or network
drive.

Colin

On 18 April 2018 at 08:40, jeffrey black  wrote:

> Before I do something incredibly stupid, like I did in hard crashing my
> Windoze server because of a virus (IRS search miss-key, go figure), and
> the boot partitions seem to be non-repairable even though all data and
> programs are still on disk.  (And yes, I know stupid of me to not have a
> current backup).  I still have legacy apps with data stored internally
> that are not extractable without Windoze and without a reliable backup
> per partition, per drive, I am not going to touch those drives until I
> can find a way to recover everything.
>
> Can GnuCash 3.0 be run under Wine on Ubuntu Xenial?  3.0 has features
> that I need.  It wants to install on only my Windoze dives which I will
> not do until I have all of the data extracted. I have been unable to
> build 3.0 from source code.  (yes I know Mint is a better choice but;
> until I recover all of the data from Windoze I am not changing, Ubuntu
> is up and running, Hallelujah, on it's own dedicated drive).
>
> Second Question:  My laptop still has Windoze 10 home, so can I install
> GnuCash 3.0 on it and use it with Windoze GnuCash Version 2.6.19 data
> files on the server files which are still accessible via Ubuntu file
> share with Windoze 10?  Are the data files compatible?  I have 20+ years
> of data that I definitely can not afford to loose (think divorce).
>
> --JEffrey Black M.B.A.
>
>
>
> ___
> gnucash-devel mailing list
> gnucash-devel@gnucash.org
> https://lists.gnucash.org/mailman/listinfo/gnucash-devel
>
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


[GNC-dev] GnuCash 3.0 wine versus Windoze 10

2018-04-18 Thread jeffrey black
Before I do something incredibly stupid, like I did in hard crashing my 
Windoze server because of a virus (IRS search miss-key, go figure), and 
the boot partitions seem to be non-repairable even though all data and 
programs are still on disk.  (And yes, I know stupid of me to not have a 
current backup).  I still have legacy apps with data stored internally 
that are not extractable without Windoze and without a reliable backup 
per partition, per drive, I am not going to touch those drives until I 
can find a way to recover everything.

Can GnuCash 3.0 be run under Wine on Ubuntu Xenial?  3.0 has features 
that I need.  It wants to install on only my Windoze dives which I will 
not do until I have all of the data extracted. I have been unable to 
build 3.0 from source code.  (yes I know Mint is a better choice but; 
until I recover all of the data from Windoze I am not changing, Ubuntu 
is up and running, Hallelujah, on it's own dedicated drive).

Second Question:  My laptop still has Windoze 10 home, so can I install 
GnuCash 3.0 on it and use it with Windoze GnuCash Version 2.6.19 data 
files on the server files which are still accessible via Ubuntu file 
share with Windoze 10?  Are the data files compatible?  I have 20+ years 
of data that I definitely can not afford to loose (think divorce).

--JEffrey Black M.B.A.



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