Re: Gtk3 master
On donderdag 31 augustus 2017 19:17:02 CEST John Ralls wrote: > > On Aug 31, 2017, at 9:11 AM, Geert Janssens > > wrote:> > > On donderdag 31 augustus 2017 16:17:20 CEST Aaron Laws wrote: > >> On Thu, Aug 31, 2017 at 9:51 AM, Geert Janssens > >> >> > >> wrote: > >>> I meant to add still, if we want to keep guile 1.8 support, the > >>> FIND_PACKAGE(GUILE_EXECUTABLE...) rules should move up inside the > >>> branches of > >>> the GUILE2 vs GUILE1 test. > >>> For GUILE2 it can remain > >>> FIND_PROGRAM (GUILE_EXECUTABLE guile2.0 guile) > >>> IF (NOT GUILE_EXECUTABLE) > >>> > >>> MESSAGE (SEND_ERROR "The guile executable was not found, but is > >>> required. > >>> > >>> Please set GUILE_EXECUTABLE.") > >>> ENDIF (NOT GUILE_EXECUTABLE) > >>> > >>> For guile 1.8 it should become > >>> FIND_PROGRAM (GUILE_EXECUTABLE guile1.8 guile) > >>> IF (NOT GUILE_EXECUTABLE) > >>> > >>> MESSAGE (SEND_ERROR "The guile executable was not found, but is > >>> required. > >>> > >>> Please set GUILE_EXECUTABLE.") > >>> ENDIF (NOT GUILE_EXECUTABLE) > >>> > >>> Regards, > >>> > >>> Geert > >> > >> I don't have guile 1. guile --version; returns "2.2.2" and guile2.0 > >> --version; returns "2.0.14". > > > > Yes, distributions shift this all the time... > > > > I'm still on Fedora 25 which has guile (being 2.0.13) and guile1.8 (being > > 1.8.8) > > > > While checking these version numbers I saw the copyright notice on guile > > 1.8 was last updated in 2008(!) and guile 2.0 in 2016. I think it's fair > > to state guile 1.8 is getting rather outdated and I'll keep my vote to > > stop supporting it ASAP :) > > I'm very much in favor of dropping Guile-1.8 support. > Good, I'll take it up when I have time available again for gnucash. > If Guile-2.2 can be made to work without too much effort adding support for > it would be a Good Thing. > I added some rules to CMakeLists.txt locally to see how it would go. The build fails because we still use a few functions that were already deprecated in guile 2.0 and now removed completely from guile 2.2. The ones that came up before the build refused to continue (even with -k100): - scm_internal_stack_catch: no direct c replacement, but can be done in guile code, I have been looking into this in the past, but never finished the job - scm_listify: to be replaced with scm_list_n. The bad news is this function is also used in the swig autogenerated code. So getting this fixed means patching swig. So we're back at where we were with gnucash 2.6. No active swig-guile maintainer, and the swig-guile code slowly bitrotting and breaking with new guile releases. Sigh... If not too much work I may write yet another PR for swig. > BTW, while MingGW64 ships Guile it included Cygwin dependencies--it's a > MSYS2 package, not a MinGW one--so we can't use it. Oh, I had missed that :-\ > I've set up the > moduleset to build Guile-2.0.14, and if Guile-2.2 works I'd change both Win > and Mac to use that. Unfortunately it doesn't appear that Debian has looked > at Guile-2.2 even for unstable, but that might be because we're the only > major package that uses guile. (The other packages are freehold, > libnlopt-guile0, moron, mailtutils-guile, guile-library, guile-son, and > gwrap). > > Looks like Fedora has guile-2.2 beginning with F25, but I don't know of a > good way to find out what packages depend on it or on guile-2.0. > On Fedora you'd use dnf repoquery --whatrequires ... There we have aisleriot, autogen, denemo, freehoo, freetalk, gdb-headless, geda-utils, gnotime, gnubik, gnutls-guile, graphviz-guile, make, mdk, weechat, xbindkeys Geert ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: Gtk3 master
> On Aug 31, 2017, at 9:11 AM, Geert Janssens > wrote: > > On donderdag 31 augustus 2017 16:17:20 CEST Aaron Laws wrote: >> On Thu, Aug 31, 2017 at 9:51 AM, Geert Janssens >> wrote: >>> I meant to add still, if we want to keep guile 1.8 support, the >>> FIND_PACKAGE(GUILE_EXECUTABLE...) rules should move up inside the >>> branches of >>> the GUILE2 vs GUILE1 test. >>> For GUILE2 it can remain >>> FIND_PROGRAM (GUILE_EXECUTABLE guile2.0 guile) >>> IF (NOT GUILE_EXECUTABLE) >>> >>> MESSAGE (SEND_ERROR "The guile executable was not found, but is >>> required. >>> >>> Please set GUILE_EXECUTABLE.") >>> ENDIF (NOT GUILE_EXECUTABLE) >>> >>> For guile 1.8 it should become >>> FIND_PROGRAM (GUILE_EXECUTABLE guile1.8 guile) >>> IF (NOT GUILE_EXECUTABLE) >>> >>> MESSAGE (SEND_ERROR "The guile executable was not found, but is >>> required. >>> >>> Please set GUILE_EXECUTABLE.") >>> ENDIF (NOT GUILE_EXECUTABLE) >>> >>> Regards, >>> >>> Geert >> >> I don't have guile 1. guile --version; returns "2.2.2" and guile2.0 >> --version; returns "2.0.14". > > Yes, distributions shift this all the time... > > I'm still on Fedora 25 which has guile (being 2.0.13) and guile1.8 (being > 1.8.8) > > While checking these version numbers I saw the copyright notice on guile 1.8 > was last updated in 2008(!) and guile 2.0 in 2016. I think it's fair to state > guile 1.8 is getting rather outdated and I'll keep my vote to stop supporting > it ASAP :) I'm very much in favor of dropping Guile-1.8 support. If Guile-2.2 can be made to work without too much effort adding support for it would be a Good Thing. BTW, while MingGW64 ships Guile it included Cygwin dependencies--it's a MSYS2 package, not a MinGW one--so we can't use it. I've set up the moduleset to build Guile-2.0.14, and if Guile-2.2 works I'd change both Win and Mac to use that. Unfortunately it doesn't appear that Debian has looked at Guile-2.2 even for unstable, but that might be because we're the only major package that uses guile. (The other packages are freehold, libnlopt-guile0, moron, mailtutils-guile, guile-library, guile-son, and gwrap). Looks like Fedora has guile-2.2 beginning with F25, but I don't know of a good way to find out what packages depend on it or on guile-2.0. Regards, John Ralls ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: Gtk3 master
On donderdag 31 augustus 2017 16:17:20 CEST Aaron Laws wrote: > On Thu, Aug 31, 2017 at 9:51 AM, Geert Janssens > wrote: > > I meant to add still, if we want to keep guile 1.8 support, the > > FIND_PACKAGE(GUILE_EXECUTABLE...) rules should move up inside the > > branches of > > the GUILE2 vs GUILE1 test. > > For GUILE2 it can remain > > FIND_PROGRAM (GUILE_EXECUTABLE guile2.0 guile) > > IF (NOT GUILE_EXECUTABLE) > > > > MESSAGE (SEND_ERROR "The guile executable was not found, but is > > required. > > > > Please set GUILE_EXECUTABLE.") > > ENDIF (NOT GUILE_EXECUTABLE) > > > > For guile 1.8 it should become > > FIND_PROGRAM (GUILE_EXECUTABLE guile1.8 guile) > > IF (NOT GUILE_EXECUTABLE) > > > > MESSAGE (SEND_ERROR "The guile executable was not found, but is > > required. > > > > Please set GUILE_EXECUTABLE.") > > ENDIF (NOT GUILE_EXECUTABLE) > > > > Regards, > > > > Geert > > I don't have guile 1. guile --version; returns "2.2.2" and guile2.0 > --version; returns "2.0.14". Yes, distributions shift this all the time... I'm still on Fedora 25 which has guile (being 2.0.13) and guile1.8 (being 1.8.8) While checking these version numbers I saw the copyright notice on guile 1.8 was last updated in 2008(!) and guile 2.0 in 2016. I think it's fair to state guile 1.8 is getting rather outdated and I'll keep my vote to stop supporting it ASAP :) Geert ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: Gtk3 master
On donderdag 31 augustus 2017 17:01:10 CEST Robert Fewell wrote: > Copied your changes locally and was able to build OK. > Bob > > On 31 August 2017 at 15:17, Geert Janssens > > wrote: > > On donderdag 31 augustus 2017 16:01:19 CEST Robert Fewell wrote: > > > It builds with "guile2.0" removed on that line, also output of which > > > > guile > > > > > is /usr/bin/guile and that version is 1.8.8. I do not have version 2 > > > installed. > > > Bob > > > > Thanks for detailing this. It turns out the FIND_PROGRAM invocation was > > incorrect. I didn't catch that because cmake caches such tests :( > > > > I have pushed another commit which fixes this on my system. It also splits > > the > > FIND_PROGRAM call for guile 2 and guile 1 environments. > > > > Can you test whether this works for you ? > > > > Geert Excellent :) Geert ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: Gtk3 master
Copied your changes locally and was able to build OK. Bob On 31 August 2017 at 15:17, Geert Janssens wrote: > On donderdag 31 augustus 2017 16:01:19 CEST Robert Fewell wrote: > > It builds with "guile2.0" removed on that line, also output of which > guile > > is /usr/bin/guile and that version is 1.8.8. I do not have version 2 > > installed. > > Bob > > > Thanks for detailing this. It turns out the FIND_PROGRAM invocation was > incorrect. I didn't catch that because cmake caches such tests :( > > I have pushed another commit which fixes this on my system. It also splits > the > FIND_PROGRAM call for guile 2 and guile 1 environments. > > Can you test whether this works for you ? > > Geert > ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: Gtk3 master
On donderdag 31 augustus 2017 16:01:19 CEST Robert Fewell wrote: > It builds with "guile2.0" removed on that line, also output of which guile > is /usr/bin/guile and that version is 1.8.8. I do not have version 2 > installed. > Bob > Thanks for detailing this. It turns out the FIND_PROGRAM invocation was incorrect. I didn't catch that because cmake caches such tests :( I have pushed another commit which fixes this on my system. It also splits the FIND_PROGRAM call for guile 2 and guile 1 environments. Can you test whether this works for you ? Geert ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: Gtk3 master
On Thu, Aug 31, 2017 at 9:51 AM, Geert Janssens wrote: > I meant to add still, if we want to keep guile 1.8 support, the > FIND_PACKAGE(GUILE_EXECUTABLE...) rules should move up inside the > branches of > the GUILE2 vs GUILE1 test. > For GUILE2 it can remain > FIND_PROGRAM (GUILE_EXECUTABLE guile2.0 guile) > IF (NOT GUILE_EXECUTABLE) > MESSAGE (SEND_ERROR "The guile executable was not found, but is required. > Please set GUILE_EXECUTABLE.") > ENDIF (NOT GUILE_EXECUTABLE) > > For guile 1.8 it should become > FIND_PROGRAM (GUILE_EXECUTABLE guile1.8 guile) > IF (NOT GUILE_EXECUTABLE) > MESSAGE (SEND_ERROR "The guile executable was not found, but is required. > Please set GUILE_EXECUTABLE.") > ENDIF (NOT GUILE_EXECUTABLE) > > Regards, > > Geert I don't have guile 1. guile --version; returns "2.2.2" and guile2.0 --version; returns "2.0.14". ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: Gtk3 master
It builds with "guile2.0" removed on that line, also output of which guile is /usr/bin/guile and that version is 1.8.8. I do not have version 2 installed. Bob On 31 August 2017 at 13:44, Aaron Laws wrote: > On Thu, Aug 31, 2017 at 8:28 AM, Robert Fewell <14ubo...@gmail.com> wrote: > >> Just tried to build from master after all the recent changes and it failed >> on guile, currently I am running 1.8 and in the log file I see "Using >> guile-1.8.x" but it then logs "The guile executable was not found, but is >> required. Please set GUILE_EXECUTABLE." Looking at CMakeLists.txt, I can >> build if I comment out the four lines starting at 283. Not sure if they >> are >> required or should be moved so will leave for some one who knows what they >> are doing. >> >> On a similar note, I still do a build on my Gtk3.10 VM but have to change >> line 195 as it states the version should be greater or equal to 3.14, is >> this just a typo or have I got the minimum version wrong ? >> >> Bob >> > > If you remove "guile2.0" from line 283, does it work? > ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: Gtk3 master
On donderdag 31 augustus 2017 14:28:33 CEST Robert Fewell wrote: > Just tried to build from master after all the recent changes and it failed > on guile, currently I am running 1.8 and in the log file I see "Using > guile-1.8.x" but it then logs "The guile executable was not found, but is > required. Please set GUILE_EXECUTABLE." Looking at CMakeLists.txt, I can > build if I comment out the four lines starting at 283. Not sure if they are > required or should be moved so will leave for some one who knows what they > are doing. > I meant to add still, if we want to keep guile 1.8 support, the FIND_PACKAGE(GUILE_EXECUTABLE...) rules should move up inside the branches of the GUILE2 vs GUILE1 test. For GUILE2 it can remain FIND_PROGRAM (GUILE_EXECUTABLE guile2.0 guile) IF (NOT GUILE_EXECUTABLE) MESSAGE (SEND_ERROR "The guile executable was not found, but is required. Please set GUILE_EXECUTABLE.") ENDIF (NOT GUILE_EXECUTABLE) For guile 1.8 it should become FIND_PROGRAM (GUILE_EXECUTABLE guile1.8 guile) IF (NOT GUILE_EXECUTABLE) MESSAGE (SEND_ERROR "The guile executable was not found, but is required. Please set GUILE_EXECUTABLE.") ENDIF (NOT GUILE_EXECUTABLE) Regards, Geert ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: Gtk3 master
On donderdag 31 augustus 2017 14:28:33 CEST Robert Fewell wrote: > Just tried to build from master after all the recent changes and it failed > on guile, currently I am running 1.8 and in the log file I see "Using > guile-1.8.x" but it then logs "The guile executable was not found, but is > required. Please set GUILE_EXECUTABLE." Looking at CMakeLists.txt, I can > build if I comment out the four lines starting at 283. Not sure if they are > required or should be moved so will leave for some one who knows what they > are doing. > I'm inclined to drop guile 1.8 support completely for master. It's no longer supported by upstream and all of the distributions we care about have been shipping guile 2.0 for some time now. The last remaining blocker was our very own mingw based windows build. However we're in the process of migrating to mingw64 which does ship guile2 so I see no reason to keep supporting guile 1.8. At the other end of the spectrum, I wonder whether gnucash would work with guile 2.2, the current stable guile version... > On a similar note, I still do a build on my Gtk3.10 VM but have to change > line 195 as it states the version should be greater or equal to 3.14, is > this just a typo or have I got the minimum version wrong ? > Gtk 3.10 is still our baseline indeed, because that's the most recent version we can easily install on our Travis test environment. I have just pushed a commit that adjusts this for cmake as well. Geert ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: Gtk3 master
On Thu, Aug 31, 2017 at 8:44 AM, Aaron Laws wrote: > On Thu, Aug 31, 2017 at 8:28 AM, Robert Fewell <14ubo...@gmail.com> wrote: > >> Just tried to build from master after all the recent changes and it failed >> on guile, currently I am running 1.8 and in the log file I see "Using >> guile-1.8.x" but it then logs "The guile executable was not found, but is >> required. Please set GUILE_EXECUTABLE." Looking at CMakeLists.txt, I can >> build if I comment out the four lines starting at 283. Not sure if they >> are >> required or should be moved so will leave for some one who knows what they >> are doing. >> >> On a similar note, I still do a build on my Gtk3.10 VM but have to change >> line 195 as it states the version should be greater or equal to 3.14, is >> this just a typo or have I got the minimum version wrong ? >> >> Bob >> > > If you remove "guile2.0" from line 283, does it work? > Oh, and another question. Would you post the output from which guile; and which guile2.0; ? ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: Gtk3 master
On Thu, Aug 31, 2017 at 8:28 AM, Robert Fewell <14ubo...@gmail.com> wrote: > Just tried to build from master after all the recent changes and it failed > on guile, currently I am running 1.8 and in the log file I see "Using > guile-1.8.x" but it then logs "The guile executable was not found, but is > required. Please set GUILE_EXECUTABLE." Looking at CMakeLists.txt, I can > build if I comment out the four lines starting at 283. Not sure if they are > required or should be moved so will leave for some one who knows what they > are doing. > > On a similar note, I still do a build on my Gtk3.10 VM but have to change > line 195 as it states the version should be greater or equal to 3.14, is > this just a typo or have I got the minimum version wrong ? > > Bob > If you remove "guile2.0" from line 283, does it work? ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Gtk3 master
Just tried to build from master after all the recent changes and it failed on guile, currently I am running 1.8 and in the log file I see "Using guile-1.8.x" but it then logs "The guile executable was not found, but is required. Please set GUILE_EXECUTABLE." Looking at CMakeLists.txt, I can build if I comment out the four lines starting at 283. Not sure if they are required or should be moved so will leave for some one who knows what they are doing. On a similar note, I still do a build on my Gtk3.10 VM but have to change line 195 as it states the version should be greater or equal to 3.14, is this just a typo or have I got the minimum version wrong ? Bob ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel