Re: Windows Build failure
John, Have built from scratch and confirm Gnucash starts OK from creating a dist file. Not sure if this is related or just a coincidence, but if I try and start from the inst/bin/gnucash-launcher.cmd I get the following error... 'The procedure __gmpn_cnd_add_n can not be found in libgmp-10.dll' Doing a search for that dll file I find two copies, one in gcdev\mingw\bin and one in gcdev\gnutls\bin which are different. To fix the problem, I swapped the two lines that add the directories above to generate the path in the cmd file. Regards, Robert On 28 July 2015 at 17:19, John Ralls jra...@ceridwen.us wrote: On Jul 27, 2015, at 12:59 PM, John Ralls jra...@ceridwen.us wrote: On Jul 27, 2015, at 10:21 AM, Robert Fewell 14ubo...@gmail.com wrote: John, I have given it a try and it partially fixes the problem. Gnucash now builds OK but it still failed on startup. Just to make sure I created a setup.exe from the dist script and installed that which failed initially because it could not find the lib_boost_date.dll, these were in the lib directory but when I moved them to the bin directory Gnucash found the files and failed the same as from the build directory. Just to make sure it was not my XP build VM, I used the setup.exe on another XP VM and when I had moved the boost dll files, it started up just fine. Comparing the two, the one that worked had Time Zone 'GMT London' with DST ticked and the one that fails has 'GMT Monrovia/Reykjavik', swapping between the two allows it to run or fail. Darn. I knew about putting the libs in the wrong place but forgot to commit the fix. Done now. Ah, Liberia and Iceland are places that have the good sense not to use daylight time so the registry entry has 0 values for the transition times, and I’m not handling that correctly on Win32. Should be a straightforward fix. Robert, I just tested today’s nightly build in XP with the TZ set for Monrovia/Reykjavic and it started up without errors. Regards, John Ralls ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: Windows Build failure
On Jul 27, 2015, at 12:59 PM, John Ralls jra...@ceridwen.us wrote: On Jul 27, 2015, at 10:21 AM, Robert Fewell 14ubo...@gmail.com wrote: John, I have given it a try and it partially fixes the problem. Gnucash now builds OK but it still failed on startup. Just to make sure I created a setup.exe from the dist script and installed that which failed initially because it could not find the lib_boost_date.dll, these were in the lib directory but when I moved them to the bin directory Gnucash found the files and failed the same as from the build directory. Just to make sure it was not my XP build VM, I used the setup.exe on another XP VM and when I had moved the boost dll files, it started up just fine. Comparing the two, the one that worked had Time Zone 'GMT London' with DST ticked and the one that fails has 'GMT Monrovia/Reykjavik', swapping between the two allows it to run or fail. Darn. I knew about putting the libs in the wrong place but forgot to commit the fix. Done now. Ah, Liberia and Iceland are places that have the good sense not to use daylight time so the registry entry has 0 values for the transition times, and I’m not handling that correctly on Win32. Should be a straightforward fix. Robert, I just tested today’s nightly build in XP with the TZ set for Monrovia/Reykjavic and it started up without errors. Regards, John Ralls ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: Windows Build failure
John, I have given it a try and it partially fixes the problem. Gnucash now builds OK but it still failed on startup. Just to make sure I created a setup.exe from the dist script and installed that which failed initially because it could not find the lib_boost_date.dll, these were in the lib directory but when I moved them to the bin directory Gnucash found the files and failed the same as from the build directory. Just to make sure it was not my XP build VM, I used the setup.exe on another XP VM and when I had moved the boost dll files, it started up just fine. Comparing the two, the one that worked had Time Zone 'GMT London' with DST ticked and the one that fails has 'GMT Monrovia/Reykjavik', swapping between the two allows it to run or fail. Regards, Robert On 25 July 2015 at 19:25, John Ralls jra...@ceridwen.us wrote: On Jul 25, 2015, at 7:19 AM, John Ralls jra...@ceridwen.us wrote: On Jul 25, 2015, at 2:55 AM, Robert Fewell 14ubo...@gmail.com wrote: John, Still no luck with your revised patch. There is no codecvt header file but I did find one in bits/codecvt.h, tried adding that instead but still failed, looked in that file and seemed to imply it should not be used directly and maybe locale is the way to go. Tried that and get the following error... c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp: In member function 'void TimeZoneProvider::load_windows_default_tz ()': c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp:241:5: error: 'wstring_convert' is not a member of 'std' std::wstring_convertstd::codecvt_utf8_utf16char16_t,char16_t conversion; ^ c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp:241:26: error: 'codecvt_utf8_utf16' is not a member of 'std' std::wstring_convertstd::codecvt_utf8_utf16char16_t,char16_t conversion; ^ c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp:241:50: error: expected primary-expression before 'char16_t' std::wstring_convertstd::codecvt_utf8_utf16char16_t,char16_t conversion; ^ c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp:241:50: error: expected ';' before 'char16_t' c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp:242:21: error: 'conversion' was not declared in this scope auto std_name = conversion.to_bytes(tzi.StandardName); ^ At global scope: cc1plus.exe: error: unrecognized command line option -Wno-deprecated-register [-Werror] cc1plus.exe: all warnings being treated as errors Attached are the changes I am currently using. Robert, I found that out too as soon as I got back and tested it yesterday afternoon. Boost::locale provides a similar service so I switched to that. There were a couple of other holes in my implementation, which I think I’ve resolved but ran out of time yesterday to test them. I expect I’ll have a fix pushed this afternoon. Robert, I just pushed a couple of commits which fix the timezone exception problem on my XP VM. Please test it and let me know if it works for you. Regards, John Ralls ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: Windows Build failure
On Jul 27, 2015, at 10:21 AM, Robert Fewell 14ubo...@gmail.com wrote: John, I have given it a try and it partially fixes the problem. Gnucash now builds OK but it still failed on startup. Just to make sure I created a setup.exe from the dist script and installed that which failed initially because it could not find the lib_boost_date.dll, these were in the lib directory but when I moved them to the bin directory Gnucash found the files and failed the same as from the build directory. Just to make sure it was not my XP build VM, I used the setup.exe on another XP VM and when I had moved the boost dll files, it started up just fine. Comparing the two, the one that worked had Time Zone 'GMT London' with DST ticked and the one that fails has 'GMT Monrovia/Reykjavik', swapping between the two allows it to run or fail. Darn. I knew about putting the libs in the wrong place but forgot to commit the fix. Done now. Ah, Liberia and Iceland are places that have the good sense not to use daylight time so the registry entry has 0 values for the transition times, and I’m not handling that correctly on Win32. Should be a straightforward fix. Regards, John Ralls ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: Windows Build failure
On Jul 25, 2015, at 2:55 AM, Robert Fewell 14ubo...@gmail.com wrote: John, Still no luck with your revised patch. There is no codecvt header file but I did find one in bits/codecvt.h, tried adding that instead but still failed, looked in that file and seemed to imply it should not be used directly and maybe locale is the way to go. Tried that and get the following error... c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp: In member function 'void TimeZoneProvider::load_windows_default_tz ()': c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp:241:5: error: 'wstring_convert' is not a member of 'std' std::wstring_convertstd::codecvt_utf8_utf16char16_t,char16_t conversion; ^ c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp:241:26: error: 'codecvt_utf8_utf16' is not a member of 'std' std::wstring_convertstd::codecvt_utf8_utf16char16_t,char16_t conversion; ^ c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp:241:50: error: expected primary-expression before 'char16_t' std::wstring_convertstd::codecvt_utf8_utf16char16_t,char16_t conversion; ^ c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp:241:50: error: expected ';' before 'char16_t' c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp:242:21: error: 'conversion' was not declared in this scope auto std_name = conversion.to_bytes(tzi.StandardName); ^ At global scope: cc1plus.exe: error: unrecognized command line option -Wno-deprecated-register [-Werror] cc1plus.exe: all warnings being treated as errors Attached are the changes I am currently using. Robert, I found that out too as soon as I got back and tested it yesterday afternoon. Boost::locale provides a similar service so I switched to that. There were a couple of other holes in my implementation, which I think I’ve resolved but ran out of time yesterday to test them. I expect I’ll have a fix pushed this afternoon. Regards, John Ralls ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: Windows Build failure
On Jul 25, 2015, at 7:19 AM, John Ralls jra...@ceridwen.us wrote: On Jul 25, 2015, at 2:55 AM, Robert Fewell 14ubo...@gmail.com wrote: John, Still no luck with your revised patch. There is no codecvt header file but I did find one in bits/codecvt.h, tried adding that instead but still failed, looked in that file and seemed to imply it should not be used directly and maybe locale is the way to go. Tried that and get the following error... c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp: In member function 'void TimeZoneProvider::load_windows_default_tz ()': c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp:241:5: error: 'wstring_convert' is not a member of 'std' std::wstring_convertstd::codecvt_utf8_utf16char16_t,char16_t conversion; ^ c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp:241:26: error: 'codecvt_utf8_utf16' is not a member of 'std' std::wstring_convertstd::codecvt_utf8_utf16char16_t,char16_t conversion; ^ c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp:241:50: error: expected primary-expression before 'char16_t' std::wstring_convertstd::codecvt_utf8_utf16char16_t,char16_t conversion; ^ c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp:241:50: error: expected ';' before 'char16_t' c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp:242:21: error: 'conversion' was not declared in this scope auto std_name = conversion.to_bytes(tzi.StandardName); ^ At global scope: cc1plus.exe: error: unrecognized command line option -Wno-deprecated-register [-Werror] cc1plus.exe: all warnings being treated as errors Attached are the changes I am currently using. Robert, I found that out too as soon as I got back and tested it yesterday afternoon. Boost::locale provides a similar service so I switched to that. There were a couple of other holes in my implementation, which I think I’ve resolved but ran out of time yesterday to test them. I expect I’ll have a fix pushed this afternoon. Robert, I just pushed a couple of commits which fix the timezone exception problem on my XP VM. Please test it and let me know if it works for you. Regards, John Ralls ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: Windows Build failure
John, Still no luck with your revised patch. There is no codecvt header file but I did find one in bits/codecvt.h, tried adding that instead but still failed, looked in that file and seemed to imply it should not be used directly and maybe locale is the way to go. Tried that and get the following error... c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp: In member function 'void TimeZoneProvider::load_windows_default_tz ()': c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp:241:5: error: 'wstring_convert' is not a member of 'std' std::wstring_convertstd::codecvt_utf8_utf16char16_t,char16_t conversion; ^ c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp:241:26: error: 'codecvt_utf8_utf16' is not a member of 'std' std::wstring_convertstd::codecvt_utf8_utf16char16_t,char16_t conversion; ^ c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp:241:50: error: expected primary-expression before 'char16_t' std::wstring_convertstd::codecvt_utf8_utf16char16_t,char16_t conversion; ^ c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp:241:50: error: expected ';' before 'char16_t' c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp:242:21: error: 'conversion' was not declared in this scope auto std_name = conversion.to_bytes(tzi.StandardName); ^ At global scope: cc1plus.exe: error: unrecognized command line option -Wno-deprecated-register [-Werror] cc1plus.exe: all warnings being treated as errors Attached are the changes I am currently using. Regards, Robert On 24 July 2015 at 18:13, John Ralls jra...@ceridwen.us wrote: On Jul 24, 2015, at 6:09 AM, Robert Fewell 14ubo...@gmail.com wrote: John, Still trying to compile with your patch with the following changes for load_windows_default_tz... void TimeZoneProvider::load_windows_default_tz() { TIME_ZONE_INFORMATION tzi {}; if (GetTimeZoneInformation (tzi) == TIME_ZONE_ID_INVALID) throw std::invalid_argument (No default time zone.); RegTZI regtzi { tzi.Bias, tzi.StandardBias, tzi.DaylightBias, tzi.StandardDate, tzi.DaylightDate }; time_zone_names names (tzi.StandardName, tzi.StandardName, tzi.DaylightName, tzi.DaylightName); zone_vector.push_back(std::make_pair(0, zone_from_regtzi(regtzi, names))); } and I also added this to hpp file line 63... void load_windows_default_tz(void); but am getting this error... c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp: In member function 'void TimeZoneProvider::load_windows_default_tz ()': c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp:237:98: error: no matching function for call to 'boost::date_time:: time_zone_names_basechar::time_zone_names_base(WCHAR [32], WCHAR [32], WCHAR [32], WCHAR [32])' time_zone_names names (tzi.StandardName, tzi.StandardName, tzi.DaylightName, tzi.DaylightName); ^ c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp:237:98: note: candidates are: In file included from c:/gcdev/boost/include/boost/date_time/local_time/custom_time_zone.hpp:12:0, from c:/gcdev/boost/include/boost/date_time/local_time/local_time_types.hpp:18, from c:/gcdev/boost/include/boost/date_time/local_time/local_time.hpp:13, from c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.hpp:34, from c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp:23: c:/gcdev/boost/include/boost/date_time/time_zone_names.hpp:59:5: note: boost::date_time::time_zone_names_baseCharT::ti me_zone_names_base(const string_type, const string_type, const string_type, const string_type) [with CharT = char; b oost::date_time::time_zone_names_baseCharT::string_type = std::basic_stringchar] time_zone_names_base(const string_type std_zone_name_str, ^ c:/gcdev/boost/include/boost/date_time/time_zone_names.hpp:59:5: note: no known conversion for argument 1 from 'WCHAR [32] {aka wchar_t [32]}' to 'const string_type {aka const std::basic_stringchar}' c:/gcdev/boost/include/boost/date_time/time_zone_names.hpp:53:5: note: boost::date_time::time_zone_names_baseCharT::ti me_zone_names_base() [with CharT = char] time_zone_names_base() : ^ c:/gcdev/boost/include/boost/date_time/time_zone_names.hpp:53:5: note: candidate expects 0 arguments, 4 provided c:/gcdev/boost/include/boost/date_time/time_zone_names.hpp:49:9: note: boost::date_time::time_zone_names_basechar::tim e_zone_names_base(const boost::date_time::time_zone_names_basechar) class time_zone_names_base ^ c:/gcdev/boost/include/boost/date_time/time_zone_names.hpp:49:9: note: candidate expects 1 argument, 4 provided c:/gcdev/boost/include/boost/date_time/time_zone_names.hpp:49:9: note: boost::date_time::time_zone_names_basechar::tim
Re: Windows Build failure
John, Still trying to compile with your patch with the following changes for load_windows_default_tz... void TimeZoneProvider::load_windows_default_tz() { TIME_ZONE_INFORMATION tzi {}; if (GetTimeZoneInformation (tzi) == TIME_ZONE_ID_INVALID) throw std::invalid_argument (No default time zone.); RegTZI regtzi { tzi.Bias, tzi.StandardBias, tzi.DaylightBias, tzi.StandardDate, tzi.DaylightDate }; time_zone_names names (tzi.StandardName, tzi.StandardName, tzi.DaylightName, tzi.DaylightName); zone_vector.push_back(std::make_pair(0, zone_from_regtzi(regtzi, names))); } and I also added this to hpp file line 63... void load_windows_default_tz(void); but am getting this error... c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp: In member function 'void TimeZoneProvider::load_windows_default_tz ()': c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp:237:98: error: no matching function for call to 'boost::date_time:: time_zone_names_basechar::time_zone_names_base(WCHAR [32], WCHAR [32], WCHAR [32], WCHAR [32])' time_zone_names names (tzi.StandardName, tzi.StandardName, tzi.DaylightName, tzi.DaylightName); ^ c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp:237:98: note: candidates are: In file included from c:/gcdev/boost/include/boost/date_time/local_time/custom_time_zone.hpp:12:0, from c:/gcdev/boost/include/boost/date_time/local_time/local_time_types.hpp:18, from c:/gcdev/boost/include/boost/date_time/local_time/local_time.hpp:13, from c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.hpp:34, from c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp:23: c:/gcdev/boost/include/boost/date_time/time_zone_names.hpp:59:5: note: boost::date_time::time_zone_names_baseCharT::ti me_zone_names_base(const string_type, const string_type, const string_type, const string_type) [with CharT = char; b oost::date_time::time_zone_names_baseCharT::string_type = std::basic_stringchar] time_zone_names_base(const string_type std_zone_name_str, ^ c:/gcdev/boost/include/boost/date_time/time_zone_names.hpp:59:5: note: no known conversion for argument 1 from 'WCHAR [32] {aka wchar_t [32]}' to 'const string_type {aka const std::basic_stringchar}' c:/gcdev/boost/include/boost/date_time/time_zone_names.hpp:53:5: note: boost::date_time::time_zone_names_baseCharT::ti me_zone_names_base() [with CharT = char] time_zone_names_base() : ^ c:/gcdev/boost/include/boost/date_time/time_zone_names.hpp:53:5: note: candidate expects 0 arguments, 4 provided c:/gcdev/boost/include/boost/date_time/time_zone_names.hpp:49:9: note: boost::date_time::time_zone_names_basechar::tim e_zone_names_base(const boost::date_time::time_zone_names_basechar) class time_zone_names_base ^ c:/gcdev/boost/include/boost/date_time/time_zone_names.hpp:49:9: note: candidate expects 1 argument, 4 provided c:/gcdev/boost/include/boost/date_time/time_zone_names.hpp:49:9: note: boost::date_time::time_zone_names_basechar::tim e_zone_names_base(boost::date_time::time_zone_names_basechar) c:/gcdev/boost/include/boost/date_time/time_zone_names.hpp:49:9: note: candidate expects 1 argument, 4 provided At global scope: cc1plus.exe: error: unrecognized command line option -Wno-deprecated-register [-Werror] cc1plus.exe: all warnings being treated as errors Will ponder further but you may beat me to an answer. Regards, Robert On 24 July 2015 at 01:37, John Ralls jra...@ceridwen.us wrote: On Jul 21, 2015, at 9:18 AM, John Ralls jra...@ceridwen.us wrote: On Jul 21, 2015, at 3:28 AM, Robert Fewell 14ubo...@gmail.com wrote: John, I have found a better windows version of gdb and have set the break point and catch point as requested. Now running gnucash from gdb the exception stems from getting time zone information from gnc-timezone.cpp:240 as can be seen in attached image. Still trying to understand the c++ format but I think the registry keys are different in Windows XP to that of later versions as my XP does not have 'TimeZoneKeyName' used in windows_default_tzname. Robert, Hmm, the C version of that code in GLib and GC 2.4 doesn’t have a problem on XP, so I must have screwed something up when I ported it; it might just be throwing that exception, which is a bad idea since it can’t be caught in the way I’m using it. Since I can’t test on Windows until the weekend, if I can manage a patch before then I’ll send it to you to test. If you’re completely new to C++, Lipmann’s C++ Primer Plus is widely recommended. Robert, Here’s a first try at a patch. I can’t even test compile it until I get back tomorrow afternoon, but you can have a go at it and maybe fix any obvious typos. Regards, John Ralls ___ gnucash-devel mailing list gnucash-devel@gnucash.org
Re: Windows Build failure
On Jul 24, 2015, at 6:09 AM, Robert Fewell 14ubo...@gmail.com wrote: John, Still trying to compile with your patch with the following changes for load_windows_default_tz... void TimeZoneProvider::load_windows_default_tz() { TIME_ZONE_INFORMATION tzi {}; if (GetTimeZoneInformation (tzi) == TIME_ZONE_ID_INVALID) throw std::invalid_argument (No default time zone.); RegTZI regtzi { tzi.Bias, tzi.StandardBias, tzi.DaylightBias, tzi.StandardDate, tzi.DaylightDate }; time_zone_names names (tzi.StandardName, tzi.StandardName, tzi.DaylightName, tzi.DaylightName); zone_vector.push_back(std::make_pair(0, zone_from_regtzi(regtzi, names))); } and I also added this to hpp file line 63... void load_windows_default_tz(void); but am getting this error... c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp: In member function 'void TimeZoneProvider::load_windows_default_tz ()': c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp:237:98: error: no matching function for call to 'boost::date_time:: time_zone_names_basechar::time_zone_names_base(WCHAR [32], WCHAR [32], WCHAR [32], WCHAR [32])' time_zone_names names (tzi.StandardName, tzi.StandardName, tzi.DaylightName, tzi.DaylightName); ^ c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp:237:98: note: candidates are: In file included from c:/gcdev/boost/include/boost/date_time/local_time/custom_time_zone.hpp:12:0, from c:/gcdev/boost/include/boost/date_time/local_time/local_time_types.hpp:18, from c:/gcdev/boost/include/boost/date_time/local_time/local_time.hpp:13, from c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.hpp:34, from c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp:23: c:/gcdev/boost/include/boost/date_time/time_zone_names.hpp:59:5: note: boost::date_time::time_zone_names_baseCharT::ti me_zone_names_base(const string_type, const string_type, const string_type, const string_type) [with CharT = char; b oost::date_time::time_zone_names_baseCharT::string_type = std::basic_stringchar] time_zone_names_base(const string_type std_zone_name_str, ^ c:/gcdev/boost/include/boost/date_time/time_zone_names.hpp:59:5: note: no known conversion for argument 1 from 'WCHAR [32] {aka wchar_t [32]}' to 'const string_type {aka const std::basic_stringchar}' c:/gcdev/boost/include/boost/date_time/time_zone_names.hpp:53:5: note: boost::date_time::time_zone_names_baseCharT::ti me_zone_names_base() [with CharT = char] time_zone_names_base() : ^ c:/gcdev/boost/include/boost/date_time/time_zone_names.hpp:53:5: note: candidate expects 0 arguments, 4 provided c:/gcdev/boost/include/boost/date_time/time_zone_names.hpp:49:9: note: boost::date_time::time_zone_names_basechar::tim e_zone_names_base(const boost::date_time::time_zone_names_basechar) class time_zone_names_base ^ c:/gcdev/boost/include/boost/date_time/time_zone_names.hpp:49:9: note: candidate expects 1 argument, 4 provided c:/gcdev/boost/include/boost/date_time/time_zone_names.hpp:49:9: note: boost::date_time::time_zone_names_basechar::tim e_zone_names_base(boost::date_time::time_zone_names_basechar) c:/gcdev/boost/include/boost/date_time/time_zone_names.hpp:49:9: note: candidate expects 1 argument, 4 provided At global scope: cc1plus.exe: error: unrecognized command line option -Wno-deprecated-register [-Werror] cc1plus.exe: all warnings being treated as errors Will ponder further but you may beat me to an answer. Robert, Ah, right, tzi.StandardName and tzi.DaylightName are wchar_t[] and boost doesn’t know what to do with them. This revised patch might work. Regards, John Ralls 0001-Windows-Get-default-timezone-if-there-s-no-default-k.patch Description: Binary data ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: Windows Build failure
On Jul 21, 2015, at 9:18 AM, John Ralls jra...@ceridwen.us wrote: On Jul 21, 2015, at 3:28 AM, Robert Fewell 14ubo...@gmail.com wrote: John, I have found a better windows version of gdb and have set the break point and catch point as requested. Now running gnucash from gdb the exception stems from getting time zone information from gnc-timezone.cpp:240 as can be seen in attached image. Still trying to understand the c++ format but I think the registry keys are different in Windows XP to that of later versions as my XP does not have 'TimeZoneKeyName' used in windows_default_tzname. Robert, Hmm, the C version of that code in GLib and GC 2.4 doesn’t have a problem on XP, so I must have screwed something up when I ported it; it might just be throwing that exception, which is a bad idea since it can’t be caught in the way I’m using it. Since I can’t test on Windows until the weekend, if I can manage a patch before then I’ll send it to you to test. If you’re completely new to C++, Lipmann’s C++ Primer Plus is widely recommended. Robert, Here’s a first try at a patch. I can’t even test compile it until I get back tomorrow afternoon, but you can have a go at it and maybe fix any obvious typos. Regards, John Ralls 0001-Windows-Get-default-timezone-if-there-s-no-default-k.patch Description: Binary data ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: Windows Build failure
On Jul 21, 2015, at 3:28 AM, Robert Fewell 14ubo...@gmail.com wrote: John, I have found a better windows version of gdb and have set the break point and catch point as requested. Now running gnucash from gdb the exception stems from getting time zone information from gnc-timezone.cpp:240 as can be seen in attached image. Still trying to understand the c++ format but I think the registry keys are different in Windows XP to that of later versions as my XP does not have 'TimeZoneKeyName' used in windows_default_tzname. Robert, Hmm, the C version of that code in GLib and GC 2.4 doesn’t have a problem on XP, so I must have screwed something up when I ported it; it might just be throwing that exception, which is a bad idea since it can’t be caught in the way I’m using it. Since I can’t test on Windows until the weekend, if I can manage a patch before then I’ll send it to you to test. If you’re completely new to C++, Lipmann’s C++ Primer Plus is widely recommended. Regards, John Ralls ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: Windows Build failure
OK, deleted all folders in gcdev apart from the git ones and reran the vb script and then the install.sh file. This recompiled all dependencies and also gnucash. Tried to start it from the gcdev/gnucash/inst/bin/gnucash-launcher.cmd which failed as boost libraries was not in path. Added new path entry to cmd file and now it fails with a Runtime Error. Had a look at the Nightly Builds and the last one that installed and ran straight off was on 29/04/2015 and about says version 15a0d5d These have stopped building since the 19/06/2015. All other later builds install but fail to run as missing libboost_date_time.dll, thought I could copy the one I had created in gcdev/boost to the bin folder but that results in the Runtime Error. Not sure what else I can try. Regards, Bob On 16 July 2015 at 00:58, John Ralls jra...@ceridwen.us wrote: On Jul 15, 2015, at 8:51 AM, Robert Fewell 14ubo...@gmail.com wrote: I tried to build the windows version on my XP VM but it failed with the following error... Did a git pull on gnucash-on-windows.git and gnucash.git to get the latest builds and then ran the install.sh under mingw which updated some parts of the software as usual but the gnucash sections fails. Have I failed to upgrade some component part ? Regards, Bob make all-recursive make[1]: Entering directory `/c/gcdev/gnucash/build' Making all in . make[2]: Entering directory `/c/gcdev/gnucash/build' gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I/c/gcdev/gnucash.git -I/c/gcdev/regex/include -I/c/gcdev/gnome/include -I/c/gcdev /guile/include -I/c/gcdev/libdbi/include -I/c/gcdev/gwenhywfar/include -I/c/gcdev/hh/include -mms-bitfields -Ic:/gcdev/l ibsoup/include/libsoup-2.4 -Ic:/gcdev/gnome/include/libxml2 -Ic:/gcdev/gnome/include/glib-2.0 -Ic:/gcdev/gnome/lib/glib- 2.0/include -D_WIN32 -pthread -Ic:/gcdev/guile/include -I/c/gcdev/readline/include -I/c/gcdev/regex/include -g -st d=gnu99 -mms-bitfields -g -MT gnc_guile-guile.o -MD -MP -MF .deps/gnc_guile-guile.Tpo -c -o gnc_guile-guile.o `test -f 'util/guile.c' || echo '/c/gcdev/gnucash.git/'`util/guile.c In file included from c:\gcdev\mingw\include\unistd.h:95:0, from c:/gcdev/guile/include/libguile/stime.h:27, from c:/gcdev/guile/include/libguile.h:91, from c:/gcdev/gnucash.git/util/guile.c:32: c:\gcdev\mingw\include\parts\time.h:65:8: error: redefinition of 'struct timespec' struct timespec ^ In file included from c:/gcdev/guile/include/libguile/__scm.h:52:0, from c:/gcdev/guile/include/libguile.h:30, from c:/gcdev/gnucash.git/util/guile.c:32: c:/gcdev/guile/include/libguile/scmconfig.h:114:16: note: originally defined here typedef struct timespec scm_t_timespec; That’s from a Makefile that needs to be rebuilt. Delete the build directory and start from scratch. Regards, John Ralls ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: Windows Build failure
On Jul 20, 2015, at 4:05 AM, Robert Fewell 14ubo...@gmail.com wrote: OK, deleted all folders in gcdev apart from the git ones and reran the vb script and then the install.sh file. This recompiled all dependencies and also gnucash. Tried to start it from the gcdev/gnucash/inst/bin/gnucash-launcher.cmd which failed as boost libraries was not in path. Added new path entry to cmd file and now it fails with a Runtime Error. Had a look at the Nightly Builds and the last one that installed and ran straight off was on 29/04/2015 and about says version 15a0d5d These have stopped building since the 19/06/2015. All other later builds install but fail to run as missing libboost_date_time.dll, thought I could copy the one I had created in gcdev/boost to the bin folder but that results in the Runtime Error. Not sure what else I can try. Robert, I did a build by hand last week after cleaning the build dir, which is what stopped the last automatic build. There hasn’t been a commit to master since to trigger a new automatic build. I’m heading out of town for the week, so I won’t be able to look at the Windows runtime until the weekend. Since there were completed builds in May and June I guess you mean that none of the bundles actually runs because libboost_date_time.dll isn’t in the bundle. I guess that’s not surprising except that I thought I’d set up the build of boost so that date_time would be header-only. That part should be easy to fix. What’s the runtime error? Regards, John Ralls ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: Windows Build failure
John, All the builds in May and June will install and if you start one it stops saying it can not find libboost_date_time.dll. If I copy that dll from the gcdev/boost/lib to the gnucash/bin directory you get the Runtime Error straight away as attached. Robert On 20 July 2015 at 15:22, John Ralls jra...@ceridwen.us wrote: On Jul 20, 2015, at 4:05 AM, Robert Fewell 14ubo...@gmail.com wrote: OK, deleted all folders in gcdev apart from the git ones and reran the vb script and then the install.sh file. This recompiled all dependencies and also gnucash. Tried to start it from the gcdev/gnucash/inst/bin/gnucash-launcher.cmd which failed as boost libraries was not in path. Added new path entry to cmd file and now it fails with a Runtime Error. Had a look at the Nightly Builds and the last one that installed and ran straight off was on 29/04/2015 and about says version 15a0d5d These have stopped building since the 19/06/2015. All other later builds install but fail to run as missing libboost_date_time.dll, thought I could copy the one I had created in gcdev/boost to the bin folder but that results in the Runtime Error. Not sure what else I can try. Robert, I did a build by hand last week after cleaning the build dir, which is what stopped the last automatic build. There hasn’t been a commit to master since to trigger a new automatic build. I’m heading out of town for the week, so I won’t be able to look at the Windows runtime until the weekend. Since there were completed builds in May and June I guess you mean that none of the bundles actually runs because libboost_date_time.dll isn’t in the bundle. I guess that’s not surprising except that I thought I’d set up the build of boost so that date_time would be header-only. That part should be easy to fix. What’s the runtime error? Regards, John Ralls ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: Windows Build failure
On Jul 20, 2015, at 9:57 AM, Robert Fewell 14ubo...@gmail.com wrote: I had but I do not think I was doing it correctly, see attached, once I click on OK I get the program exited with code 03. Robert, OK, that means it’s terminating either from an unhandled exception or an assert. Set a breakpoint on exit() with “b exit and a catchpoint with “catch exception unhandled”. See https://sourceware.org/gdb/onlinedocs/gdb/Breakpoints.html#Breakpoints for details. Regards, John Ralls ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: Windows Build failure
On Jul 20, 2015, at 7:41 AM, Robert Fewell 14ubo...@gmail.com wrote: John, All the builds in May and June will install and if you start one it stops saying it can not find libboost_date_time.dll. If I copy that dll from the gcdev/boost/lib to the gnucash/bin directory you get the Runtime Error straight away as attached. Robert, Ah. Have you tried it in gdb? Regards, John Ralls ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: Windows Build failure
On Jul 20, 2015, at 10:59 AM, John Ralls jra...@ceridwen.us wrote: On Jul 20, 2015, at 9:57 AM, Robert Fewell 14ubo...@gmail.com wrote: I had but I do not think I was doing it correctly, see attached, once I click on OK I get the program exited with code 03. Robert, OK, that means it’s terminating either from an unhandled exception or an assert. Set a breakpoint on exit() with “b exit and a catchpoint with “catch exception unhandled”. See https://sourceware.org/gdb/onlinedocs/gdb/Breakpoints.html#Breakpoints for details. Robert, BTW, I had some extra time this morning before leaving and did a build and dist on Win7. Works fine. That might be because I don’t have a “pure” system, but I fixed up the boost stuff in install and dist in gnucash-on-windows and pushed it. Regards, John Ralls ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: Windows Build failure
On Jul 15, 2015, at 8:51 AM, Robert Fewell 14ubo...@gmail.com wrote: I tried to build the windows version on my XP VM but it failed with the following error... Did a git pull on gnucash-on-windows.git and gnucash.git to get the latest builds and then ran the install.sh under mingw which updated some parts of the software as usual but the gnucash sections fails. Have I failed to upgrade some component part ? Regards, Bob make all-recursive make[1]: Entering directory `/c/gcdev/gnucash/build' Making all in . make[2]: Entering directory `/c/gcdev/gnucash/build' gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I/c/gcdev/gnucash.git -I/c/gcdev/regex/include -I/c/gcdev/gnome/include -I/c/gcdev /guile/include -I/c/gcdev/libdbi/include -I/c/gcdev/gwenhywfar/include -I/c/gcdev/hh/include -mms-bitfields -Ic:/gcdev/l ibsoup/include/libsoup-2.4 -Ic:/gcdev/gnome/include/libxml2 -Ic:/gcdev/gnome/include/glib-2.0 -Ic:/gcdev/gnome/lib/glib- 2.0/include -D_WIN32 -pthread -Ic:/gcdev/guile/include -I/c/gcdev/readline/include -I/c/gcdev/regex/include -g -st d=gnu99 -mms-bitfields -g -MT gnc_guile-guile.o -MD -MP -MF .deps/gnc_guile-guile.Tpo -c -o gnc_guile-guile.o `test -f 'util/guile.c' || echo '/c/gcdev/gnucash.git/'`util/guile.c In file included from c:\gcdev\mingw\include\unistd.h:95:0, from c:/gcdev/guile/include/libguile/stime.h:27, from c:/gcdev/guile/include/libguile.h:91, from c:/gcdev/gnucash.git/util/guile.c:32: c:\gcdev\mingw\include\parts\time.h:65:8: error: redefinition of 'struct timespec' struct timespec ^ In file included from c:/gcdev/guile/include/libguile/__scm.h:52:0, from c:/gcdev/guile/include/libguile.h:30, from c:/gcdev/gnucash.git/util/guile.c:32: c:/gcdev/guile/include/libguile/scmconfig.h:114:16: note: originally defined here typedef struct timespec scm_t_timespec; That’s from a Makefile that needs to be rebuilt. Delete the build directory and start from scratch. Regards, John Ralls ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel