2019-02-04 GnuCash IRC logs

00:27:12 *** fell has joined #gnucash
00:43:15 *** bertbob has joined #gnucash
00:51:37 *** gncbot sets mode: +o fell
01:12:35 *** Mechtilde has joined #gnucash
01:25:16 *** kapil___ has joined #gnucash
01:33:13 *** fell has quit IRC
01:34:31 *** fell has joined #gnucash
01:50:41 *** Mechtilde has quit IRC
01:54:20 *** gour has joined #gnucash
02:22:39 *** fell has quit IRC
02:23:51 *** fell has joined #gnucash
02:59:15 *** fabior has joined #gnucash
03:06:28 *** jrp has joined #gnucash
03:06:28 *** jrp_ has quit IRC
03:10:17 *** fabior has quit IRC
03:21:58 *** fabior has joined #gnucash
03:24:54 *** gjanssens has joined #gnucash
03:24:54 *** ChanServ sets mode: +o gjanssens
03:26:49 *** boldstripe has joined #gnucash
03:34:44 *** storyjesse has quit IRC
03:35:57 *** fabior has quit IRC
03:47:30 *** Mechtilde has joined #gnucash
04:00:55 *** boldstripe has quit IRC
04:04:57 *** kapil___ has quit IRC
04:05:52 *** boldstripe has joined #gnucash
04:11:11 *** jrp has quit IRC
04:11:48 *** jrp has joined #gnucash
04:14:48 *** jrp has quit IRC
04:25:12 *** fabior has joined #gnucash
04:31:04 *** Aussie_matt has quit IRC
04:34:23 *** KevinDB has quit IRC
04:37:49 *** KevinDB has joined #gnucash
04:50:18 *** fabior has quit IRC
05:54:34 *** boldstripe_ has joined #gnucash
05:54:48 *** boldstripe has quit IRC
05:54:48 *** boldstripe_ is now known as boldstripe
06:01:06 *** bertbob has quit IRC
06:01:43 *** boldstripe_ has joined #gnucash
06:01:57 *** boldstripe has quit IRC
06:01:58 *** boldstripe_ is now known as boldstripe
06:05:53 <gjanssens> .
06:11:24 *** bertbob has joined #gnucash
06:16:26 *** chris has joined #gnucash
06:24:52 *** Jimraehl1 has joined #gnucash
06:25:52 *** Jimraehl1 has left #gnucash
06:47:44 *** User has joined #gnucash
06:58:39 *** User has quit IRC
07:19:38 *** oozer has joined #gnucash
07:39:13 *** jervin has joined #gnucash
07:39:19 *** gnomey has quit IRC
07:40:57 *** gnomey has joined #gnucash
07:44:34 *** jervin has quit IRC
07:49:12 *** monkeyjuice has joined #gnucash
08:02:37 <warlord> .
08:04:01 *** monkeyjuice has quit IRC
08:07:39 *** nimish has joined #gnucash
08:11:21 *** nimish has quit IRC
08:13:05 *** nimish has joined #gnucash
08:23:01 <warlord> hiya gjanssens
08:24:55 <gjanssens> hey warlord
08:25:04 <gjanssens> How did the migration go yesterday
08:27:25 <warlord> I think it went pretty well. I had to manually upgrade mediawiki. I tried going with limnoria but it wouldnt run with our config, so I went back to standard supybot.
08:27:44 <warlord> I had a mailman issue where it wasn't flushing email out, but a restart got it to go again.
08:28:19 <warlord> And I just (now) installed a letsencrypt post-renew script that will properly restart postfix when the cert is renewed.
08:28:50 <warlord> Hopefully I wont need to restart mailman at that point, too -- I'll keep an eye out next time the cert renews.
08:29:38 <warlord> Current cert expires April 13, so it will be about 3 weeks prior.
08:30:58 <gjanssens> Good job!
08:31:12 <gjanssens> So code is what now? F29?
08:31:15 <warlord> Yes
08:31:18 <gjanssens> Yay!
08:31:36 <warlord> :)
08:32:17 <warlord> Yeah, exciting.
08:33:05 <warlord> I hate rebooting, but maybe I'll try to upgrade more frequently now. most of the time was the actual update itself and verifying the services; there was not much that was broken!
08:33:25 <warlord> The only thing that REALLY required manual intervention was mediawiki. Everything else pretty much just worked.
08:33:58 *** boldstripe_ has joined #gnucash
08:34:06 *** boldstripe has quit IRC
08:34:06 *** boldstripe_ is now known as boldstripe
08:36:11 <warlord> gotta run for a bit.
08:44:21 *** boldstripe has quit IRC
09:01:19 *** storyjesse has joined #gnucash
09:04:34 *** kapil___ has joined #gnucash
09:16:30 *** fabior has joined #gnucash
09:30:21 *** kael has joined #gnucash
09:32:45 *** chf has quit IRC
10:16:35 *** Mechtilde has quit IRC
10:22:37 *** Mechtilde has joined #gnucash
10:26:41 *** tienne has joined #gnucash
10:28:27 *** Mechtilde has quit IRC
11:10:20 *** nimish has quit IRC
11:19:18 *** jervin has joined #gnucash
11:24:09 *** kapil___ has quit IRC
12:01:56 *** ArtGravity has joined #gnucash
12:02:35 *** storyjesse has quit IRC
12:19:50 *** Mechtilde has joined #gnucash
12:24:42 *** ArtGravity has quit IRC
12:26:06 *** calvinct has joined #gnucash
12:32:32 *** fabior has quit IRC
12:37:25 <warlord> back
12:46:39 *** jervin has quit IRC
12:48:15 *** tienne has quit IRC
12:50:24 *** boldstripe has joined #gnucash
13:05:13 *** fabior has joined #gnucash
13:07:56 *** kael has quit IRC
13:28:18 *** fabior has quit IRC
13:34:25 *** kael has joined #gnucash
13:37:31 *** ArtGravity has joined #gnucash
13:58:16 *** calvinct has quit IRC
14:10:55 *** calvinct has joined #gnucash
14:14:04 *** frakturfreak has joined #gnucash
14:15:18 *** jralls_ is now known as jralls
14:15:53 *** ChanServ sets mode: +o jralls
14:16:43 <jralls> gjanssens: We've built a little C++ localization box for ourselves. It turns out that gcc's libstdc++ supports only the "C" locale on Windows.
14:17:22 <gjanssens> jralls: that sounds bad :(
14:17:39 <gjanssens> What other options do we have ?
14:18:08 <gjanssens> is clang libstdc++ any better if supported at all on Windows ?
14:19:41 <gjanssens> BTW not sure I'm interpreting "We've built a little C++ localization box for ourselves" properly
14:20:30 <jralls> Options are: -Trying clang with libc++. I looked at the code yesterday and couldn't figure out what works on Windows. -Using Boost::locale exclusively. -Not using C++ localization. -Switching to MSVC++.
14:21:43 <gjanssens> Ok. Is that in order of preference ?
14:21:51 <jralls> Built a little box = GnuCash on Windows is broken for all locales except "C".
14:22:14 <jralls> Not necessarily preference, maybe feasability.
14:22:18 <gjanssens> Ah, that's what I made of it. Never heard that expression before though...
14:22:25 <gjanssens> Ok
14:22:44 * gjanssens prefers keeping C++ localization if at all possible
14:23:09 <gjanssens> It would be very clumsy to break out c strings each time just for localization
14:23:29 <jralls> Yeah, me too. But I think it would take a lot more work to get GC to build on MSVC.
14:23:32 <warlord> Is there a problem with Boost::locale?
14:24:35 <jralls> Bear in mind, though, that we're not really talking about strings here. We use std::locale just for formatting numbers and dates.
14:24:37 <gjanssens> jralls: I fear so too, though it would be a great achievement ;) and probably provide a better C++ experience on Windows
14:24:59 <jralls> Not to mention making getting stack traces a lot easier.
14:25:04 <gjanssens> Yeah, I saw the bug conversation
14:25:15 <gjanssens> (on dates formatting at least)
14:25:47 <jralls> warlord: The problem with Boost::locale is that it uses ICU as a backend for formatting and that doesn't interoperate well with boost::date.
14:26:07 <jralls> err, boost::date_time.
14:26:31 <warlord> So boost::locale and boost::date_time dont work together? That sounds like a boost bug!
14:26:47 <gjanssens> Exactly what I wanted so say...
14:27:36 <jralls> I don't think that the boost folks would see it that way. boost isn't a cohesive thing, it's more of a collection of stand-alone libraries.
14:28:39 <jralls> More analogous to CPAN than the Python Libraries.
14:28:46 <gjanssens> Oh
14:29:08 <gjanssens> So where does the conflict between these two libraries come from ?
14:29:39 <gjanssens> I mean what is boost::date_time's problem with icu ?
14:30:13 <jralls> It's not so much conflict as that they don't know anything about each other.
14:31:39 <gjanssens> So icu particular details pop up in the boost::locale interface that boost::date_time doesn't know how to interpret then ?
14:31:53 <jralls> boost::date_time's formatter uses a std::locale::facet to set the format, but ICU uses manipulators for formatting and its locale implementation doesn't seem to understand facets.
14:32:28 <gjanssens> Ok
14:32:51 <warlord> Can we subclass ICU and teach it?
14:33:47 <jralls> Probably not. ICU is a C library with C++ wrappers and boost::locale is a wrapper around the ICU wrapper.
14:35:12 <gjanssens> So right now that leaves us clang with libc++ or msvc
14:35:33 <jralls> We might be able to adjust boost::date_time's formatter to work with boost::locale locales and format manipulators.
14:36:03 <warlord> I find it hard to believe we are the first project to hit these roadblocks?
14:36:23 <gjanssens> ... unless you see another approach to get boost::date_time to work with boost::locale (which you just suggested...)
14:36:28 *** jonas has joined #gnucash
14:37:05 <jralls> I haven't found anything. I don't think boost::date_time is widely used and it doesn't seem to have had much development. C++20 will have extensions to std::chrono to do what it does.
14:37:30 <gjanssens> So we could wait another couple of years ...
14:37:47 <gjanssens> Not a good experience for Windows users of course :(
14:38:36 <warlord> Could we just write our own GncDate::ToString API that does the right thing on Windows as a stopgap?
14:39:31 <jralls> That's effectively the "use C localization" approach that gjanssens prefers not to do.
14:40:16 <warlord> Well, if it's only C localization for dates, does it really matter? We can hide that usage from the C++ GncDate API
14:44:20 <jralls> You mean hide it *in* GncDateTimeImpl::format().
14:44:35 <warlord> jralls, yes
14:45:01 <jralls> And use boost::locale everywhere else.
14:45:18 <warlord> Right.
14:45:56 <warlord> This keeps it all in C++ (except for the C hidden in the GncDateTime implementation), which IMHO should be "good enough", for now, and hopefully get Windows users back up.
14:47:56 <gjanssens> Won't this just push the issue down the road until we want to switch to std::chrono eventually ?
14:47:57 <jralls> That's likely the safest solution.
14:48:13 <warlord> gjanssens, isn't that the goal?
14:48:23 <gjanssens> At that point we'd be back at libstdc++ only supporting "C" locale on Windows
14:49:08 <gjanssens> Short term yes, but it won't be solved by std::chrono in the future, so it's not a "for now" that will eventually solve itself
14:49:13 <gjanssens> Unless I misunderstand this.
14:49:41 <warlord> Would std::chrono be able to use boost::locale ?
14:49:47 <warlord> (or ICU)?
14:49:53 <gjanssens> No idea
14:51:05 <jralls> gjanssens: I doubt that gcc will ever support fully support std::locale on Windows, so std::chrono won't change anything. Plus it appears (https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.2020, search for P0355R7) that gcc isn't working on the std::chrono enhancements.
14:52:15 <jralls> I mentioned std::chrono as a reason that the boost::date_time library is unlikely to get further development, not to suggest that we'd be able to use it any time soon.
14:52:58 <gjanssens> Right. So we'll be stuck with this workaround for quite some time to come :(
14:53:20 * gjanssens really does wonder how difficult compiling gnucash on msvc would be
14:53:21 <jralls> ICU has its own datetime implementation but I don't know yet how well that's supported on Windows.
14:53:50 <jralls> For gjanssens, impossible until he sets up a windows box or VM! ;-)
14:54:09 <gjanssens> It's not the first time we get issues with gcc not supporting all required c++ standards
14:54:38 <gjanssens> We had similar issues somewhere in the filepath implementation IIRC
14:54:52 <gjanssens> LOL btw
14:54:56 <jralls> Otherwise, probably not too awful as long as one uses a recent release. M$ have gotten a lot more standards-compliant in the last 5 years.
14:55:49 <gjanssens> Regardless it's probably not the short-term fix
14:56:47 <gjanssens> I would be interested in clang's behaviour though. I (perhaps naively) tend to see that as a drop in replacement for gcc
14:56:56 <jralls> The main thing is that Windows isn't POSIX so all of the POSIX API that we use would have to be conditionally replaced with the msvcrt equivalents.
14:58:50 <jralls> I think most of our POSIX stuff is in file io, so limited to a few places.
15:00:05 <gjanssens> That's one thing our refactoring should clean up: one central and common interface for all file handling.
15:00:36 <gjanssens> That would reduce the few places to exactly one
15:01:06 * gjanssens tends to think too far into the future once again...
15:01:59 <jralls> Except for Guile, anyway, but that's a separate problem entirely.
15:07:55 *** bertbob has quit IRC
15:10:38 <gjanssens> Yeah, Guile unfortunately also causes us trouble on Windows.
15:14:33 *** bertbob has joined #gnucash
15:16:16 *** frakturfreak has quit IRC
15:17:57 *** fell has quit IRC
15:18:16 *** fell has joined #gnucash
15:31:30 *** frakturfreak has joined #gnucash
15:34:53 *** gncbot sets mode: +o fell
15:58:35 <jralls> Building with MSVC doesn't even get past Cmake. That's a project for another time.
16:01:56 <gjanssens> Bummer, but that's what it is
16:03:53 <jralls> On to clang...
16:17:42 <gjanssens> Fingers crossed...
16:17:48 *** gjanssens has quit IRC
16:18:24 *** calvinct has quit IRC
16:21:56 *** gjanssens has joined #gnucash
16:21:57 *** ChanServ sets mode: +o gjanssens
16:27:58 *** Agfarmer18 has joined #gnucash
16:29:03 *** Mechtilde has quit IRC
16:43:03 *** frakturfreak has quit IRC
16:46:29 *** Aussie_matt has joined #gnucash
17:02:42 *** kael has quit IRC
17:07:10 *** Agfarmer18 has quit IRC
17:12:36 *** tienne has joined #gnucash
17:23:59 *** jervin has joined #gnucash
17:30:43 *** kael has joined #gnucash
17:36:12 *** jervin has quit IRC
17:43:03 *** gour has quit IRC
18:01:42 *** gjanssens has quit IRC
18:02:28 *** GabrieleV has quit IRC
18:05:31 *** kael has quit IRC
18:07:50 *** kael has joined #gnucash
18:29:34 *** boldstripe has quit IRC
18:32:14 *** GabrieleV has joined #gnucash
18:43:07 <jralls> @tell gjanssens Well, I give up on libc++. "Hello World" generates over 1000 lines of link errors. Plus this: https://github.com/Alexpux/MINGW-packages/issues/4782, closed because Alexey doesn't think it's his job to fix it.
18:43:07 <gncbot> jralls: The operation succeeded.
18:47:43 *** kael has quit IRC
18:57:11 *** bertbob has quit IRC
19:02:17 *** chris has quit IRC
19:07:24 *** tienne has quit IRC
19:49:59 *** nimish has joined #gnucash
19:57:21 *** nimish has quit IRC
20:01:22 *** nimish has joined #gnucash
20:03:10 *** oozer has quit IRC
20:08:37 *** bertbob has joined #gnucash
20:20:46 *** Agfarmer18 has joined #gnucash
20:22:15 *** Agfarmer18 has quit IRC
22:22:33 *** nimish has quit IRC
22:47:32 *** bertbob has quit IRC
22:49:46 *** bertbob has joined #gnucash
23:25:28 *** ArtGravity has quit IRC
23:58:31 *** chris has joined #gnucash