Closed a4z closed 7 years ago
Hi,
You just need a slack account I think (or link it to your google account).
Anyhow, I'm just in the middle of getting q to build with both GCC and MSVC after having only used clang for quite a long time, and I realise that GCC 5 will not work whatsoever. It's pretty far from C++11 compliant. I've just gotten it to compile with GCC6 (although with huge warning outputs which are bogus and known to the GCC developers since 6.1, also there in 6.2 - haven't tested with 6.3).
So, you'll need clang/llvm or GCC 6 right now. It's a bit sad, but I really don't think this is my fault... C++11 support is still generally not very good with most compilers.
I still need to work on packaging q, and I'll ensure this works smooth for .deb
. That should mean that it's relatively easy to build and package it with other package managers too.
I have a lot more struggle with MSVC though...
that you will have more issues with MSVC is clear. I will test with gcc 6 / clang 3.9 tomorrow and tet with clang 3.8 maybe later this evening
if you do not plan to support compiler < 6.x than there is no need to hurry with packaging, since it will take several years to see distributions coming with it. except Arch and maybe Fedora.
therefore support of 5.3 should possible be on your feature list (Ubuntu 16.04 LTS. RHEL/CentOS 7 with the latest dev-toolset, and of course the most important of all, Slackware!) I can have a look what clang is more c++11 complaint than gcc. To tell you the truth, I have some doubts that this is the case, but I am talking about clang, not clang on mac, which might have some extensions to what I use on Linux.
you might also thing about turning on C++14, no need to restrict to C++11, except you plan support for gcc 4.8.x.
ad Slack, I have a Slack account, since I am in 2 groups, and tried to log in, but it did not work. will try it again later this evening.
Seems like slack won't allow open chats, so I'll drop it...
My experience is that MSVC has had similar kinds of bugs as GCC in the past, e.g. certain complex noexcept
statements causes ICE in both GCC and MSVC. Perhaps, when I've managed to make MSVC work, there won't be too much hassle to get GCC 5.3 to compile either.
Hours of pain later it compiles with 5.4 (I hope 5.3 as well), so please try again!
But beware, on a 64-bit machine when linking, GCC5 seems to consume about 4 GiB of ram while linking, GCC6 consumes 5 GiB. I guess compilers still don't like templates.
excellent and respect @grantila , but I hope you got some hours of sleep.
will try 5.3 in the evening, my Slackware notebook has 8 gig of ram, so this should be no problem. will try to use gold for linking, this might work better
builds now with gcc 6.2, but the warnings are of course extreme.
don't think that these are that many. it seems to be mostly the same and the one I see most is triggered from -Wplacement-new
.
This flag is new in gcc, and actually pretty useful. I think clang does not know it and does not have a corresponding check.
Are you sure this is a compiler bugs? If the compiler says something has size 160 but only 56 are given, I would believe the compiler.
However, this is in no relation from me if looking at the CMake files, if it builds, it builds, and there is something to install. If it's OK for you I can give it a look and maybe start make some suggestions for the cmake files ?
5.3 doesn't work but that's less important 5.4 works, that is important because of Ubuntu 16.04
I suggest you make some image change for libq. it is a modern C++14 and above library, requires therefore a decent new compiler. This will also make you live more easy, since this archaic 5 year old C++11 misses really some features that are available in C++14. Anyhow, I close this issue now since this is a good enough base for now.
Regarding the placement new detection, it's fantastic I agree, but I do think my code is correct and that I ended up with this bug, fixed in GCC 7.0 (and backported to 6.x, although I don't know if that's the x you and I are using): https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71306
C++14 does make sense, especially since it's kind of a bugfix version to C++11, however, I'll probably start using more of the 14 features and then have even more problems making it work well with clang, GCC and MSVC, especially the latter. Having made it this far, only requiring 11 is great for compatibility and portability, perhaps less so for the image ;)
Hej Gustaf, please check you inbox ;-)
ytterligare: I thought I have a look and check how the build and pack experience is, submit improvements if required/wanted, .... like we talked about recently.
unfortunately my user experience was not the best
so please open a communication channel so that we can fix so small issues on the fly, mail works excellent for me, but do you prefer slack, do I need an invitation for slack?