gnuradio / pybombs

PyBOMBS (Python Build Overlay Managed Bundle System) is the GNU Radio install management system for resolving dependencies and pulling in out-of-tree projects.
https://gnuradio.org
GNU General Public License v3.0
416 stars 190 forks source link

Install Error at [ 86%] Building CXX object gr-uhd/lib/CMakeFiles/gnuradio-uhd.dir/usrp_block_impl.cc.o #496

Closed jfornech closed 6 years ago

jfornech commented 6 years ago

Hello, I followed this install method and i got this error. pybombs prefix init /home/jf/prefix pybombs -yv install gnuradio

[ 86%] Building CXX object gr-uhd/lib/CMakeFiles/gnuradio-uhd.dir/usrp_block_impl.cc.o In file included from /home/jf/prefix/include/uhd/types/dict.hpp:148:0, from /home/jf/prefix/include/uhd/types/device_addr.hpp:12, from /home/jf/prefix/include/uhd/stream.hpp:13, from /home/jf/prefix/include/uhd/device.hpp:12, from /home/jf/prefix/include/uhd/usrp/multi_usrp.hpp:27, from /home/jf/prefix/src/gnuradio/gr-uhd/include/gnuradio/uhd/usrp_block.h:28, from /home/jf/prefix/src/gnuradio/gr-uhd/lib/usrp_block_impl.h:26, from /home/jf/prefix/src/gnuradio/gr-uhd/lib/usrp_block_impl.cc:23: /home/jf/prefix/include/uhd/types/dict.ipp: In member function ‘bool uhd::dict<Key, Val>::operator==(const uhd::dict<Key, Val>&) const’: /home/jf/prefix/include/uhd/types/dict.ipp:120:13: warning: ‘auto’ changes meaning in C++11; please remove it [-Wc++0x-compat] for(auto &p : _map){ ^ /home/jf/prefix/include/uhd/types/dict.ipp:120:19: error: ISO C++ forbids declaration of ‘p’ with no type [-fpermissive] for(auto &p : _map){ ^ /home/jf/prefix/include/uhd/types/dict.ipp:120:23: warning: range-based ‘for’ loops only available with -std=c++11 or -std=gnu++11 for(auto &p : _map){ ^ /home/jf/prefix/include/uhd/types/dict.ipp:121:38: error: request for member ‘first’ in ‘p’, which is of non-class type ‘int’ if (not (other.has_key(p.first) and other.get(p.first) == p.second)){ ^ /home/jf/prefix/include/uhd/types/dict.ipp:121:61: error: request for member ‘first’ in ‘p’, which is of non-class type ‘int’ if (not (other.has_key(p.first) and other.get(p.first) == p.second)){ ^ /home/jf/prefix/include/uhd/types/dict.ipp:121:73: error: request for member ‘second’ in ‘p’, which is of non-class type ‘int’ if (not (other.has_key(p.first) and other.get(p.first) == p.second)){ ^ gr-uhd/lib/CMakeFiles/gnuradio-uhd.dir/build.make:62 : la recette pour la cible « gr-uhd/lib/CMakeFiles/gnuradio-uhd.dir/usrp_block_impl.cc.o » a échouée make[2]: [gr-uhd/lib/CMakeFiles/gnuradio-uhd.dir/usrp_block_impl.cc.o] Erreur 1 CMakeFiles/Makefile2:13167 : la recette pour la cible « gr-uhd/lib/CMakeFiles/gnuradio-uhd.dir/all » a échouée make[1]: [gr-uhd/lib/CMakeFiles/gnuradio-uhd.dir/all] Erreur 2 Makefile:160 : la recette pour la cible « all » a échouée make: *** [all] Erreur 2 PyBOMBS.Packager.source - ERROR - Build failed. See output above for error messages. PyBOMBS.Packager.source - ERROR - Problem occurred while building package gnuradio: Build failed. PyBOMBS.install_manager - ERROR - Error installing package gnuradio. Aborting.

Thanhs,

garengllc commented 6 years ago

Same here. Not sure the way around it. I am running Centos 7 if that helps any.

jamesrwills commented 6 years ago

Ditto. Also looking for a CentOS 7 solution.

jamesrwills commented 6 years ago

I was able to get gnuradio to build by removing the gr-uhd module from the build. I am not using an Ettus SDR, so I don't need that module. To do this, comment out line 546 of the CMakeLists.txt file in ~/prefix/default/src/gnuradio. Then, cd build; cmake ../; make and you should get a clean build.

mbr0wn commented 6 years ago

This was caused by an old incorrect use of C++11 in UHD, but that's fixed now.