Marcus I see where I went wrong. I am using ettus because I have an Ettus B210 SDR. as for setting up the rest I will upgrade to ubuntu 19.10. For my project I require gr3.8. I am noticing that with several dependencies for 3.7 based applications are no longer available. so upgrading everything to 3.8 is becoming my better choice. I want to see if I can combine a lot of the different applications from cgran into one menu driven front end, but with so many variations in dependency compatibility I am having difficulties.
I will upgrade to 19.10 and proceed from there Martin ________________________________ From: Müller, Marcus (CEL) Sent: Friday, February 14, 2020 2:27 PM To: Martin Spears; discuss-gnuradio@gnu.org Subject: Re: make error with gr3.8 Hi Martin, 1. you're using a guide meant for Ubuntu 19.10, but you are running a Ubuntu 18.04. So, yeah, that probably works, but really, not what you'd normally do. 2. UNLESS you really need the Ettus version of UHD, and can't work with the one supplied with your Ubuntu installation, building anything from source is a bad idea. **Do you REALLY need UHD 3.15 on Ubuntu 18.04**? It'd be usually easier to just upgrade to Ubuntu 19.10. That has UHD 3.15 in its default installation sources, so no need to build UHD from source, and you can install GNU Radio linking to that version of UHD for that without having to compile anything from source. Please do not compile software from source unless you really need to; that's just complications without benefits. We're supplying current GNU Radio packages for Ubuntu [1] that are way easier to install. But, as said, you can only work with a *really* old UHD if you stay on Ubuntu 18.04. Updating your Ubuntu is my recommendation. (Please uninstall all things you've built from source before updating your Ubuntu: cd uhd/build; sudo make uninstall) If you can live with the old version of UHD that Ubuntu 18.04 ships (e.g. if you have no USRP, or a USRP N210, or so), it's better to not install UHD from source (i.e. uninstall what you've built from source), and just follow [1], even on Ubuntu 18.04. Regarding your problem: the fact that building breaks when linking gr- blocks points to insufficient RAM. Back when I started with GNU Radio about 10 years ago, that was a very common sight. Today, it's rare to find a PC that has insufficient RAM and not enough Swap, but you seem to be in the unlucky situation that you're running out of it. This again stresses the unnecessary amount of complications building from source brings. Best regards, Marcus [1] sudo add-apt-repository ppa:gnuradio/gnuradio-releases sudo apt-get update sudo apt-get install gnuradio This automatically installs the version of UHD your Ubuntu brings (old UHD 3.10 on Ubuntu 18.04, new Ubuntu 3.15 on Ubuntu 19.10), and installs GNU Radio. Should take less than 3 Minutes. Below, a bit of commentary: On Fri, 2020-02-14 at 18:50 +0000, Martin Spears wrote: > following this doc ---> > https://docs.google.com/document/d/17gbDc_l32wbNIrXopUWIr1pOpu_Ty8tTeC4t12Ah_XE/edit#heading=h.ocyosag08tha > !!! ----> Ubuntu 19.04 != Ubuntu 18.04 > > GNU Radio 3.8, Ettus UHD and Ubuntu 19.10 <--- > ~/source/gnuradio/build$ cmake -DCMAKE_INSTALL_PREFIX=/usr ../ Dangerous, you're installing into directories usually managed by your Linux distro (i.e. Ubuntu). I do not recommend that. > […] > after make -j4 > > […] > [ 47%] Building CXX object > gr-blocks/lib/CMakeFiles/gnuradio-blocks.dir/ctrlport_probe2_c_impl.cc.o > [ 47%] Building CXX object > gr-blocks/lib/CMakeFiles/gnuradio-blocks.dir/ctrlport_probe2_f_impl.cc.o > [ 47%] Building CXX object > gr-blocks/lib/CMakeFiles/gnuradio-blocks.dir/ctrlport_probe2_s_impl.cc.o > [ 47%] Building CXX object > gr-blocks/lib/CMakeFiles/gnuradio-blocks.dir/ctrlport_probe2_i_impl.cc.o > [ 48%] Building CXX object > gr-blocks/lib/CMakeFiles/gnuradio-blocks.dir/ctrlport_probe2_b_impl.cc.o > [ 48%] Linking CXX shared library libgnuradio-blocks.so This is the most RAM-intense step in the whole GNU Radio build. > [ 48%] Built target gnuradio-blocks ... Hence my suspicion that you run out of RAM. It might be something else. The fact that there's no compiler error printed, however, suggests my suspicion is right. You can usually check using `dmesg`, whether there's a OOM (out-of-memory) kill log entry somewhere. > Makefile:140: recipe for target 'all' failed > make: *** [all] Error 2 :(