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

:(

Reply via email to