robotastic / trunk-recorder

Records calls from a Trunked Radio System (P25 & SmartNet)
GNU General Public License v3.0
872 stars 195 forks source link

Cannot build on latest Kali Linux (Debian) #81

Closed dStruct closed 7 years ago

dStruct commented 7 years ago

Hello, I was interested in setting this up on Kali Linux, I'm running the latest version, however I'm having build errors during the make portion of the install. Everything is pretty standard, and I followed all the build/install instructions.

user@laptop:~/Documents/code/trunk-recorder$ cmake .
-- The CXX compiler identification is GNU 6.2.1
-- The C compiler identification is GNU 6.2.1
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Build type not specified: defaulting to release.
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29") 
-- Checking for module 'gnuradio-runtime'
--   Found gnuradio-runtime, version 3.7.10
-- Found GNURADIO_RUNTIME: /usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so  
-- Checking for module 'cppunit'
--   Found cppunit, version 1.13.2
-- Found CPPUNIT: /usr/lib/x86_64-linux-gnu/libcppunit.so;dl  
Checking for GNU Radio Module: RUNTIME
 * INCLUDES=/usr/include
 * LIBS=/usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-pmt.so
-- Found GNURADIO_RUNTIME: /usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-pmt.so  
GNURADIO_RUNTIME_FOUND = TRUE
Checking for GNU Radio Module: ANALOG
-- Checking for module 'gnuradio-analog'
--   Found gnuradio-analog, version 3.7.10
 * INCLUDES=/usr/include
 * LIBS=/usr/lib/x86_64-linux-gnu/libgnuradio-analog.so;/usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-pmt.so;/usr/lib/x86_64-linux-gnu/libvolk.so
-- Found GNURADIO_ANALOG: /usr/lib/x86_64-linux-gnu/libgnuradio-analog.so;/usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-pmt.so;/usr/lib/x86_64-linux-gnu/libvolk.so  
GNURADIO_ANALOG_FOUND = TRUE
Checking for GNU Radio Module: BLOCKS
-- Checking for module 'gnuradio-blocks'
--   Found gnuradio-blocks, version 3.7.10
 * INCLUDES=/usr/include
 * LIBS=/usr/lib/x86_64-linux-gnu/libgnuradio-blocks.so;/usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-pmt.so
-- Found GNURADIO_BLOCKS: /usr/lib/x86_64-linux-gnu/libgnuradio-blocks.so;/usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-pmt.so  
GNURADIO_BLOCKS_FOUND = TRUE
Checking for GNU Radio Module: DIGITAL
-- Checking for module 'gnuradio-digital'
--   Found gnuradio-digital, version 3.7.10
 * INCLUDES=/usr/include
 * LIBS=/usr/lib/x86_64-linux-gnu/libgnuradio-digital.so;/usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-pmt.so
-- Found GNURADIO_DIGITAL: /usr/lib/x86_64-linux-gnu/libgnuradio-digital.so;/usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-pmt.so  
GNURADIO_DIGITAL_FOUND = TRUE
Checking for GNU Radio Module: FILTER
-- Checking for module 'gnuradio-filter'
--   Found gnuradio-filter, version 3.7.10
 * INCLUDES=/usr/include
 * LIBS=/usr/lib/x86_64-linux-gnu/libgnuradio-filter.so;/usr/lib/x86_64-linux-gnu/libgnuradio-fft.so;/usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-pmt.so
-- Found GNURADIO_FILTER: /usr/lib/x86_64-linux-gnu/libgnuradio-filter.so;/usr/lib/x86_64-linux-gnu/libgnuradio-fft.so;/usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-pmt.so  
GNURADIO_FILTER_FOUND = TRUE
Checking for GNU Radio Module: PMT
-- Checking for module 'gnuradio-runtime'
--   Found gnuradio-runtime, version 3.7.10
 * INCLUDES=/usr/include
 * LIBS=/usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-pmt.so
-- Found GNURADIO_PMT: /usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-pmt.so  
GNURADIO_PMT_FOUND = TRUE
-- Found GNURADIO_RUNTIME: /usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-pmt.so  
-- Found CPPUNIT: /usr/lib/x86_64-linux-gnu/libcppunit.so;dl;dl  
-- Checking for module 'gnuradio-uhd'
--   Found gnuradio-uhd, version 3.7.10
-- Found gnuradio-uhd: /usr/include, /usr/lib/x86_64-linux-gnu/libgnuradio-uhd.so
-- Found GNURADIO_UHD: /usr/lib/x86_64-linux-gnu/libgnuradio-uhd.so  
-- Checking for module 'gnuradio-osmosdr'
--   Found gnuradio-osmosdr, version 0.1.4
-- Found GrOsmoSDR: /usr/lib/x86_64-linux-gnu/libgnuradio-osmosdr.so  
-- Pkg: , , 
-- Vars: /usr/include, /usr/lib/x86_64-linux-gnu/libgnuradio-osmosdr.so
-- Checking for module 'libhackrf'
--   No package 'libhackrf' found
-- Could NOT find LIBHACKRF (missing:  LIBHACKRF_LIBRARIES LIBHACKRF_INCLUDE_DIRS) 
-- Checking for module 'uhd'
--   Found uhd, version 003.009.005-0-unknown
-- Found UHD: /usr/lib/x86_64-linux-gnu/libuhd.so  
-- Configuring Boost C++ Libraries...
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Boost version: 1.62.0
-- Found the following Boost libraries:
--   thread
--   system
--   program_options
--   filesystem
--   log
--   regex
--   chrono
--   date_time
--   atomic
--   log_setup
-- Configuring done
-- Generating done
-- Build files have been written to: /home/user/Documents/code/trunk-recorder
user@laptop:~/Documents/code/trunk-recorder$ make
Scanning dependencies of target imbe_vocoder
[  1%] Building CXX object op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/aux_sub.cc.o
[  2%] Building CXX object op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/basicop2.cc.o
[  4%] Building CXX object op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/ch_decode.cc.o
[  5%] Building CXX object op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/ch_encode.cc.o
[  7%] Building CXX object op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/dc_rmv.cc.o
[  8%] Building CXX object op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/decode.cc.o
[  9%] Building CXX object op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/dsp_sub.cc.o
[ 11%] Building CXX object op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/encode.cc.o
[ 12%] Building CXX object op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/imbe_vocoder.cc.o
[ 14%] Building CXX object op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/math_sub.cc.o
[ 15%] Building CXX object op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/pe_lpf.cc.o
[ 16%] Building CXX object op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/pitch_est.cc.o
[ 18%] Building CXX object op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/pitch_ref.cc.o
[ 19%] Building CXX object op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/qnt_sub.cc.o
[ 21%] Building CXX object op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/rand_gen.cc.o
[ 22%] Building CXX object op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/sa_decode.cc.o
[ 23%] Building CXX object op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/sa_encode.cc.o
[ 25%] Building CXX object op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/sa_enh.cc.o
[ 26%] Building CXX object op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/tbls.cc.o
[ 28%] Building CXX object op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/uv_synt.cc.o
[ 29%] Building CXX object op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/v_synt.cc.o
[ 30%] Building CXX object op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/v_uv_det.cc.o
[ 32%] Linking CXX static library libimbe_vocoder.a
[ 32%] Built target imbe_vocoder
Scanning dependencies of target gnuradio-op25_repeater
[ 33%] Building CXX object op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/vocoder_impl.cc.o
[ 35%] Building CXX object op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/gardner_costas_cc_impl.cc.o
[ 36%] Building CXX object op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25_frame_assembler_impl.cc.o
[ 38%] Building CXX object op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/fsk4_slicer_fb_impl.cc.o
[ 39%] Building CXX object op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/fsk4_demod_ff_impl.cc.o
[ 40%] Building CXX object op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/bch.cc.o
[ 42%] Building CXX object op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/rs.cc.o
[ 43%] Building CXX object op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25_framer.cc.o
[ 45%] Building CXX object op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25p1_fdma.cc.o
[ 46%] Building CXX object op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25p1_voice_encode.cc.o
[ 47%] Building CXX object op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25p1_voice_decode.cc.o
[ 49%] Building CXX object op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25p2_framer.cc.o
[ 50%] Building CXX object op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25p2_isch.cc.o
[ 52%] Building CXX object op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25p2_duid.cc.o
[ 53%] Building CXX object op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25p2_sync.cc.o
[ 54%] Building CXX object op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25p2_tdma.cc.o
[ 56%] Building CXX object op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25p2_vf.cc.o
[ 57%] Building CXX object op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/imbe_decoder.cc.o
[ 59%] Building CXX object op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/software_imbe_decoder.cc.o
[ 60%] Building C object op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/ambe.c.o
[ 61%] Building C object op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/mbelib.c.o
[ 63%] Linking CXX shared library libgnuradio-op25_repeater.so
[ 63%] Built target gnuradio-op25_repeater
Scanning dependencies of target recorder
[ 64%] Building CXX object CMakeFiles/recorder.dir/trunk-recorder/main.cc.o
/home/user/Documents/code/trunk-recorder/trunk-recorder/main.cc: In function ‘int main()’:
/home/user/Documents/code/trunk-recorder/trunk-recorder/main.cc:912:29: error: expected ‘;’ before ‘__attribute__’
   BOOST_STATIC_ASSERT(true) __attribute__((unused));
                             ^~~~~~~~~~~~~
/home/user/Documents/code/trunk-recorder/trunk-recorder/main.cc:912:29: error: expected primary-expression before ‘__attribute__’
CMakeFiles/recorder.dir/build.make:62: recipe for target 'CMakeFiles/recorder.dir/trunk-recorder/main.cc.o' failed
make[2]: *** [CMakeFiles/recorder.dir/trunk-recorder/main.cc.o] Error 1
CMakeFiles/Makefile2:68: recipe for target 'CMakeFiles/recorder.dir/all' failed
make[1]: *** [CMakeFiles/recorder.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
dStruct commented 7 years ago

I should also point out, I resolved the hackrf missing dep, just grabbed the wrong copy/paste.

robotastic commented 7 years ago

Hmm... that is quite weird. It looks like it may have something to do with the version of GCC being used: http://stackoverflow.com/questions/13198272/error-expected-primary-expression-before-attribute

Could you try commenting out like 912 in main.cc?

Also check and see what version of GCC it is - gcc -v

dStruct commented 7 years ago

Hi Robotastic,

I tried that, and it passes that build step to later completely fall on it's face.

I'm using the latest Kali Linux (Debian) which uses: gcc version 6.2.1 20161124 (Debian 6.2.1-5).

user@laptop:~/Documents/code/trunk-recorder$ make
[ 64%] Built target imbe_vocoder
[ 64%] Built target gnuradio-op25_repeater
[ 64%] Building CXX object CMakeFiles/recorder.dir/trunk-recorder/systems/p25_parser.cc.o
In file included from /usr/include/boost/log/sources/record_ostream.hpp:31:0,
                 from /usr/include/boost/log/trivial.hpp:23,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:9,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/boost/log/utility/formatting_ostream.hpp: In instantiation of ‘typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, T&) [with StreamT = boost::log::v2_mt_posix::basic_formatting_ostream<char>; T = std::__cxx11::basic_ostringstream<char>; typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type = boost::log::v2_mt_posix::basic_formatting_ostream<char>&]’:
/usr/include/boost/log/sources/record_ostream.hpp:212:51:   required from ‘typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, T&) [with StreamT = boost::log::v2_mt_posix::basic_record_ostream<char>; T = std::__cxx11::basic_ostringstream<char>; typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type = boost::log::v2_mt_posix::basic_record_ostream<char>&]’
/home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:136:35:   required from here
/usr/include/boost/log/utility/formatting_ostream.hpp:859:19: error: no match for ‘operator<<’ (operand types are ‘boost::log::v2_mt_posix::basic_formatting_ostream<char>::ostream_type {aka std::basic_ostream<char>}’ and ‘std::__cxx11::basic_ostringstream<char>’)
     strm.stream() << value;

/usr/include/boost/log/utility/formatting_ostream.hpp:859:19: note: candidate: operator<<(int, int) <built-in>
/usr/include/boost/log/utility/formatting_ostream.hpp:859:19: note:   no known conversion for argument 2 from ‘std::__cxx11::basic_ostringstream<char>’ to ‘int’
In file included from /usr/include/c++/6/iostream:39:0,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/parser.h:3,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:3,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/c++/6/ostream:108:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__ostream_type& (*)(std::basic_ostream<_CharT, _Traits>::__ostream_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]
       operator<<(__ostream_type& (*__pf)(__ostream_type&))
       ^~~~~~~~
/usr/include/c++/6/ostream:108:7: note:   no known conversion for argument 1 from ‘std::__cxx11::basic_ostringstream<char>’ to ‘std::basic_ostream<char>::__ostream_type& (*)(std::basic_ostream<char>::__ostream_type&) {aka std::basic_ostream<char>& (*)(std::basic_ostream<char>&)}’
/usr/include/c++/6/ostream:117:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__ios_type& (*)(std::basic_ostream<_CharT, _Traits>::__ios_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>; std::basic_ostream<_CharT, _Traits>::__ios_type = std::basic_ios<char>]
       operator<<(__ios_type& (*__pf)(__ios_type&))
       ^~~~~~~~
/usr/include/c++/6/ostream:117:7: note:   no known conversion for argument 1 from ‘std::__cxx11::basic_ostringstream<char>’ to ‘std::basic_ostream<char>::__ios_type& (*)(std::basic_ostream<char>::__ios_type&) {aka std::basic_ios<char>& (*)(std::basic_ios<char>&)}’
/usr/include/c++/6/ostream:127:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::ios_base& (*)(std::ios_base&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]
       operator<<(ios_base& (*__pf) (ios_base&))
       ^~~~~~~~
/usr/include/c++/6/ostream:127:7: note:   no known conversion for argument 1 from ‘std::__cxx11::basic_ostringstream<char>’ to ‘std::ios_base& (*)(std::ios_base&)’
/usr/include/c++/6/ostream:166:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]
       operator<<(long __n)
       ^~~~~~~~
/usr/include/c++/6/ostream:166:7: note:   no known conversion for argument 1 from ‘std::__cxx11::basic_ostringstream<char>’ to ‘long int’
/usr/include/c++/6/ostream:170:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]
       operator<<(unsigned long __n)
       ^~~~~~~~
/usr/include/c++/6/ostream:170:7: note:   no known conversion for argument 1 from ‘std::__cxx11::basic_ostringstream<char>’ to ‘long unsigned int’
/usr/include/c++/6/ostream:174:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(bool) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]
       operator<<(bool __n)
       ^~~~~~~~
/usr/include/c++/6/ostream:174:7: note:   no known conversion for argument 1 from ‘std::__cxx11::basic_ostringstream<char>’ to ‘bool’
In file included from /usr/include/c++/6/ostream:638:0,
                 from /usr/include/c++/6/iostream:39,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/parser.h:3,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:3,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/c++/6/bits/ostream.tcc:91:5: note: candidate: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(short int) [with _CharT = char; _Traits = std::char_traits<char>]
     basic_ostream<_CharT, _Traits>::
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/6/bits/ostream.tcc:91:5: note:   no known conversion for argument 1 from ‘std::__cxx11::basic_ostringstream<char>’ to ‘short int’
In file included from /usr/include/c++/6/iostream:39:0,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/parser.h:3,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:3,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/c++/6/ostream:181:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(short unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]
       operator<<(unsigned short __n)
       ^~~~~~~~
/usr/include/c++/6/ostream:181:7: note:   no known conversion for argument 1 from ‘std::__cxx11::basic_ostringstream<char>’ to ‘short unsigned int’
In file included from /usr/include/c++/6/ostream:638:0,
                 from /usr/include/c++/6/iostream:39,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/parser.h:3,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:3,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/c++/6/bits/ostream.tcc:105:5: note: candidate: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(int) [with _CharT = char; _Traits = std::char_traits<char>]
     basic_ostream<_CharT, _Traits>::
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/6/bits/ostream.tcc:105:5: note:   no known conversion for argument 1 from ‘std::__cxx11::basic_ostringstream<char>’ to ‘int’
In file included from /usr/include/c++/6/iostream:39:0,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/parser.h:3,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:3,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/c++/6/ostream:192:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]
       operator<<(unsigned int __n)
       ^~~~~~~~
/usr/include/c++/6/ostream:192:7: note:   no known conversion for argument 1 from ‘std::__cxx11::basic_ostringstream<char>’ to ‘unsigned int’
/usr/include/c++/6/ostream:201:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]
       operator<<(long long __n)
       ^~~~~~~~
/usr/include/c++/6/ostream:201:7: note:   no known conversion for argument 1 from ‘std::__cxx11::basic_ostringstream<char>’ to ‘long long int’
/usr/include/c++/6/ostream:205:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]
       operator<<(unsigned long long __n)
       ^~~~~~~~
/usr/include/c++/6/ostream:205:7: note:   no known conversion for argument 1 from ‘std::__cxx11::basic_ostringstream<char>’ to ‘long long unsigned int’
/usr/include/c++/6/ostream:220:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(double) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]
       operator<<(double __f)
       ^~~~~~~~
/usr/include/c++/6/ostream:220:7: note:   no known conversion for argument 1 from ‘std::__cxx11::basic_ostringstream<char>’ to ‘double’
/usr/include/c++/6/ostream:224:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(float) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]
       operator<<(float __f)
       ^~~~~~~~
/usr/include/c++/6/ostream:224:7: note:   no known conversion for argument 1 from ‘std::__cxx11::basic_ostringstream<char>’ to ‘float’
/usr/include/c++/6/ostream:232:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long double) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]
       operator<<(long double __f)
       ^~~~~~~~
/usr/include/c++/6/ostream:232:7: note:   no known conversion for argument 1 from ‘std::__cxx11::basic_ostringstream<char>’ to ‘long double’
/usr/include/c++/6/ostream:245:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(const void*) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]
       operator<<(const void* __p)
       ^~~~~~~~
/usr/include/c++/6/ostream:245:7: note:   no known conversion for argument 1 from ‘std::__cxx11::basic_ostringstream<char>’ to ‘const void*’
In file included from /usr/include/c++/6/ostream:638:0,
                 from /usr/include/c++/6/iostream:39,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/parser.h:3,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:3,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/c++/6/bits/ostream.tcc:119:5: note: candidate: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__streambuf_type*) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__streambuf_type = std::basic_streambuf<char>]
     basic_ostream<_CharT, _Traits>::
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/6/bits/ostream.tcc:119:5: note:   no known conversion for argument 1 from ‘std::__cxx11::basic_ostringstream<char>’ to ‘std::basic_ostream<char>::__streambuf_type* {aka std::basic_streambuf<char>*}’
In file included from /usr/include/boost/log/trivial.hpp:23:0,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:9,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/boost/log/sources/record_ostream.hpp:229:1: note: candidate: template<class StreamT, class T> typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&&, T&)
 operator<< (StreamT&& strm, T& value)
 ^~~~~~~~
/usr/include/boost/log/sources/record_ostream.hpp:229:1: note:   template argument deduction/substitution failed:
/usr/include/boost/log/sources/record_ostream.hpp: In substitution of ‘template<class StreamT, class T> typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&&, T&) [with StreamT = std::basic_ostream<char>&; T = std::__cxx11::basic_ostringstream<char>]’:
/usr/include/boost/log/utility/formatting_ostream.hpp:859:19:   required from ‘typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, T&) [with StreamT = boost::log::v2_mt_posix::basic_formatting_ostream<char>; T = std::__cxx11::basic_ostringstream<char>; typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type = boost::log::v2_mt_posix::basic_formatting_ostream<char>&]’
/usr/include/boost/log/sources/record_ostream.hpp:212:51:   required from ‘typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, T&) [with StreamT = boost::log::v2_mt_posix::basic_record_ostream<char>; T = std::__cxx11::basic_ostringstream<char>; typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type = boost::log::v2_mt_posix::basic_record_ostream<char>&]’
/home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:136:35:   required from here
/usr/include/boost/log/sources/record_ostream.hpp:229:1: error: no type named ‘type’ in ‘struct boost::log::v2_mt_posix::aux::enable_if_record_ostream<std::basic_ostream<char>&, std::basic_ostream<char>&>’
/usr/include/boost/log/utility/formatting_ostream.hpp: In instantiation of ‘typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, T&) [with StreamT = boost::log::v2_mt_posix::basic_formatting_ostream<char>; T = std::__cxx11::basic_ostringstream<char>; typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type = boost::log::v2_mt_posix::basic_formatting_ostream<char>&]’:
/usr/include/boost/log/sources/record_ostream.hpp:212:51:   required from ‘typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, T&) [with StreamT = boost::log::v2_mt_posix::basic_record_ostream<char>; T = std::__cxx11::basic_ostringstream<char>; typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type = boost::log::v2_mt_posix::basic_record_ostream<char>&]’
/home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:136:35:   required from here
/usr/include/boost/log/sources/record_ostream.hpp:220:1: note: candidate: template<class StreamT, class T> typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&&, const T&)
 operator<< (StreamT&& strm, T const& value)
 ^~~~~~~~
