Re: guile-2.0
On 15-12-12 19:28, Geert Janssens wrote: On 10-02-12 16:34, rbibr...@t-online.de wrote: Starting gnucash within the console will result in a new compile process for the guile files. Besides masses of warnings there are some errors relating missing sw_*** files The lines (load-extension ..) in file core-utils.scm, gnc-module.scm and qif-import.scm should be replaced with (eval-when (compile load eval) (load-extension...)). In file app-utils.scm it should read (eval-whwn (compile load eval) (gnc:module-load gnucash/engine 0)). One error in business-reports.scm remains : unbound variable: gnc:menuname-business-reports which I do not understand??? But as long gnucash does not use these compiled files it is not very relevant. I still have to go into this, but again a very good starting point ! I have used your suggested changes, but wrapped them to only be used when running with guile 2. For the remaining error in gnc:menuname-business-reports, I used the same trick which eliminates all autocompile errors. I am ignoring the warnings for now. They are generated at autocompile time, but GnuCash works fine regardless. Geert ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: GnuCash and Guile 2
I have fixed the remaining warnings I got when not auto compiling and the errors that guile's autocompile (1) generated. While files are autocompiled, it still generates lots of warnings about 'potentially undefined symbols'. This only happens while autocompiling. Since the compile results are cached, this happens only once for normal users. The warnings are apparently harmless, because gnucash runs fine in my tests. Also make check passes for both guile 1.8 and guile 2.0. Word of caution here though: if you install both guile and guile 2, for one of both the guile executable is not guile. In my case, I have guile (1.8) and guile2 (2.0). Some tests are hardcoded to execute 'guile' and these tests will segfault when run against guile2. If you manually fix the tests to execute guile2, they pass fine. This is a transient issue that will resolve itself once only guile2 is an option. With current code, only three real deprecated symbol compile warnings (generated by guile) remain in src/app-utils/gfec.c This has to do with catching errors when trying to eval some string/load a file from c to scm. This is slightly too technical for me to really grasp. Moreover, the deprecation warning states: 'scm_internal_stack_catch' is deprecated. Talk to guile-devel if you see this message So that's what needs to happen. For now, I'll just keep the warnings in place, but will prevent the build from failing on this and consider GnuCash ready for guile 2. Note this hasn't been tested on platforms other than (Fedora) linux. The windows build should first try to get guile 2 itself running before it can be tested and probably something similar is needed for the OS X/Quarz build. But I consider neither a requirement for GnuCash 2.6. What guile 2 is concerned, I consider it ready to go. Geert (1) Note that compiling scheme files is a new feature of guile 2. Guile 2 by default compiles those files into some byte code format to be run on in internal virtual machine. If no specific parameters are set, this happens the first time a scheme file is needed by guile. The compiled file is cached for later use. Compilation can be skipped by setting the environment variable GUILE_AUTO_COMPILE to 0 before running the program. If skipped guile will fall back to the old method of simply interpreting the files (unless a previously compiled file is still found in cache). On 15-12-12 19:21, Geert Janssens wrote: As of r22655 the development branch of gnucash can be built and run with guile 2. It still spews warnings and the environment variable GUILE_AUTO_COMPILE should be set to 0, so this is still a work in progress. It is important to realize though that this is only possible is swig is properly patched as well. I have submitted a patch here for swig: https://bugzilla.redhat.com/show_bug.cgi?id=752054 So build instructions in short: - download the swig patch from the above link (against swig 2.0.8) and build a patched swig - install guile 2 - checkout gnucash' trunk branch as of r22655 - you may need to update configure.ac to have it prefer guile 2 if both guile 1.8 and guile 2 are installed on the system - build gnucash as usual - run gnucash as GUILE_AUTO_COMPILE=0 /path/to/gnucash It goes without saying that gnucash continues to work with guile 1.8. Feedback is welcome. ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: GnuCash and Guile 2
On Dec 18, 2012, at 10:01 AM, Geert Janssens janssens-ge...@telenet.be wrote: Also make check passes for both guile 1.8 and guile 2.0. Word of caution here though: if you install both guile and guile 2, for one of both the guile executable is not guile. In my case, I have guile (1.8) and guile2 (2.0). Some tests are hardcoded to execute 'guile' and these tests will segfault when run against guile2. If you manually fix the tests to execute guile2, they pass fine. This is a transient issue that will resolve itself once only guile2 is an option. Can we fix that to use a configure-set variable? Regards, John Ralls ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: GnuCash and Guile 2
On 18-12-12 19:52, John Ralls wrote: On Dec 18, 2012, at 10:01 AM, Geert Janssens janssens-ge...@telenet.be wrote: Also make check passes for both guile 1.8 and guile 2.0. Word of caution here though: if you install both guile and guile 2, for one of both the guile executable is not guile. In my case, I have guile (1.8) and guile2 (2.0). Some tests are hardcoded to execute 'guile' and these tests will segfault when run against guile2. If you manually fix the tests to execute guile2, they pass fine. This is a transient issue that will resolve itself once only guile2 is an option. Can we fix that to use a configure-set variable? Regards, John Ralls As far as I understand, this is a distro-specific issue. Upstream the guile binary is called guile for both 1.8 and 2.0. It's because distro's want to install two releases next to each other that they rename one binary. Fedora has chosen guile and guile2, but another distro might just as well choose guile1 and guile or guile and guile-2 as binary names. GnuCash can't know this. It also not something that is defined in pkgconfig, so I don't know how we can figure out what binary name we should use. Geert ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: GnuCash and Guile 2
On Dec 18, 2012, at 1:16 PM, Geert Janssens janssens-ge...@telenet.be wrote: On 18-12-12 19:52, John Ralls wrote: On Dec 18, 2012, at 10:01 AM, Geert Janssens janssens-ge...@telenet.be wrote: Also make check passes for both guile 1.8 and guile 2.0. Word of caution here though: if you install both guile and guile 2, for one of both the guile executable is not guile. In my case, I have guile (1.8) and guile2 (2.0). Some tests are hardcoded to execute 'guile' and these tests will segfault when run against guile2. If you manually fix the tests to execute guile2, they pass fine. This is a transient issue that will resolve itself once only guile2 is an option. Can we fix that to use a configure-set variable? Regards, John Ralls As far as I understand, this is a distro-specific issue. Upstream the guile binary is called guile for both 1.8 and 2.0. It's because distro's want to install two releases next to each other that they rename one binary. Fedora has chosen guile and guile2, but another distro might just as well choose guile1 and guile or guile and guile-2 as binary names. GnuCash can't know this. It also not something that is defined in pkgconfig, so I don't know how we can figure out what binary name we should use. But configure can figure it out by testing possibilities with AC_CHECK_PROGS, as a configure option using AC_ARG_WITH, or both. You could also check an environment variable, which would facilitate testing the same build with both versions. Regards, John Ralls ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel