Windows Build failure

Robert Fewell 14ubobit at gmail.com
Mon Jul 27 13:21:13 EDT 2015


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 <jralls at ceridwen.us> wrote:

>
> > On Jul 25, 2015, at 7:19 AM, John Ralls <jralls at ceridwen.us> wrote:
> >
> >>
> >> On Jul 25, 2015, at 2:55 AM, Robert Fewell <14ubobit at 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_convert<std::codecvt_utf8_utf16<char16_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_convert<std::codecvt_utf8_utf16<char16_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_convert<std::codecvt_utf8_utf16<char16_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
>
>


More information about the gnucash-devel mailing list