Project

General

Profile

Bug #3734

Cannot compile gr-osmocom

Added by bwah 12 months ago.

Status:
New
Priority:
High
Assignee:
-
Target version:
-
Start date:
12/16/2018
Due date:
% Done:

0%


Description

Linux comp 4.14.0-41-generic #42~16.04.1-Ubuntu SMP Mon Nov 19 13:02:27 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

As of commit 4d83c6067f059b0c5015c3f59f8117bbd361e877:

user@comp:~/code/gr-osmosdr/build$ make
Scanning dependencies of target gnuradio-osmosdr
[  2%] Building CXX object lib/CMakeFiles/gnuradio-osmosdr.dir/source_impl.cc.o
In file included from /usr/local/include/gnuradio/rpcregisterhelpers.h:30:0,
                 from /usr/local/include/gnuradio/basic_block.h:42,
                 from /usr/local/include/gnuradio/block.h:28,
                 from /usr/local/include/gnuradio/sync_block.h:27,
                 from /usr/local/include/gnuradio/blocks/null_source.h:27,
                 from /home/user/code/gr-osmosdr/lib/source_impl.cc:31:
/usr/local/include/gnuradio/rpcmanager.h:57:15: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
   static std::unique_ptr<rpcserver_booter_base> boot;
               ^
/usr/local/include/gnuradio/rpcmanager.h:58:15: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
   static std::unique_ptr<rpcserver_booter_aggregator> aggregator;
               ^
In file included from /usr/local/include/gnuradio/block.h:28:0,
                 from /usr/local/include/gnuradio/sync_block.h:27,
                 from /usr/local/include/gnuradio/blocks/null_source.h:27,
                 from /home/user/code/gr-osmosdr/lib/source_impl.cc:31:
/usr/local/include/gnuradio/basic_block.h: In member function ‘std::__cxx11::string gr::basic_block::identifier() const’:
/usr/local/include/gnuradio/basic_block.h:156:66: error: ‘to_string’ is not a member of ‘std’
     std::string identifier() const { return this->name() + "(" + std::to_string
                                                                  ^
lib/CMakeFiles/gnuradio-osmosdr.dir/build.make:62: recipe for target 'lib/CMakeFiles/gnuradio-osmosdr.dir/source_impl.cc.o' failed
make[2]: *** [lib/CMakeFiles/gnuradio-osmosdr.dir/source_impl.cc.o] Error 1
CMakeFiles/Makefile2:135: recipe for target 'lib/CMakeFiles/gnuradio-osmosdr.dir/all' failed
make[1]: *** [lib/CMakeFiles/gnuradio-osmosdr.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2

paul@macbook:~/Documents/gnuradio$ 
paul@macbook:~/Documents/gnuradio$ 
paul@macbook:~/Documents/gnuradio$ cat osmocom_err.txt 
user@macbook:~/code/gr-osmosdr/build$ make
Scanning dependencies of target gnuradio-osmosdr
[  2%] Building CXX object lib/CMakeFiles/gnuradio-osmosdr.dir/source_impl.cc.o
In file included from /usr/local/include/gnuradio/rpcregisterhelpers.h:30:0,
                 from /usr/local/include/gnuradio/basic_block.h:42,
                 from /usr/local/include/gnuradio/block.h:28,
                 from /usr/local/include/gnuradio/sync_block.h:27,
                 from /usr/local/include/gnuradio/blocks/null_source.h:27,
                 from /home/user/code/gr-osmosdr/lib/source_impl.cc:31:
/usr/local/include/gnuradio/rpcmanager.h:57:15: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
   static std::unique_ptr<rpcserver_booter_base> boot;
               ^
/usr/local/include/gnuradio/rpcmanager.h:58:15: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
   static std::unique_ptr<rpcserver_booter_aggregator> aggregator;
               ^
In file included from /usr/local/include/gnuradio/block.h:28:0,
                 from /usr/local/include/gnuradio/sync_block.h:27,
                 from /usr/local/include/gnuradio/blocks/null_source.h:27,
                 from /home/user/code/gr-osmosdr/lib/source_impl.cc:31:
/usr/local/include/gnuradio/basic_block.h: In member function ‘std::__cxx11::string gr::basic_block::identifier() const’:
/usr/local/include/gnuradio/basic_block.h:156:66: error: ‘to_string’ is not a member of ‘std’
     std::string identifier() const { return this->name() + "(" + std::to_string
                                                                  ^
lib/CMakeFiles/gnuradio-osmosdr.dir/build.make:62: recipe for target 'lib/CMakeFiles/gnuradio-osmosdr.dir/source_impl.cc.o' failed
make[2]: *** [lib/CMakeFiles/gnuradio-osmosdr.dir/source_impl.cc.o] Error 1
CMakeFiles/Makefile2:135: recipe for target 'lib/CMakeFiles/gnuradio-osmosdr.dir/all' failed
make[1]: *** [lib/CMakeFiles/gnuradio-osmosdr.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2

The compiler doesn't believe "to_string" is a member of stdlib. The CMakeLists.txt appears to be missing a specification for std=c++11, as per this error: https://stackoverflow.com/questions/19122574/to-string-isnt-a-member-of-std/19122592

I am not sure how to fix this.

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)