I got this error while installing Mplayer on Centos7.
This is the full error
libavutil/atomic.h:32:7: warning: "HAVE_ATOMICS_SUNCC" is not defined [-Wundef] #elif HAVE_ATOMICS_SUNCC ^ CC libavutil/camellia.o CC libavutil/cast5.o CC libavutil/channel_layout.o CC libavutil/color_utils.o CC libavutil/cpu.o libavutil/cpu.c:20:23: fatal error: stdatomic.h: No such file or directory #include^ compilation terminated. make[1]: *** [libavutil/cpu.o] Error 1 make[1]: Leaving directory `/root/mplayer/ffmpeg' make: *** [ffmpeg/libavutil/libavutil.a] Error 2
Basically you have 2 options, 1/ upgrade gcc to 4.9 ( very long process ), or 2/ download stdatomic.h and add it into the package you’re installing. You definitely want to go with option no.2
Go here https://gist.github.com/nhatminhle/5181506 and download the file ( you get link in upper right corner – hit Raw button ).
And then look where is it used in the package you are installing
root@lj: mplayer# pwd /root/mplayer root@lj: mplayer# wget https://gist.githubusercontent.com/nhatminhle/5181506/raw/541482dbc61862bba8a156edaae57faa2995d791/stdatomic.h root@lj: mplayer# find ./ -name "*.c" | xargs grep "stdatomic" -n ./ffmpeg/compat/atomics/pthread/stdatomic.c:27:#include "stdatomic.h" ./ffmpeg/libavutil/cpu.c:20:#include
Open stdatomic.c on line 27 and cpu.c on line 20 and make following change, from
#include
to
//#include#include
That’s it – this is by far the easiest way to deal with this error.
Where is stdatomic.c and cpu.c? Can you please tell me the path so that I can edit?
thank you, it worked.