Build issues and some free testing

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Build issues and some free testing

Robert Merkel
Hello all.

If you dig far enough into the mailing list archives or the changelogs, you
might find me :)

I spoke to Christopher Lam recently, who told me about the work he's been
doing on the transaction report which I worked on many many years ago.

These days, my day job is teaching students about software engineering and,
this upcoming semester, I'm teaching a unit on testing and quality
assurance.  For one of the assignments, we need some software for students
to test, and I thought I might get them to test Gnucash.

So, for the first time for quite a while, I have tried to download and
build gnucash from the git repository using cmake.  I've found the
following build issues:

* The build process requires xsltproc and makeinfo, which are not mentioned
in the dependency list and cmake doesn't seem to check for them.

* The build failed on my Ubuntu machine with the stock version of
libwebkit2-gtk available on that distribution (2.4.11).  It appears that
Gnucash requires version
2.6 of this library, as "WebKitNavigationAction" was apparently added in
version 2.6.  Again, the minimum version isn't listed and cmake doesn't
have a check for it.

Hope this is useful.

Regards,

Robert Merkel.

PS Specific build error follows below:

/home/xubuntu/src/gnucash/gnucash/html/gnc-html-webkit2.c: In function
‘perform_navigation_policy’:
/home/xubuntu/src/gnucash/gnucash/html/gnc-html-webkit2.c:604:6: error:
unknown type name ‘WebKitNavigationAction’
      WebKitNavigationAction *action =
      ^
/home/xubuntu/src/gnucash/gnucash/html/gnc-html-webkit2.c:605:7: error:
implicit declaration of function
‘webkit_navigation_policy_decision_get_navigation_action’
[-Werror=implicit-function-declaration]
       webkit_navigation_policy_decision_get_navigation_action (decision);
       ^
/home/xubuntu/src/gnucash/gnucash/html/gnc-html-webkit2.c:605:7: error:
initialization makes pointer from integer without a cast
[-Werror=int-conversion]
/home/xubuntu/src/gnucash/gnucash/html/gnc-html-webkit2.c:606:10: error:
implicit declaration of function
‘webkit_navigation_action_get_navigation_type’
[-Werror=implicit-function-declaration]
      if (webkit_navigation_action_get_navigation_type (action) !=
          ^
/home/xubuntu/src/gnucash/gnucash/html/gnc-html-webkit2.c:612:12: error:
implicit declaration of function ‘webkit_navigation_action_get_request’
[-Werror=implicit-function-declaration]
      req = webkit_navigation_action_get_request (action);
            ^
/home/xubuntu/src/gnucash/gnucash/html/gnc-html-webkit2.c:612:10: error:
assignment makes pointer from integer without a cast
[-Werror=int-conversion]
      req = webkit_navigation_action_get_request (action);
          ^
cc1: all warnings being treated as errors
gnucash/html/CMakeFiles/gncmod-html.dir/build.make:163: recipe for target
'gnucash/html/CMakeFiles/gncmod-html.dir/gnc-html-webkit2.c.o' failed
make[2]: *** [gnucash/html/CMakeFiles/gncmod-html.dir/gnc-html-webkit2.c.o]
Error 1
CMakeFiles/Makefile2:8610: recipe for target
'gnucash/html/CMakeFiles/gncmod-html.dir/all' failed
make[1]: *** [gnucash/html/CMakeFiles/gncmod-html.dir/all] Error 2
Makefile:160: recipe for target 'all' faile
_______________________________________________
gnucash-devel mailing list
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Reply | Threaded
Open this post in threaded view
|

Re: Build issues and some free testing

Tommy Trussell
On Mon, Jan 22, 2018 at 8:56 PM, Robert Merkel <[hidden email]>
wrote:

> So, for the first time for quite a while, I have tried to download and
> build gnucash from the git repository using cmake.  I've found the
> following build issues:
>
> * The build process requires xsltproc and makeinfo, which are not mentioned
> in the dependency list and cmake doesn't seem to check for them.
>
> * The build failed on my Ubuntu machine with the stock version of
> libwebkit2-gtk available on that distribution (2.4.11).  It appears that
> Gnucash requires version
> 2.6 of this library, as "WebKitNavigationAction" was apparently added in
> version 2.6.  Again, the minimum version isn't listed and cmake doesn't
> have a check for it.
>
>
Hi -- I have been tinkering with the Ubuntu builds lately myself, but
mainly because GetDeb has gotten behind, and I'm trying to teach myself
enough packaging to figure out if I can help. Unfortunately "backporting"
even the stable GnuCash packages to Ubuntu 16.04 LTS "Xenial" in recent
months has become trickier as it drifts farther from the current release of
Debian.

You didn't mention which version of Ubuntu you are building for, nor which
release of GnuCash you're building. I presume you're probably building the
unstable release of GnuCash.

As an Ubuntu user you might find it interesting looking at the Debian
Tracker for Gnucash so you can see what the Debian maintainer for the
GnuCash package is up to. The tracker also shows the latest version that
has been automatically included in the development release of Ubuntu, and
links to the launchpad pages.

https://tracker.debian.org/pkg/gnucash

Be sure to hover over all the symbols and follow some of the links to get
more of the useful information that dense tracker page points to.

As you can see Micha Lenk is keeping close track of the 2.7 / 3.0 release
(because otherwise GnuCash was to get dropped from Debian due to the legacy
dependence upon the old webkit) but the package is only barely in
Experimental. If you notice his .dsc file for GnuCash 2.7.3 has these
dependencies (which of course are Debian package names, some of which may
differ from your version of Ubuntu):

Build-Depends: debhelper (>= 10), intltool, pkg-config, dh-python, cmake,
> googletest, guile-2.0-dev, imagemagick, libaqbanking-dev, libboost-dev,
> libboost-date-time-dev, libboost-filesystem-dev, libboost-locale-dev,
> libboost-regex-dev, libdbi-dev, libdbd-sqlite3, libglib2.0-dev,
> libsecret-1-dev, libgoffice-0.10-dev, libgtk-3-dev, libgwengui-gtk2-dev,
> libofx-dev, libwebkit2gtk-4.0-dev, libxml2-dev, libxslt1-dev, python,
> python-dev, texinfo, xsltproc, zlib1g-dev, locales-all
> Build-Conflicts: guile-1.8



As we get closer to release maybe you can add your collected hints or tips
on the relevant page(s) on the GnuCash wiki. I presume the Building page
might need new sections to cover GnuCash unstable /2.7.x/ 3.0 and the
upcoming Ubuntu 18.04 LTS "Bionic" release as it passes its freeze dates.

https://wiki.gnucash.org/wiki/Building

https://wiki.gnucash.org/wiki/Ubuntu


> ______________
> gnucash-devel mailing list
> [hidden email]
> https://lists.gnucash.org/mailman/listinfo/gnucash-devel
>
_______________________________________________
gnucash-devel mailing list
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Reply | Threaded
Open this post in threaded view
|

Re: Build issues and some free testing

John Ralls-2
In reply to this post by Robert Merkel


> On Jan 22, 2018, at 6:56 PM, Robert Merkel <[hidden email]> wrote:
>
> Hello all.
>
> If you dig far enough into the mailing list archives or the changelogs, you
> might find me :)
>
> I spoke to Christopher Lam recently, who told me about the work he's been
> doing on the transaction report which I worked on many many years ago.
>
> These days, my day job is teaching students about software engineering and,
> this upcoming semester, I'm teaching a unit on testing and quality
> assurance.  For one of the assignments, we need some software for students
> to test, and I thought I might get them to test Gnucash.
>
> So, for the first time for quite a while, I have tried to download and
> build gnucash from the git repository using cmake.  I've found the
> following build issues:
>
> * The build process requires xsltproc and makeinfo, which are not mentioned
> in the dependency list and cmake doesn't seem to check for them.
>
> * The build failed on my Ubuntu machine with the stock version of
> libwebkit2-gtk available on that distribution (2.4.11).  It appears that
> Gnucash requires version
> 2.6 of this library, as "WebKitNavigationAction" was apparently added in
> version 2.6.  Again, the minimum version isn't listed and cmake doesn't
> have a check for it.

