gpsd-dev
[Top][All Lists]
Advanced

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

Re: ✘gpsd .23.2~rc1


From: Gary E. Miller
Subject: Re: ✘gpsd .23.2~rc1
Date: Fri, 8 Apr 2022 22:54:35 -0700

Yo Hal!

On Fri, 08 Apr 2022 22:23:17 -0700
Hal Murray <halmurray@sonic.net> wrote:

> gem@rellim.com said:
> > Can I just delete gpsmon?  It is a PITA,  it has not been touched
> > in ages. What a crazy way to juse setjmp()/longjump()...   
> 
> Your project.  You can do whatever you want.

More a matter of what I can figure out than what I want.

And it is just a warnng of something that can never happen.

> I find it handy when debugging stuff and as a convenient way to
> switch between NMEA and whatever binary mode the device supports.
> What do you use?

gpsdctl and ubxtool.  gpsmon does not work with newer stuff.

> > Line 160 is inside #ifdef _GNU_SOURCE", so strerror_r() should be
> > returning a "const char *".   
> 
> > What libc are you using??  Why do you have _GNU_SOURCE set but not
> > using glibc?  
> 
> It's an up to date Alpine Linux which uses musl.  I keep a copy
> around to help uncover problems like this.  I'm pretty sure previous
> versions of gpsd built without errors on this system.

So scons is mistaking musl for glibc.  Any easy way for scons to know
you are using musl?

> /usr/lib/libc.so -> ../../lib/ld-musl-x86_64.so.1
> 
> _GNU_SOURCE is set in gpsd_config.h
> 
> SConscript says:
>     if config.env['target_platform'].startswith('linux'):     
> ...
>         # for strnlen() and struct ifreq                           
>         # glibc before 2.10, deprecated in 2.10+                     
>         confdefs.append('#if !defined(_GNU_SOURCE)')                  
>         confdefs.append('#define _GNU_SOURCE 1')
>         confdefs.append('#endif\n')

Bad assumption that linux always uses glibc.  How to fix that?

> >  Rounding error:
> > - "altHAE":26.1200,
> > + "altHAE":26.1199,
> > printf() is supposed to round for us.  So another glitch in your
> > libc.  
> 
> Different system than above.
> 
> This happens on 32 bit Debian and 32 bit NetBSD.

But still a libc error.  printf() is supposed to round, and it is
not doing so.  I would not like to change all printf() uses of %f.

RGDS
GARY
---------------------------------------------------------------------------
Gary E. Miller Rellim 109 NW Wilmington Ave., Suite E, Bend, OR 97703
        gem@rellim.com  Tel:+1 541 382 8588

            Veritas liberabit vos. -- Quid est veritas?
    "If you can't measure it, you can't improve it." - Lord Kelvin

Attachment: pgp9uqYUtIbo3.pgp
Description: OpenPGP digital signature


reply via email to

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