/usr/include/boost/log/sources/record_ostream.hpp:220:1: note:   template argument deduction/substitution failed:
/usr/include/boost/log/sources/record_ostream.hpp: In substitution of ‘template<class StreamT, class T> typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&&, const T&) [with StreamT = std::basic_ostream<char>&; T = std::__cxx11::basic_ostringstream<char>]’:
/usr/include/boost/log/utility/formatting_ostream.hpp:859:19:   required from ‘typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, T&) [with StreamT = boost::log::v2_mt_posix::basic_formatting_ostream<char>; T = std::__cxx11::basic_ostringstream<char>; typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type = boost::log::v2_mt_posix::basic_formatting_ostream<char>&]’
/usr/include/boost/log/sources/record_ostream.hpp:212:51:   required from ‘typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, T&) [with StreamT = boost::log::v2_mt_posix::basic_record_ostream<char>; T = std::__cxx11::basic_ostringstream<char>; typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type = boost::log::v2_mt_posix::basic_record_ostream<char>&]’
/home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:136:35:   required from here
/usr/include/boost/log/sources/record_ostream.hpp:220:1: error: no type named ‘type’ in ‘struct boost::log::v2_mt_posix::aux::enable_if_record_ostream<std::basic_ostream<char>&, std::basic_ostream<char>&>’
/usr/include/boost/log/utility/formatting_ostream.hpp: In instantiation of ‘typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, T&) [with StreamT = boost::log::v2_mt_posix::basic_formatting_ostream<char>; T = std::__cxx11::basic_ostringstream<char>; typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type = boost::log::v2_mt_posix::basic_formatting_ostream<char>&]’:
/usr/include/boost/log/sources/record_ostream.hpp:212:51:   required from ‘typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, T&) [with StreamT = boost::log::v2_mt_posix::basic_record_ostream<char>; T = std::__cxx11::basic_ostringstream<char>; typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type = boost::log::v2_mt_posix::basic_record_ostream<char>&]’
/home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:136:35:   required from here
/usr/include/boost/log/sources/record_ostream.hpp:209:1: note: candidate: template<class StreamT, class T> typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, T&)
 operator<< (StreamT& strm, T& value)
 ^~~~~~~~
/usr/include/boost/log/sources/record_ostream.hpp:209:1: note:   template argument deduction/substitution failed:
/usr/include/boost/log/sources/record_ostream.hpp: In substitution of ‘template<class StreamT, class T> typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, T&) [with StreamT = std::basic_ostream<char>; T = std::__cxx11::basic_ostringstream<char>]’:
/usr/include/boost/log/utility/formatting_ostream.hpp:859:19:   required from ‘typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, T&) [with StreamT = boost::log::v2_mt_posix::basic_formatting_ostream<char>; T = std::__cxx11::basic_ostringstream<char>; typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type = boost::log::v2_mt_posix::basic_formatting_ostream<char>&]’
/usr/include/boost/log/sources/record_ostream.hpp:212:51:   required from ‘typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, T&) [with StreamT = boost::log::v2_mt_posix::basic_record_ostream<char>; T = std::__cxx11::basic_ostringstream<char>; typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type = boost::log::v2_mt_posix::basic_record_ostream<char>&]’
/home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:136:35:   required from here
/usr/include/boost/log/sources/record_ostream.hpp:209:1: error: no type named ‘type’ in ‘struct boost::log::v2_mt_posix::aux::enable_if_record_ostream<std::basic_ostream<char>, std::basic_ostream<char>&>’
/usr/include/boost/log/utility/formatting_ostream.hpp: In instantiation of ‘typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, T&) [with StreamT = boost::log::v2_mt_posix::basic_formatting_ostream<char>; T = std::__cxx11::basic_ostringstream<char>; typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type = boost::log::v2_mt_posix::basic_formatting_ostream<char>&]’:
/usr/include/boost/log/sources/record_ostream.hpp:212:51:   required from ‘typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, T&) [with StreamT = boost::log::v2_mt_posix::basic_record_ostream<char>; T = std::__cxx11::basic_ostringstream<char>; typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type = boost::log::v2_mt_posix::basic_record_ostream<char>&]’
/home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:136:35:   required from here
/usr/include/boost/log/sources/record_ostream.hpp:200:1: note: candidate: template<class StreamT, class T> typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, const T&)
 operator<< (StreamT& strm, T const& value)
 ^~~~~~~~
/usr/include/boost/log/sources/record_ostream.hpp:200:1: note:   template argument deduction/substitution failed:
/usr/include/boost/log/sources/record_ostream.hpp: In substitution of ‘template<class StreamT, class T> typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, const T&) [with StreamT = std::basic_ostream<char>; T = std::__cxx11::basic_ostringstream<char>]’:
/usr/include/boost/log/utility/formatting_ostream.hpp:859:19:   required from ‘typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, T&) [with StreamT = boost::log::v2_mt_posix::basic_formatting_ostream<char>; T = std::__cxx11::basic_ostringstream<char>; typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type = boost::log::v2_mt_posix::basic_formatting_ostream<char>&]’
/usr/include/boost/log/sources/record_ostream.hpp:212:51:   required from ‘typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, T&) [with StreamT = boost::log::v2_mt_posix::basic_record_ostream<char>; T = std::__cxx11::basic_ostringstream<char>; typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type = boost::log::v2_mt_posix::basic_record_ostream<char>&]’
/home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:136:35:   required from here
/usr/include/boost/log/sources/record_ostream.hpp:200:1: error: no type named ‘type’ in ‘struct boost::log::v2_mt_posix::aux::enable_if_record_ostream<std::basic_ostream<char>, std::basic_ostream<char>&>’
In file included from /usr/include/boost/log/sources/record_ostream.hpp:31:0,
                 from /usr/include/boost/log/trivial.hpp:23,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:9,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/boost/log/utility/formatting_ostream.hpp: In instantiation of ‘typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, T&) [with StreamT = boost::log::v2_mt_posix::basic_formatting_ostream<char>; T = std::__cxx11::basic_ostringstream<char>; typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type = boost::log::v2_mt_posix::basic_formatting_ostream<char>&]’:
/usr/include/boost/log/sources/record_ostream.hpp:212:51:   required from ‘typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, T&) [with StreamT = boost::log::v2_mt_posix::basic_record_ostream<char>; T = std::__cxx11::basic_ostringstream<char>; typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type = boost::log::v2_mt_posix::basic_record_ostream<char>&]’
/home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:136:35:   required from here
/usr/include/boost/log/utility/formatting_ostream.hpp:875:1: note: candidate: template<class StreamT, class T> typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&&, T&)
 operator<< (StreamT&& strm, T& value)
 ^~~~~~~~
/usr/include/boost/log/utility/formatting_ostream.hpp:875:1: note:   template argument deduction/substitution failed:
/usr/include/boost/log/utility/formatting_ostream.hpp: In substitution of ‘template<class StreamT, class T> typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&&, T&) [with StreamT = std::basic_ostream<char>&; T = std::__cxx11::basic_ostringstream<char>]’:
/usr/include/boost/log/utility/formatting_ostream.hpp:859:19:   required from ‘typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, T&) [with StreamT = boost::log::v2_mt_posix::basic_formatting_ostream<char>; T = std::__cxx11::basic_ostringstream<char>; typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type = boost::log::v2_mt_posix::basic_formatting_ostream<char>&]’
/usr/include/boost/log/sources/record_ostream.hpp:212:51:   required from ‘typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, T&) [with StreamT = boost::log::v2_mt_posix::basic_record_ostream<char>; T = std::__cxx11::basic_ostringstream<char>; typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type = boost::log::v2_mt_posix::basic_record_ostream<char>&]’
/home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:136:35:   required from here
/usr/include/boost/log/utility/formatting_ostream.hpp:875:1: error: no type named ‘type’ in ‘struct boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<std::basic_ostream<char>&, std::basic_ostream<char>&>’
/usr/include/boost/log/utility/formatting_ostream.hpp: In instantiation of ‘typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, T&) [with StreamT = boost::log::v2_mt_posix::basic_formatting_ostream<char>; T = std::__cxx11::basic_ostringstream<char>; typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type = boost::log::v2_mt_posix::basic_formatting_ostream<char>&]’:
/usr/include/boost/log/sources/record_ostream.hpp:212:51:   required from ‘typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, T&) [with StreamT = boost::log::v2_mt_posix::basic_record_ostream<char>; T = std::__cxx11::basic_ostringstream<char>; typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type = boost::log::v2_mt_posix::basic_record_ostream<char>&]’
/home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:136:35:   required from here
/usr/include/boost/log/utility/formatting_ostream.hpp:867:1: note: candidate: template<class StreamT, class T> typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&&, const T&)
 operator<< (StreamT&& strm, T const& value)
 ^~~~~~~~