Hi, Robert.

Welcome back! Chris mentioned his meeting with you on IRC.

Thanks for bringing those to our attention. I've pushed a fix.

You will need to install xsltproc. In some distros it's part of the libxslt package, which may be why it wasn't mentioned separately in README.dependencies. You won't need makeinfo, I've made that optional. It's only for an obsolete design information document that is now mostly superseded by Doxygen comments.

The webkit2gtk-3.0 package provided by Ubuntu 14.04LTS is fine, and CMake did correctly detect it and set the compile accordingly--the first time through. If you then subsequently ran cmake again it would see that WEBKIT_FOUND was true and set up for the preferred webkit2gtk-4.0. I've corrected that by having separate WEBKIT2_3_FOUND and WEBKIT2_4_FOUND variables.

Regards,
John Ralls


_______________________________________________
gnucash-devel mailing list
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Reply | Threaded
Open this post in threaded view
|

Re: Build issues and some free testing

Robert Merkel
Thanks all.

I realised the VM I was working with was an LTS version, and upgraded to
the most recent Ubuntu release.  Gnucash built without problems in the
upgraded VM.

It seems like the fixes were a good piece of housekeeping anyway.

Just to let you know it's looking increasingly likely I'm going to have a
bunch of students poking and prodding at gnucash some time in April.  I'll
make sure to file bug reports for any real bugs they find.  I'll ask them
to route any questions they have through me, so it shouldn't result in
masses of mailing list traffic.

Regards,

Robert.

On Wed, 24 Jan 2018 at 11:19 John Ralls <[hidden email]> wrote:

>
>
> > On Jan 22, 2018, at 6:56 PM, Robert Merkel <[hidden email]>
> wrote:
> >
> > Hello all.
> >
> > If you dig far enough into the mailing list archives or the changelogs,
> you
> > might find me :)
> >
> > I spoke to Christopher Lam recently, who told me about the work he's been
> > doing on the transaction report which I worked on many many years ago.
> >
> > These days, my day job is teaching students about software engineering
> and,
> > this upcoming semester, I'm teaching a unit on testing and quality
> > assurance.  For one of the assignments, we need some software for
> students
> > to test, and I thought I might get them to test Gnucash.
> >
> > So, for the first time for quite a while, I have tried to download and
> > build gnucash from the git repository using cmake.  I've found the
> > following build issues:
> >
> > * The build process requires xsltproc and makeinfo, which are not
> mentioned
> > in the dependency list and cmake doesn't seem to check for them.
> >
> > * The build failed on my Ubuntu machine with the stock version of
> > libwebkit2-gtk available on that distribution (2.4.11).  It appears that
> > Gnucash requires version
> > 2.6 of this library, as "WebKitNavigationAction" was apparently added in
> > version 2.6.  Again, the minimum version isn't listed and cmake doesn't
> > have a check for it.
>
> Hi, Robert.
>
> Welcome back! Chris mentioned his meeting with you on IRC.
>
> Thanks for bringing those to our attention. I've pushed a fix.
>
> You will need to install xsltproc. In some distros it's part of the
> libxslt package, which may be why it wasn't mentioned separately in
> README.dependencies. You won't need makeinfo, I've made that optional. It's
> only for an obsolete design information document that is now mostly
> superseded by Doxygen comments.
>
> The webkit2gtk-3.0 package provided by Ubuntu 14.04LTS is fine, and CMake
> did correctly detect it and set the compile accordingly--the first time
> through. If you then subsequently ran cmake again it would see that
> WEBKIT_FOUND was true and set up for the preferred webkit2gtk-4.0. I've
> corrected that by having separate WEBKIT2_3_FOUND and WEBKIT2_4_FOUND
> variables.
>
> Regards,
> John Ralls
>
>
>
_______________________________________________
gnucash-devel mailing list
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Reply | Threaded
Open this post in threaded view
|

Re: Build issues and some free testing

John Ralls-2
Robert,

Cool. If they should wind up writing some nice unit tests for areas where our coverage is poor (pretty much everywhere) we’ll happily and gratefully take them.

Regards,
John Ralls

> On Jan 23, 2018, at 4:26 PM, Robert Merkel <[hidden email]> wrote:
>
> Thanks all.
>
> I realised the VM I was working with was an LTS version, and upgraded to the most recent Ubuntu release.  Gnucash built without problems in the upgraded VM.
>
> It seems like the fixes were a good piece of housekeeping anyway.
>
> Just to let you know it's looking increasingly likely I'm going to have a bunch of students poking and prodding at gnucash some time in April.  I'll make sure to file bug reports for any real bugs they find.  I'll ask them to route any questions they have through me, so it shouldn't result in masses of mailing list traffic.
>
> Regards,
>
> Robert.
>
> On Wed, 24 Jan 2018 at 11:19 John Ralls <[hidden email] <mailto:[hidden email]>> wrote:
>
>
> > On Jan 22, 2018, at 6:56 PM, Robert Merkel <[hidden email] <mailto:[hidden email]>> wrote:
> >
> > Hello all.
> >
> > If you dig far enough into the mailing list archives or the changelogs, you
> > might find me :)
> >
> > I spoke to Christopher Lam recently, who told me about the work he's been
> > doing on the transaction report which I worked on many many years ago.
> >
> > These days, my day job is teaching students about software engineering and,
> > this upcoming semester, I'm teaching a unit on testing and quality
> > assurance.  For one of the assignments, we need some software for students
> > to test, and I thought I might get them to test Gnucash.
> >
> > So, for the first time for quite a while, I have tried to download and
> > build gnucash from the git repository using cmake.  I've found the
> > following build issues:
> >
> > * The build process requires xsltproc and makeinfo, which are not mentioned
> > in the dependency list and cmake doesn't seem to check for them.
> >
> > * The build failed on my Ubuntu machine with the stock version of
> > libwebkit2-gtk available on that distribution (2.4.11).  It appears that
> > Gnucash requires version
> > 2.6 of this library, as "WebKitNavigationAction" was apparently added in
> > version 2.6.  Again, the minimum version isn't listed and cmake doesn't
> > have a check for it.
>
> Hi, Robert.
>
> Welcome back! Chris mentioned his meeting with you on IRC.
>
> Thanks for bringing those to our attention. I've pushed a fix.
>
> You will need to install xsltproc. In some distros it's part of the libxslt package, which may be why it wasn't mentioned separately in README.dependencies. You won't need makeinfo, I've made that optional. It's only for an obsolete design information document that is now mostly superseded by Doxygen comments.
>
> The webkit2gtk-3.0 package provided by Ubuntu 14.04LTS is fine, and CMake did correctly detect it and set the compile accordingly--the first time through. If you then subsequently ran cmake again it would see that WEBKIT_FOUND was true and set up for the preferred webkit2gtk-4.0. I've corrected that by having separate WEBKIT2_3_FOUND and WEBKIT2_4_FOUND variables.
>
> Regards,
> John Ralls
>
>

_______________________________________________
gnucash-devel mailing list
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Reply | Threaded
Open this post in threaded view
|

Re: [GNC-dev] Build issues and some free testing

Christopher Lam
Dear rgmerk
Finally understood the use for combinatorics :)
https://github.com/Gnucash/gnucash/commit/da1d1b9a47939ad08ac645024f448a4820103ad8#diff-1625b4f2db9166674389d58f2f585131R497
SRFI-64 is now firmly established as the testing framework to be used in
Gnucash from now on.
I think transaction.scm and invoice.scm now have about 90% code coverage.
I'll add more as time goes on...
Chris

On 24 January 2018 at 11:59, John Ralls <[hidden email]> wrote:

