mobilinkd / m17-cxx-demod

M17 Demodulator in C++ (GPL)
GNU General Public License v3.0
31 stars 17 forks source link

Error at compilation: Convolution.h:5:10: fatal error: bit: No such file or directory #20

Open janekska opened 2 years ago

janekska commented 2 years ago

What I am doing wrong or missing?

root@raspberrypi:/home/pi/m17-cxx-demod/build# cmake ..
-- Build type not specified: defaulting to release.
-- # Checking dependencies
-- Found GTest: /usr/lib/arm-linux-gnueabihf/libgtest.a
-- Using install prefix: /usr/local
-- Building version: 0.1
-- Configuring done
-- Generating done
-- Build files have been written to: /home/pi/m17-cxx-demod/build
root@raspberrypi:/home/pi/m17-cxx-demod/build# make
Scanning dependencies of target m17-demod
[  2%] Building CXX object apps/CMakeFiles/m17-demod.dir/m17-demod.cpp.o
In file included from /home/pi/m17-cxx-demod/include/m17cxx/Trellis.h:8,
                 from /home/pi/m17-cxx-demod/include/m17cxx/M17FrameDecoder.h:7,
                 from /home/pi/m17-cxx-demod/include/m17cxx/M17Demodulator.h:11,
                 from /home/pi/m17-cxx-demod/apps/m17-demod.cpp:3:
/home/pi/m17-cxx-demod/include/m17cxx/Convolution.h:5:10: fatal error: bit: No such file or directory
 #include <bit>
          ^~~~~
compilation terminated.
make[2]: *** [apps/CMakeFiles/m17-demod.dir/build.make:63: apps/CMakeFiles/m17-demod.dir/m17-demod.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:196: apps/CMakeFiles/m17-demod.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
mobilinkd commented 2 years ago

You appear to be missing a standard C++20 header. Does your compiler support C++20?

On Wed, Apr 20, 2022 at 2:45 PM janekska @.***> wrote:

What I am doing wrong or missing?

@.:/home/pi/m17-cxx-demod/build# cmake .. -- Build type not specified: defaulting to release. -- # Checking dependencies -- Found GTest: /usr/lib/arm-linux-gnueabihf/libgtest.a -- Using install prefix: /usr/local -- Building version: 0.1 -- Configuring done -- Generating done -- Build files have been written to: /home/pi/m17-cxx-demod/build @.:/home/pi/m17-cxx-demod/build# make Scanning dependencies of target m17-demod [ 2%] Building CXX object apps/CMakeFiles/m17-demod.dir/m17-demod.cpp.o In file included from /home/pi/m17-cxx-demod/include/m17cxx/Trellis.h:8, from /home/pi/m17-cxx-demod/include/m17cxx/M17FrameDecoder.h:7, from /home/pi/m17-cxx-demod/include/m17cxx/M17Demodulator.h:11, from /home/pi/m17-cxx-demod/apps/m17-demod.cpp:3: /home/pi/m17-cxx-demod/include/m17cxx/Convolution.h:5:10: fatal error: bit: No such file or directory

include

      ^~~~~

compilation terminated. make[2]: [apps/CMakeFiles/m17-demod.dir/build.make:63: apps/CMakeFiles/m17-demod.dir/m17-demod.cpp.o] Error 1 make[1]: [CMakeFiles/Makefile2:196: apps/CMakeFiles/m17-demod.dir/all] Error 2 make: *** [Makefile:141: all] Error 2

— Reply to this email directly, view it on GitHub https://github.com/mobilinkd/m17-cxx-demod/issues/20, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABD64DHRRPU3OY2VMQ4DGE3VGBNGXANCNFSM5T5CLBGA . You are receiving this because you are subscribed to this thread.Message ID: @.***>

janekska commented 2 years ago

Hm, I used compiler packages provided by apt... on my raspberry/raspbian. How could I check it?

marrem commented 2 years ago

Same thing here on Raspbian GNU/Linux 10.

pi@mpw:~/src/m17-cxx-demod/build $ gcc --version
gcc (Raspbian 8.3.0-6+rpi1) 8.3.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
pi@mpw:~/src/m17-cxx-demod/build $ make
[ 25%] Building CXX object apps/CMakeFiles/m17-mod.dir/m17-mod.cpp.o
In file included from /home/pi/src/m17-cxx-demod/include/m17cxx/Trellis.h:8,
                 from /home/pi/src/m17-cxx-demod/apps/m17-mod.cpp:8:
/home/pi/src/m17-cxx-demod/include/m17cxx/Convolution.h:5:10: fatal error: bit: No such file or directory
 #include <bit>

What file does #include <bit> look for. I've looked for bit.h in debian package search. Found it in Linux headers, but after installing that, it didn't solve the problem.

srcejon commented 2 years ago

You appear to be missing a standard C++20 header. Does your compiler support C++20?

BTW, readme.md says "It also requires a modern C++17 compiler"