/usr/include/boost/log/utility/formatting_ostream.hpp:867:1: note:   template argument deduction/substitution failed:
/usr/include/boost/log/utility/formatting_ostream.hpp: In substitution of ‘template<class StreamT, class T> typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&&, const T&) [with StreamT = std::basic_ostream<char>&; T = std::__cxx11::basic_ostringstream<char>]’:
/usr/include/boost/log/utility/formatting_ostream.hpp:859:19:   required from ‘typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, T&) [with StreamT = boost::log::v2_mt_posix::basic_formatting_ostream<char>; T = std::__cxx11::basic_ostringstream<char>; typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type = boost::log::v2_mt_posix::basic_formatting_ostream<char>&]’
/usr/include/boost/log/sources/record_ostream.hpp:212:51:   required from ‘typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, T&) [with StreamT = boost::log::v2_mt_posix::basic_record_ostream<char>; T = std::__cxx11::basic_ostringstream<char>; typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type = boost::log::v2_mt_posix::basic_record_ostream<char>&]’
/home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:136:35:   required from here
/usr/include/boost/log/utility/formatting_ostream.hpp:867:1: error: no type named ‘type’ in ‘struct boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<std::basic_ostream<char>&, std::basic_ostream<char>&>’
/usr/include/boost/log/utility/formatting_ostream.hpp: In instantiation of ‘typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, T&) [with StreamT = boost::log::v2_mt_posix::basic_formatting_ostream<char>; T = std::__cxx11::basic_ostringstream<char>; typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type = boost::log::v2_mt_posix::basic_formatting_ostream<char>&]’:
/usr/include/boost/log/sources/record_ostream.hpp:212:51:   required from ‘typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, T&) [with StreamT = boost::log::v2_mt_posix::basic_record_ostream<char>; T = std::__cxx11::basic_ostringstream<char>; typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type = boost::log::v2_mt_posix::basic_record_ostream<char>&]’
/home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:136:35:   required from here
/usr/include/boost/log/utility/formatting_ostream.hpp:857:1: note: candidate: template<class StreamT, class T> typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, T&)
 operator<< (StreamT& strm, T& value)
 ^~~~~~~~
/usr/include/boost/log/utility/formatting_ostream.hpp:857:1: note:   template argument deduction/substitution failed:
/usr/include/boost/log/utility/formatting_ostream.hpp: In substitution of ‘template<class StreamT, class T> typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, T&) [with StreamT = std::basic_ostream<char>; T = std::__cxx11::basic_ostringstream<char>]’:
/usr/include/boost/log/utility/formatting_ostream.hpp:859:19:   required from ‘typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, T&) [with StreamT = boost::log::v2_mt_posix::basic_formatting_ostream<char>; T = std::__cxx11::basic_ostringstream<char>; typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type = boost::log::v2_mt_posix::basic_formatting_ostream<char>&]’
/usr/include/boost/log/sources/record_ostream.hpp:212:51:   required from ‘typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, T&) [with StreamT = boost::log::v2_mt_posix::basic_record_ostream<char>; T = std::__cxx11::basic_ostringstream<char>; typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type = boost::log::v2_mt_posix::basic_record_ostream<char>&]’
/home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:136:35:   required from here
/usr/include/boost/log/utility/formatting_ostream.hpp:857:1: error: no type named ‘type’ in ‘struct boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<std::basic_ostream<char>, std::basic_ostream<char>&>’
/usr/include/boost/log/utility/formatting_ostream.hpp: In instantiation of ‘typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, T&) [with StreamT = boost::log::v2_mt_posix::basic_formatting_ostream<char>; T = std::__cxx11::basic_ostringstream<char>; typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type = boost::log::v2_mt_posix::basic_formatting_ostream<char>&]’:
/usr/include/boost/log/sources/record_ostream.hpp:212:51:   required from ‘typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, T&) [with StreamT = boost::log::v2_mt_posix::basic_record_ostream<char>; T = std::__cxx11::basic_ostringstream<char>; typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type = boost::log::v2_mt_posix::basic_record_ostream<char>&]’
/home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:136:35:   required from here
/usr/include/boost/log/utility/formatting_ostream.hpp:849:1: note: candidate: template<class StreamT, class T> typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, const T&)
 operator<< (StreamT& strm, T const& value)
 ^~~~~~~~
/usr/include/boost/log/utility/formatting_ostream.hpp:849:1: note:   template argument deduction/substitution failed:
/usr/include/boost/log/utility/formatting_ostream.hpp: In substitution of ‘template<class StreamT, class T> typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, const T&) [with StreamT = std::basic_ostream<char>; T = std::__cxx11::basic_ostringstream<char>]’:
/usr/include/boost/log/utility/formatting_ostream.hpp:859:19:   required from ‘typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, T&) [with StreamT = boost::log::v2_mt_posix::basic_formatting_ostream<char>; T = std::__cxx11::basic_ostringstream<char>; typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type = boost::log::v2_mt_posix::basic_formatting_ostream<char>&]’
/usr/include/boost/log/sources/record_ostream.hpp:212:51:   required from ‘typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, T&) [with StreamT = boost::log::v2_mt_posix::basic_record_ostream<char>; T = std::__cxx11::basic_ostringstream<char>; typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type = boost::log::v2_mt_posix::basic_record_ostream<char>&]’
/home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:136:35:   required from here
/usr/include/boost/log/utility/formatting_ostream.hpp:849:1: error: no type named ‘type’ in ‘struct boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<std::basic_ostream<char>, std::basic_ostream<char>&>’
In file included from /usr/include/boost/log/attributes/attribute_set.hpp:24:0,
                 from /usr/include/boost/log/sources/basic_logger.hpp:34,
                 from /usr/include/boost/log/sources/severity_logger.hpp:23,
                 from /usr/include/boost/log/trivial.hpp:22,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:9,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/boost/log/utility/formatting_ostream.hpp: In instantiation of ‘typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, T&) [with StreamT = boost::log::v2_mt_posix::basic_formatting_ostream<char>; T = std::__cxx11::basic_ostringstream<char>; typename boost::log::v2_mt_posix::aux::enable_if_formatting_ostream<StreamT, StreamT&>::type = boost::log::v2_mt_posix::basic_formatting_ostream<char>&]’:
