gpsd-dev
[Top][All Lists]
Advanced

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

Re: [gpsd-dev] gpsd Build Error "stdatomic.h" Not Found; Ubuntu 14.04 +


From: Gr Hudy
Subject: Re: [gpsd-dev] gpsd Build Error "stdatomic.h" Not Found; Ubuntu 14.04 + ARM Cortex A-15
Date: Thu, 05 Jul 2018 17:11:07 -0600

Cheers, Gary-

Turned off HAVE_STDATOMIC_H as instructed. Back to the stdatomic.h: No such 
file or directory error.

So, I played around a bit; it seems to me that line 70 in compiler.h should 
have 'failed'; __cplusplus _is_ defined, so it should be doing the #elif at 
line 72, and that should succeed (__cplusplus on this machine, with gcc-6, is 
defined and is 201402), and try to include <atomic>, not <stdatomic.h>.

EUREKA!!: Most of the gcc compiles in gpsd use gcc-6 as the compiler; the one 
that fails is invoking arm-linux-gnueabihf-gcc instead, and THAT compiler is 
version 4.8.5, and that's the crux of the biscuit: there is not a stdatomic.h 
in /usr/lib/gcc/arm-linux-gnueabihf/4.8/include !!

I tried the failing compile outside of scons by cutting and pasting the command 
line as reported during the build. It compiled successfully (??). This might 
have worked because of the changes you suggested to SConstruct, which I had 
made. I restored the clean gpsd sources and tried it and it failed with the 
stdatomic.h missing error again.

 I also tried compiling outside of scons using gcc-6 and it compiled 
successfully.

So, my question is, why is SConstruct calling a different compiler there? Can't 
it just use gcc-6?

OR, I need to figure out how to install version 6 of arm-linux-gnueabihf-gcc.

-Gr

----- Original message -----
From: "Gary E. Miller" <address@hidden>
To: address@hidden
Subject: Re: [gpsd-dev] gpsd Build Error "stdatomic.h" Not Found; Ubuntu 14.04 
+ ARM Cortex A-15
Date: Thu, 5 Jul 2018 15:23:57 -0700

Yo Gr!

> > 'atomic_thread_fence' is not a member of 'std'  
> 
> You also need to turn off HAVE_STDATOMIC.
> 
> gpsd_config.h:#define HAVE_STDATOMIC_H 1
> 
> Change the 1 to a 0.
> 
> Or, figure out why your stdatomic.h is not getting included.


Or change compiler.h to never take the HAVE_STDATOMIC_H fork.

compiler.h:#ifdef HAVE_STDATOMIC_H
compiler.h:#endif /* HAVE_STDATOMIC_H */
compiler.h:#elif defined HAVE_STDATOMIC_H


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

            Veritas liberabit vos. -- Quid est veritas?
    "If you can’t measure it, you can’t improve it." - Lord Kelvin
Email had 1 attachment:
+ Attachment2
  1k (application/pgp-signature)

Attachment: stdatomic.h
Description: Text Data


reply via email to

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