discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Python ImportError from downloaded OOT module gr-satlab


From: Jeppe Ledet-Pedersen
Subject: Re: Python ImportError from downloaded OOT module gr-satlab
Date: Tue, 14 Feb 2023 16:23:59 +0100

Hi Guillermo,

[for anyone who wants to play along at home, the OOT tarball is here: https://satlab.com/software/gr-satlab/gr-satlab-v20230207.tar.xz]

The reported error in GRC is:

    ImportError: generic_type: type "correlate_access_code_tag_fixed" referenced unknown base type "gr::block"

The issue appears to be that Ubuntu 22.04 defaults to GCC 10 while the GNU Radio release from the PPA is built with GCC 11. See also the discussion here: https://lists.gnu.org/archive/html/discuss-gnuradio/2022-05/msg00134.html

If I add these lines to your Dockerfile before building gr-satlab, I can load the module:

    ENV CC=/usr/bin/gcc-11
    ENV CXX=/usr/bin/g++-11

And if I install uhd-host and run the images downloader, I can also run the examples:

    RUN apt-get install -y uhd-host
    RUN /usr/lib/uhd/utils/uhd_images_downloader.py

Thanks,
Jeppe

On Tue, Feb 14, 2023 at 1:44 PM Guillermo Lena <guille-lena@hotmail.com> wrote:
Hello,

I am new in here so first of all i apologize for any errors i make using this mailing list. I am open to any critiques.

I am using a Docker to create a container with Ubuntu (22.04) and GNU Radio (3.10). The Dockerfile I am using to build the image and all dependencies installed for the matter is the following:

FROM ubuntu:22.04
LABEL maintainer="Guillermo Lena"

# You use this mode when you need zero interaction while installing or upgrading the system via apt.
ENV DEBIAN_FRONTEND=noninteractive 
ENV LC_ALL=C.UTF-8
ENV LANG=C.UTF-8

RUN apt-get update && apt-get install -y \
      xterm \
      cmake \
      software-properties-common \
      git

RUN apt-get update && apt-get install -y \
      libusb-1.0-0-dev \
      libssl-dev \
      liborc-dev \
      libzmq5 \
      libzmq3-dev  \
      swig \
      python3 \
      python3-pip \
      vim \
      nano \
      gcc-10 g++-10 \
      libboost-all-dev \
      libcppunit-dev \
      liblog4cpp5-dev \
      python3-pygccxml \
      pybind11-dev

RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100 \
      --slave /usr/bin/g++ g++ /usr/bin/g++-10 --slave /usr/bin/gcov gcov /usr/bin/gcov-10


# else it will output an error about Gtk namespace not found
RUN apt-get install -y gir1.2-gtk-3.0

# to have add-apt-repository available
RUN apt-get install -y software-properties-common

# create user gnuario with sudo (and password gnuradio)
RUN apt-get install -y sudo
RUN useradd --create-home --shell /bin/bash -G sudo gnuradio
RUN echo 'gnuradio:gnuradio' | chpasswd

# I create a dir at home which I'll use to persist after the container is closed (need to change it's ownership)
RUN mkdir /home/gnuradio/persistent-folder && chown gnuradio /home/gnuradio/persistent-folder

#RUN apt-get update
RUN add-apt-repository -y ppa:gnuradio/gnuradio-releases
RUN apt-get update && apt-get install -y gnuradio

# installing other packages needed for downloading and installing OOT modules
RUN apt-get install -y gnuradio-dev

# gr-satlaba
COPY ./gr-satlab-v20230207.tar.xz /
RUN tar -xf gr-satlab-v20230207.tar.xz
WORKDIR /gr-satlab-v20230207/
RUN mkdir build
WORKDIR /gr-satlab-v20230207/build/
RUN cmake .. && make && make install && ldconfig
WORKDIR /gr-satlab-v20230207/grc/
RUN mkdir build
WORKDIR /gr-satlab-v20230207/grc/build/
RUN cmake .. && make && make install && ldconfig

WORKDIR /

# of course, nothing useful can be done without vim
RUN apt-get install -y vim 

# Fix dependency issue as noted on 'InstallingGR' wiki page for 3.10
RUN pip install packaging

USER gnuradio

WORKDIR /home/gnuradio

ENV PYTHONPATH "${PYTHONPATH}:/usr/local/lib/python3/dist-packages"

WORKDIR /

CMD bash

In there you will see that i get a OOT module (gr-satlab) from a compressed file which i have previously downloaded as the last version of it.

This works perfectly installing GNU Radio companion correctly with version 3.10.5.1 and also gr-satlab OOT module seems to be correctly installed and built as it shows normaly as new blocks in the right section of GNU Radio Companion to select the desired blocks.

Also a couple of examples to use come with it and when you open one of them I stumble upon an error. There is a Python Import block whose content is "from gnuradio import satlab" which seems to fail returning the following message "Import "from gnuradio import satlab" failed.". This import fail leads to more errors that come from not being able to use that library.

I have been searching in the internet and cant seem to find any useful solution to it.

Please let me know if there is more information I can facilitate to help you help me.

Thanks a lot in advance.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]