/usr/include/boost/log/sources/record_ostream.hpp:212:51:   required from ‘typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type boost::log::v2_mt_posix::operator<<(StreamT&, T&) [with StreamT = boost::log::v2_mt_posix::basic_record_ostream<char>; T = std::__cxx11::basic_ostringstream<char>; typename boost::log::v2_mt_posix::aux::enable_if_record_ostream<StreamT, StreamT&>::type = boost::log::v2_mt_posix::basic_record_ostream<char>&]’
/home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:136:35:   required from here
/usr/include/boost/log/attributes/attribute_name.hpp:175:53: note: candidate: template<class CharT, class TraitsT> std::basic_ostream<_CharT, _Traits>& boost::log::v2_mt_posix::operator<<(std::basic_ostream<_CharT, _Traits>&, const boost::log::v2_mt_posix::attribute_name&)
 BOOST_LOG_API std::basic_ostream< CharT, TraitsT >& operator<< (
                                                     ^~~~~~~~
/usr/include/boost/log/attributes/attribute_name.hpp:175:53: note:   template argument deduction/substitution failed:
In file included from /usr/include/boost/log/sources/record_ostream.hpp:31:0,
                 from /usr/include/boost/log/trivial.hpp:23,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:9,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/boost/log/utility/formatting_ostream.hpp:859:19: note:   cannot convert ‘value’ (type ‘std::__cxx11::basic_ostringstream<char>’) to type ‘const boost::log::v2_mt_posix::attribute_name&’
     strm.stream() << value;

In file included from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:11:0,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/c++/6/bitset:1530:5: note: candidate: template<class _CharT, class _Traits, long unsigned int _Nb> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::bitset<_Nb>&)
     operator<<(std::basic_ostream<_CharT, _Traits>& __os,
     ^~~~~~~~
/usr/include/c++/6/bitset:1530:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/boost/log/sources/record_ostream.hpp:31:0,
                 from /usr/include/boost/log/trivial.hpp:23,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:9,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/boost/log/utility/formatting_ostream.hpp:859:19: note:   ‘std::__cxx11::basic_ostringstream<char>’ is not derived from ‘const std::bitset<_Nb>’
     strm.stream() << value;

In file included from /usr/include/gnuradio/gr_complex.h:26:0,
                 from /usr/include/gnuradio/types.h:31,
                 from /usr/include/gnuradio/message.h:27,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:10,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/c++/6/complex:526:5: note: candidate: template<class _Tp, class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::complex<_Tp>&)
     operator<<(basic_ostream<_CharT, _Traits>& __os, const complex<_Tp>& __x)
     ^~~~~~~~
/usr/include/c++/6/complex:526:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/boost/log/sources/record_ostream.hpp:31:0,
                 from /usr/include/boost/log/trivial.hpp:23,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:9,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/boost/log/utility/formatting_ostream.hpp:859:19: note:   ‘std::__cxx11::basic_ostringstream<char>’ is not derived from ‘const std::complex<_Tp>’
     strm.stream() << value;

In file included from /usr/include/c++/6/memory:82:0,
                 from /usr/include/boost/dynamic_bitset_fwd.hpp:15,
                 from /usr/include/boost/dynamic_bitset/dynamic_bitset.hpp:41,
                 from /usr/include/boost/dynamic_bitset.hpp:15,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:8,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/c++/6/bits/shared_ptr.h:66:5: note: candidate: template<class _Ch, class _Tr, class _Tp, __gnu_cxx::_Lock_policy _Lp> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::__shared_ptr<_Tp, _Lp>&)
     operator<<(std::basic_ostream<_Ch, _Tr>& __os,
     ^~~~~~~~
/usr/include/c++/6/bits/shared_ptr.h:66:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/boost/log/sources/record_ostream.hpp:31:0,
                 from /usr/include/boost/log/trivial.hpp:23,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:9,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/boost/log/utility/formatting_ostream.hpp:859:19: note:   ‘std::__cxx11::basic_ostringstream<char>’ is not derived from ‘const std::__shared_ptr<_Tp, _Lp>’
     strm.stream() << value;

In file included from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:5:0,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/c++/6/iomanip:363:5: note: candidate: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, std::_Put_time<_CharT>)
     operator<<(basic_ostream<_CharT, _Traits>& __os, _Put_time<_CharT> __f)
     ^~~~~~~~
/usr/include/c++/6/iomanip:363:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/boost/log/sources/record_ostream.hpp:31:0,
                 from /usr/include/boost/log/trivial.hpp:23,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:9,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/boost/log/utility/formatting_ostream.hpp:859:19: note:   ‘std::__cxx11::basic_ostringstream<char>’ is not derived from ‘std::_Put_time<_CharT>’
     strm.stream() << value;

In file included from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:5:0,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/c++/6/iomanip:311:5: note: candidate: template<class _CharT, class _Traits, class _MoneyT> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, std::_Put_money<_MoneyT>)
     operator<<(basic_ostream<_CharT, _Traits>& __os, _Put_money<_MoneyT> __f)
     ^~~~~~~~
/usr/include/c++/6/iomanip:311:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/boost/log/sources/record_ostream.hpp:31:0,
                 from /usr/include/boost/log/trivial.hpp:23,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:9,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/boost/log/utility/formatting_ostream.hpp:859:19: note:   ‘std::__cxx11::basic_ostringstream<char>’ is not derived from ‘std::_Put_money<_MoneyT>’
     strm.stream() << value;

In file included from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:5:0,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/c++/6/iomanip:238:5: note: candidate: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, std::_Setw)
     operator<<(basic_ostream<_CharT, _Traits>& __os, _Setw __f)
     ^~~~~~~~
/usr/include/c++/6/iomanip:238:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/boost/log/sources/record_ostream.hpp:31:0,
                 from /usr/include/boost/log/trivial.hpp:23,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:9,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/boost/log/utility/formatting_ostream.hpp:859:19: note:   cannot convert ‘value’ (type ‘std::__cxx11::basic_ostringstream<char>’) to type ‘std::_Setw’
     strm.stream() << value;

In file included from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:5:0,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/c++/6/iomanip:208:5: note: candidate: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, std::_Setprecision)
     operator<<(basic_ostream<_CharT, _Traits>& __os, _Setprecision __f)
     ^~~~~~~~
/usr/include/c++/6/iomanip:208:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/boost/log/sources/record_ostream.hpp:31:0,
                 from /usr/include/boost/log/trivial.hpp:23,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:9,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/boost/log/utility/formatting_ostream.hpp:859:19: note:   cannot convert ‘value’ (type ‘std::__cxx11::basic_ostringstream<char>’) to type ‘std::_Setprecision’
     strm.stream() << value;

In file included from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:5:0,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/c++/6/iomanip:178:5: note: candidate: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, std::_Setfill<_CharT>)
     operator<<(basic_ostream<_CharT, _Traits>& __os, _Setfill<_CharT> __f)
     ^~~~~~~~
/usr/include/c++/6/iomanip:178:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/boost/log/sources/record_ostream.hpp:31:0,
                 from /usr/include/boost/log/trivial.hpp:23,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:9,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/boost/log/utility/formatting_ostream.hpp:859:19: note:   ‘std::__cxx11::basic_ostringstream<char>’ is not derived from ‘std::_Setfill<_CharT>’
     strm.stream() << value;

In file included from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:5:0,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/c++/6/iomanip:143:5: note: candidate: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, std::_Setbase)
     operator<<(basic_ostream<_CharT, _Traits>& __os, _Setbase __f)
     ^~~~~~~~
/usr/include/c++/6/iomanip:143:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/boost/log/sources/record_ostream.hpp:31:0,
                 from /usr/include/boost/log/trivial.hpp:23,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:9,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/boost/log/utility/formatting_ostream.hpp:859:19: note:   cannot convert ‘value’ (type ‘std::__cxx11::basic_ostringstream<char>’) to type ‘std::_Setbase’
     strm.stream() << value;

In file included from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:5:0,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/c++/6/iomanip:109:5: note: candidate: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, std::_Setiosflags)
     operator<<(basic_ostream<_CharT, _Traits>& __os, _Setiosflags __f)
     ^~~~~~~~