> Robert,
>
> Cool. If they should wind up writing some nice unit tests for areas where
> our coverage is poor (pretty much everywhere) we’ll happily and gratefully
> take them.
>
> Regards,
> John Ralls
>
> > On Jan 23, 2018, at 4:26 PM, Robert Merkel <[hidden email]>
> wrote:
> >
> > Thanks all.
> >
> > I realised the VM I was working with was an LTS version, and upgraded to
> the most recent Ubuntu release.  Gnucash built without problems in the
> upgraded VM.
> >
> > It seems like the fixes were a good piece of housekeeping anyway.
> >
> > Just to let you know it's looking increasingly likely I'm going to have
> a bunch of students poking and prodding at gnucash some time in April.
> I'll make sure to file bug reports for any real bugs they find.  I'll ask
> them to route any questions they have through me, so it shouldn't result in
> masses of mailing list traffic.
> >
> > Regards,
> >
> > Robert.
> >
> > On Wed, 24 Jan 2018 at 11:19 John Ralls <[hidden email] <mailto:
> [hidden email]>> wrote:
> >
> >
> > > On Jan 22, 2018, at 6:56 PM, Robert Merkel <[hidden email]
> <mailto:[hidden email]>> wrote:
> > >
> > > Hello all.
> > >
> > > If you dig far enough into the mailing list archives or the
> changelogs, you
> > > might find me :)
> > >
> > > I spoke to Christopher Lam recently, who told me about the work he's
> been
> > > doing on the transaction report which I worked on many many years ago.
> > >
> > > These days, my day job is teaching students about software engineering
> and,
> > > this upcoming semester, I'm teaching a unit on testing and quality
> > > assurance.  For one of the assignments, we need some software for
> students
> > > to test, and I thought I might get them to test Gnucash.
> > >
> > > So, for the first time for quite a while, I have tried to download and
> > > build gnucash from the git repository using cmake.  I've found the
> > > following build issues:
> > >
> > > * The build process requires xsltproc and makeinfo, which are not
> mentioned
> > > in the dependency list and cmake doesn't seem to check for them.
> > >
> > > * The build failed on my Ubuntu machine with the stock version of
> > > libwebkit2-gtk available on that distribution (2.4.11).  It appears
> that
> > > Gnucash requires version
> > > 2.6 of this library, as "WebKitNavigationAction" was apparently added
> in
> > > version 2.6.  Again, the minimum version isn't listed and cmake doesn't
> > > have a check for it.
> >
> > Hi, Robert.
> >
> > Welcome back! Chris mentioned his meeting with you on IRC.
> >
> > Thanks for bringing those to our attention. I've pushed a fix.
> >
> > You will need to install xsltproc. In some distros it's part of the
> libxslt package, which may be why it wasn't mentioned separately in
> README.dependencies. You won't need makeinfo, I've made that optional. It's
> only for an obsolete design information document that is now mostly
> superseded by Doxygen comments.
> >
> > The webkit2gtk-3.0 package provided by Ubuntu 14.04LTS is fine, and
> CMake did correctly detect it and set the compile accordingly--the first
> time through. If you then subsequently ran cmake again it would see that
> WEBKIT_FOUND was true and set up for the preferred webkit2gtk-4.0. I've
> corrected that by having separate WEBKIT2_3_FOUND and WEBKIT2_4_FOUND
> variables.
> >
> > Regards,
> > John Ralls
> >
> >
>
> _______________________________________________
> gnucash-devel mailing list
> [hidden email]
> https://lists.gnucash.org/mailman/listinfo/gnucash-devel
>
_______________________________________________
gnucash-devel mailing list
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Reply | Threaded
Open this post in threaded view
|

Re: [GNC-dev] Build issues and some free testing

Robert Merkel
Win!

By the way, 90% code coverage seems to be better, if anything, than what
industry does.

Cheers,

Robert.

On Wed, Jun 13, 2018 at 2:32 PM, Christopher Lam <[hidden email]>
wrote:

> Dear rgmerk
> Finally understood the use for combinatorics :)
> https://github.com/Gnucash/gnucash/commit/da1d1b9a47939ad08ac645024f448a
> 4820103ad8#diff-1625b4f2db9166674389d58f2f585131R497
> SRFI-64 is now firmly established as the testing framework to be used in
> Gnucash from now on.
> I think transaction.scm and invoice.scm now have about 90% code coverage.
> I'll add more as time goes on...
> Chris
>
> On 24 January 2018 at 11:59, John Ralls <[hidden email]> wrote:
>
>> Robert,
>>
>> Cool. If they should wind up writing some nice unit tests for areas where
>> our coverage is poor (pretty much everywhere) we’ll happily and gratefully
>> take them.
>>
>> Regards,
>> John Ralls
>>
>> > On Jan 23, 2018, at 4:26 PM, Robert Merkel <[hidden email]>
>> wrote:
>> >
>> > Thanks all.
>> >
>> > I realised the VM I was working with was an LTS version, and upgraded
>> to the most recent Ubuntu release.  Gnucash built without problems in the
>> upgraded VM.
>> >
>> > It seems like the fixes were a good piece of housekeeping anyway.
>> >
>> > Just to let you know it's looking increasingly likely I'm going to have
>> a bunch of students poking and prodding at gnucash some time in April.
>> I'll make sure to file bug reports for any real bugs they find.  I'll ask
>> them to route any questions they have through me, so it shouldn't result in
>> masses of mailing list traffic.
>> >
>> > Regards,
>> >
>> > Robert.
>> >
>> > On Wed, 24 Jan 2018 at 11:19 John Ralls <[hidden email] <mailto:
>> [hidden email]>> wrote:
>> >
>> >
>> > > On Jan 22, 2018, at 6:56 PM, Robert Merkel <
>> [hidden email] <mailto:[hidden email]>> wrote:
>> > >
>> > > Hello all.
>> > >
>> > > If you dig far enough into the mailing list archives or the
>> changelogs, you
>> > > might find me :)
>> > >
>> > > I spoke to Christopher Lam recently, who told me about the work he's
>> been
>> > > doing on the transaction report which I worked on many many years ago.
>> > >
>> > > These days, my day job is teaching students about software
>> engineering and,
>> > > this upcoming semester, I'm teaching a unit on testing and quality
>> > > assurance.  For one of the assignments, we need some software for
>> students
>> > > to test, and I thought I might get them to test Gnucash.
>> > >
>> > > So, for the first time for quite a while, I have tried to download and
>> > > build gnucash from the git repository using cmake.  I've found the
>> > > following build issues:
>> > >
>> > > * The build process requires xsltproc and makeinfo, which are not
>> mentioned
>> > > in the dependency list and cmake doesn't seem to check for them.
>> > >
>> > > * The build failed on my Ubuntu machine with the stock version of
>> > > libwebkit2-gtk available on that distribution (2.4.11).  It appears
>> that
>> > > Gnucash requires version
>> > > 2.6 of this library, as "WebKitNavigationAction" was apparently added
>> in
>> > > version 2.6.  Again, the minimum version isn't listed and cmake
>> doesn't
>> > > have a check for it.
>> >
>> > Hi, Robert.
>> >
>> > Welcome back! Chris mentioned his meeting with you on IRC.
>> >
>> > Thanks for bringing those to our attention. I've pushed a fix.
>> >
>> > You will need to install xsltproc. In some distros it's part of the
>> libxslt package, which may be why it wasn't mentioned separately in
>> README.dependencies. You won't need makeinfo, I've made that optional. It's
>> only for an obsolete design information document that is now mostly
>> superseded by Doxygen comments.
>> >
>> > The webkit2gtk-3.0 package provided by Ubuntu 14.04LTS is fine, and
>> CMake did correctly detect it and set the compile accordingly--the first
>> time through. If you then subsequently ran cmake again it would see that
>> WEBKIT_FOUND was true and set up for the preferred webkit2gtk-4.0. I've
>> corrected that by having separate WEBKIT2_3_FOUND and WEBKIT2_4_FOUND
>> variables.
>> >
>> > Regards,
>> > John Ralls
>> >
>> >
>>
>> _______________________________________________
>> gnucash-devel mailing list
>> [hidden email]
>> https://lists.gnucash.org/mailman/listinfo/gnucash-devel
>>
>
>
_______________________________________________
gnucash-devel mailing list
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel