gpsd-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [gpsd-dev] ✘CentOS fixed?


From: Fred Wright
Subject: Re: [gpsd-dev] ✘CentOS fixed?
Date: Fri, 14 Jun 2019 16:38:43 -0700 (PDT)
User-agent: Alpine 2.21 (LRH 202 2017-01-01)


On Fri, 14 Jun 2019, Gary E. Miller wrote:
Maybe I just fixed all the CentOS warnings.  Please test.

The CentOS I installed was 32-bit.  scons needs epel, which does not
suupport 32-bit.  So I'll try again with a 64-bit CentOS.

For what I have here, it's down to warnings on Ubuntu, and both warnings and errors on OpenBSD. I'll send the unstripped output privately, this time for just three VMs (Ubuntu, OpenBSD 64-bit, and OpenBSD 32-bit). The others are either clean or have just the known initializer warnings.


BTW, there's another category of warnings I've been mostly ignoring, though I don't think they show up in these cases. Some versions of clang warn that compiling C code as C++ is deprecated. I'm not sure exactly what it means by that, since it's certainly legal to write "clean C", based on the intersection of legal C and legal C++, and then compiling either way. I haven't tried to figure out exactly what it's complaining about.

In any case, the source of this is where libgps is compiled as C++ for the Qt library. Since it's only for Qt, and since Qt support is automatically turned off when the Qt prerequisites are missing, it may not show up even with an applicable clang version. I always see it here when building natively, but I probably haven't bothered to install the Qt stuff on the VMs.

I think the right fix for this is to have the Qt library call libgps as C code (via the usual extern "C" mechanism), rather than building a separate version just for Qt (though libgps would need a few tweaks to replace the Qt compile-time conditionals). But that's not trivial, and I wouldn't touch the Qt code to that degree without at least one decent test program for Qt. I did obtain the one that's referenced in the GPSD documentation, but it seems to have suffered from bit rot, so it would take some work to revive it even before messing with GPSD's Qt code. So for now, I just ignore those warnings.

Right now, libgps is compiled up to *four* times, based on all four combinations of C v.s C++ and PIC vs. non-PIC. It would be nice to at least get that down to two, if not one.

Fred Wright



reply via email to

[Prev in Thread] Current Thread [Next in Thread]