/usr/include/c++/6/iomanip:109:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/boost/log/sources/record_ostream.hpp:31:0,
                 from /usr/include/boost/log/trivial.hpp:23,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:9,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/boost/log/utility/formatting_ostream.hpp:859:19: note:   cannot convert ‘value’ (type ‘std::__cxx11::basic_ostringstream<char>’) to type ‘std::_Setiosflags’
     strm.stream() << value;

In file included from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:5:0,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/c++/6/iomanip:79:5: note: candidate: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, std::_Resetiosflags)
     operator<<(basic_ostream<_CharT, _Traits>& __os, _Resetiosflags __f)
     ^~~~~~~~
/usr/include/c++/6/iomanip:79:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/boost/log/sources/record_ostream.hpp:31:0,
                 from /usr/include/boost/log/trivial.hpp:23,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:9,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/boost/log/utility/formatting_ostream.hpp:859:19: note:   cannot convert ‘value’ (type ‘std::__cxx11::basic_ostringstream<char>’) to type ‘std::_Resetiosflags’
     strm.stream() << value;

In file included from /usr/include/c++/6/iostream:39:0,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/parser.h:3,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:3,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/c++/6/ostream:628:5: note: candidate: std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&&, const _Tp&) [with _CharT = char; _Traits = std::char_traits<char>; _Tp = std::__cxx11::basic_ostringstream<char>] <near match>
     operator<<(basic_ostream<_CharT, _Traits>&& __os, const _Tp& __x)
     ^~~~~~~~
/usr/include/c++/6/ostream:628:5: note:   conversion of argument 1 would be ill-formed:
In file included from /usr/include/boost/log/sources/record_ostream.hpp:31:0,
                 from /usr/include/boost/log/trivial.hpp:23,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:9,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/boost/log/utility/formatting_ostream.hpp:859:19: error: cannot bind ‘boost::log::v2_mt_posix::basic_formatting_ostream<char>::ostream_type {aka std::basic_ostream<char>}’ lvalue to ‘std::basic_ostream<char>&&’
     strm.stream() << value;

In file included from /usr/include/c++/6/iostream:39:0,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/parser.h:3,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:3,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/c++/6/ostream:574:5: note: candidate: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const unsigned char*)
     operator<<(basic_ostream<char, _Traits>& __out, const unsigned char* __s)
     ^~~~~~~~
/usr/include/c++/6/ostream:574:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/boost/log/sources/record_ostream.hpp:31:0,
                 from /usr/include/boost/log/trivial.hpp:23,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:9,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/boost/log/utility/formatting_ostream.hpp:859:19: note:   cannot convert ‘value’ (type ‘std::__cxx11::basic_ostringstream<char>’) to type ‘const unsigned char*’
     strm.stream() << value;

In file included from /usr/include/c++/6/iostream:39:0,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/parser.h:3,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:3,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/c++/6/ostream:569:5: note: candidate: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const signed char*)
     operator<<(basic_ostream<char, _Traits>& __out, const signed char* __s)
     ^~~~~~~~
/usr/include/c++/6/ostream:569:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/boost/log/sources/record_ostream.hpp:31:0,
                 from /usr/include/boost/log/trivial.hpp:23,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:9,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/boost/log/utility/formatting_ostream.hpp:859:19: note:   cannot convert ‘value’ (type ‘std::__cxx11::basic_ostringstream<char>’) to type ‘const signed char*’
     strm.stream() << value;

In file included from /usr/include/c++/6/iostream:39:0,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/parser.h:3,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:3,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/c++/6/ostream:556:5: note: candidate: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const char*)
     operator<<(basic_ostream<char, _Traits>& __out, const char* __s)
     ^~~~~~~~
/usr/include/c++/6/ostream:556:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/boost/log/sources/record_ostream.hpp:31:0,
                 from /usr/include/boost/log/trivial.hpp:23,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:9,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/boost/log/utility/formatting_ostream.hpp:859:19: note:   cannot convert ‘value’ (type ‘std::__cxx11::basic_ostringstream<char>’) to type ‘const char*’
     strm.stream() << value;

In file included from /usr/include/c++/6/ostream:638:0,
                 from /usr/include/c++/6/iostream:39,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/parser.h:3,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:3,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/c++/6/bits/ostream.tcc:321:5: note: candidate: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const char*)
     operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s)
     ^~~~~~~~
/usr/include/c++/6/bits/ostream.tcc:321:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/boost/log/sources/record_ostream.hpp:31:0,
                 from /usr/include/boost/log/trivial.hpp:23,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:9,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/boost/log/utility/formatting_ostream.hpp:859:19: note:   cannot convert ‘value’ (type ‘std::__cxx11::basic_ostringstream<char>’) to type ‘const char*’
     strm.stream() << value;

In file included from /usr/include/c++/6/iostream:39:0,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/parser.h:3,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:3,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/c++/6/ostream:539:5: note: candidate: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const _CharT*)
     operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s)
     ^~~~~~~~
/usr/include/c++/6/ostream:539:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/boost/log/sources/record_ostream.hpp:31:0,
                 from /usr/include/boost/log/trivial.hpp:23,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:9,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/boost/log/utility/formatting_ostream.hpp:859:19: note:   mismatched types ‘const _CharT*’ and ‘std::__cxx11::basic_ostringstream<char>’
     strm.stream() << value;

In file included from /usr/include/c++/6/iostream:39:0,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/parser.h:3,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:3,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/c++/6/ostream:519:5: note: candidate: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, unsigned char)
     operator<<(basic_ostream<char, _Traits>& __out, unsigned char __c)
     ^~~~~~~~
/usr/include/c++/6/ostream:519:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/boost/log/sources/record_ostream.hpp:31:0,
                 from /usr/include/boost/log/trivial.hpp:23,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:9,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/boost/log/utility/formatting_ostream.hpp:859:19: note:   cannot convert ‘value’ (type ‘std::__cxx11::basic_ostringstream<char>’) to type ‘unsigned char’
     strm.stream() << value;

In file included from /usr/include/c++/6/iostream:39:0,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/parser.h:3,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:3,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/c++/6/ostream:514:5: note: candidate: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, signed char)
     operator<<(basic_ostream<char, _Traits>& __out, signed char __c)
     ^~~~~~~~
/usr/include/c++/6/ostream:514:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/boost/log/sources/record_ostream.hpp:31:0,
                 from /usr/include/boost/log/trivial.hpp:23,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:9,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/boost/log/utility/formatting_ostream.hpp:859:19: note:   cannot convert ‘value’ (type ‘std::__cxx11::basic_ostringstream<char>’) to type ‘signed char’
     strm.stream() << value;

In file included from /usr/include/c++/6/iostream:39:0,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/parser.h:3,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:3,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/c++/6/ostream:508:5: note: candidate: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, char)
     operator<<(basic_ostream<char, _Traits>& __out, char __c)
     ^~~~~~~~
/usr/include/c++/6/ostream:508:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/boost/log/sources/record_ostream.hpp:31:0,
                 from /usr/include/boost/log/trivial.hpp:23,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:9,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/boost/log/utility/formatting_ostream.hpp:859:19: note:   cannot convert ‘value’ (type ‘std::__cxx11::basic_ostringstream<char>’) to type ‘char’
     strm.stream() << value;

In file included from /usr/include/c++/6/iostream:39:0,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/parser.h:3,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:3,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/c++/6/ostream:502:5: note: candidate: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, char)
     operator<<(basic_ostream<_CharT, _Traits>& __out, char __c)
     ^~~~~~~~
/usr/include/c++/6/ostream:502:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/boost/log/sources/record_ostream.hpp:31:0,
                 from /usr/include/boost/log/trivial.hpp:23,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:9,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/boost/log/utility/formatting_ostream.hpp:859:19: note:   cannot convert ‘value’ (type ‘std::__cxx11::basic_ostringstream<char>’) to type ‘char’
     strm.stream() << value;

In file included from /usr/include/c++/6/iostream:39:0,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/parser.h:3,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:3,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/c++/6/ostream:497:5: note: candidate: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, _CharT)
     operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c)
     ^~~~~~~~
/usr/include/c++/6/ostream:497:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/boost/log/sources/record_ostream.hpp:31:0,
                 from /usr/include/boost/log/trivial.hpp:23,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:9,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/boost/log/utility/formatting_ostream.hpp:859:19: note:   deduced conflicting types for parameter ‘_CharT’ (‘char’ and ‘std::__cxx11::basic_ostringstream<char>’)
     strm.stream() << value;

In file included from /usr/include/c++/6/bits/ios_base.h:46:0,
                 from /usr/include/c++/6/ios:42,
                 from /usr/include/c++/6/ostream:38,
                 from /usr/include/c++/6/iostream:39,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/parser.h:3,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:3,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/c++/6/system_error:209:5: note: candidate: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::error_code&)
     operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e)
     ^~~~~~~~
/usr/include/c++/6/system_error:209:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/boost/log/sources/record_ostream.hpp:31:0,
                 from /usr/include/boost/log/trivial.hpp:23,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:9,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/boost/log/utility/formatting_ostream.hpp:859:19: note:   cannot convert ‘value’ (type ‘std::__cxx11::basic_ostringstream<char>’) to type ‘const std::error_code&’
     strm.stream() << value;

In file included from /usr/include/c++/6/string:52:0,
                 from /usr/include/c++/6/bits/locale_classes.h:40,
                 from /usr/include/c++/6/bits/ios_base.h:41,
                 from /usr/include/c++/6/ios:42,
                 from /usr/include/c++/6/ostream:38,
                 from /usr/include/c++/6/iostream:39,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/parser.h:3,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:3,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/c++/6/bits/basic_string.h:5325:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)
     operator<<(basic_ostream<_CharT, _Traits>& __os,
     ^~~~~~~~
/usr/include/c++/6/bits/basic_string.h:5325:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/boost/log/sources/record_ostream.hpp:31:0,
                 from /usr/include/boost/log/trivial.hpp:23,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.h:9,
                 from /home/user/Documents/code/trunk-recorder/trunk-recorder/systems/p25_parser.cc:1:
/usr/include/boost/log/utility/formatting_ostream.hpp:859:19: note:   ‘std::__cxx11::basic_ostringstream<char>’ is not derived from ‘const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’
     strm.stream() << value;

CMakeFiles/recorder.dir/build.make:230: recipe for target 'CMakeFiles/recorder.dir/trunk-recorder/systems/p25_parser.cc.o' failed
make[2]: *** [CMakeFiles/recorder.dir/trunk-recorder/systems/p25_parser.cc.o] Error 1
CMakeFiles/Makefile2:68: recipe for target 'CMakeFiles/recorder.dir/all' failed
make[1]: *** [CMakeFiles/recorder.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
robotastic commented 7 years ago

Doh! That seems to have just made things worse. Would you be up for trying to run it using docker? I am working on an install that uses it.

thefinn93 commented 7 years ago

I also have this issue, on Debian Sid. It looks like Ubuntu 16.04's gcc package is gcc 5, so I installed gcc-5 and g++-5, then per this StackOverflow post temporarily set my gcc and g++ versions to 5 and it gets further along, but then fails to eventually fails with:

CMakeFiles/recorder.dir/trunk-recorder/uploaders/call_uploader.cc.o: In function `boost::cpp_regex_traits<char>::transform_primary(char const*, char const*) const':
/usr/include/boost/regex/v4/cpp_regex_traits.hpp:966: undefined reference to `boost::re_detail_106200::cpp_regex_traits_implementation<char>::transform_primary(char const*, char const*) const'
CMakeFiles/recorder.dir/trunk-recorder/uploaders/call_uploader.cc.o: In function `boost::cpp_regex_traits<char>::transform(char const*, char const*) const':
/usr/include/boost/regex/v4/cpp_regex_traits.hpp:962: undefined reference to `boost::re_detail_106200::cpp_regex_traits_implementation<char>::transform(char const*, char const*) const'
collect2: error: ld returned 1 exit status
make[2]: *** [recorder] Error 1
CMakeFiles/recorder.dir/build.make:740: recipe for target 'recorder' failed
make[1]: *** [CMakeFiles/recorder.dir/all] Error 2
CMakeFiles/Makefile2:68: recipe for target 'CMakeFiles/recorder.dir/all' failed
make: *** [all] Error 2
Makefile:127: recipe for target 'all' failed

full log here. I assume this is an issue with the version of libboost that's installed, unfortunately Debian Sid's gnuradio package depends on libboost1.62, and the Ubuntu 16.04 package is for 1.58.

thefinn93 commented 7 years ago

Update: I was able to make it build by removing the part of the uploader component that uses the regex:

 trunk-recorder/uploaders/call_uploader.cc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/trunk-recorder/uploaders/call_uploader.cc b/trunk-recorder/uploaders/call_uploader.cc
index 1785afd..ad95807 100644
--- a/trunk-recorder/uploaders/call_uploader.cc
+++ b/trunk-recorder/uploaders/call_uploader.cc
@@ -181,10 +181,10 @@ void send_call(Call *call, System *sys, Config config) {
   pthread_t    thread;

-  boost::regex  ex("(http|https)://([^/ :]+):?([^/ ]*)(/?[^ #?]*)\\x3f?([^ #]*)#?([^ ]*)");
+  // boost::regex  ex("(http|https)://([^/ :]+):?([^/ ]*)(/?[^ #?]*)\\x3f?([^ #]*)#?([^ ]*)");
   boost::cmatch what;

-  if (regex_match(config.upload_server.c_str(), what, ex))
+  if (false)
   {
     // from: http://www.zedwood.com/article/cpp-boost-url-regex
     call_info->upload_server = config.upload_server;

and it builds and appears to generally work, although I haven't got my system properly tuned yet...

thefinn93 commented 7 years ago

Why was this closed? Has it been fixed? I'm still seeing this on at least my Kali box, have not tested on on a debian box.

robotastic commented 7 years ago

Sorry - I was cleaning up issues. Meant to label this one instead of closing. I will try to find a better way to do the RegEx

nkwood commented 7 years ago

FWIW, building fails in the same manner on Ubuntu 16.10 which is on gcc/g++ 6.2 and libboost 1.61.0.2. I played around with moving down to gcc/g++ 5 and haven't had any success yet getting down to only the regex error like @thefinn93 did. My errors are coming from the boost logging library. My best guess right now is a breaking change in the logging library between boost 1.58 (on Ubuntu 16.04) and boost 1.61 (on Ubuntu 16.10), but I haven't tracked it down yet. Debian sid is on 1.62 and jessie is on 1.55, so this probably explains the breaking on Kali linux as well.

vabiro commented 7 years ago

Hi, I am having the same issue with gcc version 6.3.1 20170306 on ArchLinux 4.4.39-1-ARCH, I have tried making the changes in trunk-recorder/uploaders/call_uploader.cc that thefinn93 made, and it is still dieing at the same place as the OP with the same error.

Thanks

robotastic commented 7 years ago

This should be fixed with the change @nkwood made. Let me know if you still have issues. Closing for now, but we can reopen if it still doesn't work.