Hello everyone, I have been trying to install the gr-iio module to interface with the PlutoSDR device from analog devices for GNU Radio 3.8 using a Docker. I have been following the instructions in the following link https://wiki.analog.com/resources/tools-software/linux-software/gnuradio but i dont seem to get it right. I dont know if i am doing some step wrong that i am unaware of or what it is. Any insight on it would be much appreciated.
The Dockerfile i am using is the following: FROM ubuntu:20.04 # 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 \ liborc-dev \ libzmq5 \ libzmq3-dev \ swig \ python3 \ python3-pip \ vim \ nano\ gcc-10 g++-10 # install Visual Code for embedded python blocks edditing RUN apt update && apt install software-properties-common apt-transport-https wget -y RUN wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | apt-key add - RUN add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" RUN apt install -y code 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 update && apt-get install -y gir1.2-gtk-3.0 # to have add-apt-repository available RUN apt-get update && apt-get install -y software-properties-common RUN apt-get update && add-apt-repository -y ppa:gnuradio/gnuradio-releases-3.8 RUN apt-get update RUN apt-get install -y gnuradio # installing other packages needed for downloading and installing OOT modules RUN apt-get install -y gnuradio-dev cmake git libboost-all-dev libcppunit-dev liblog4cpp5-dev swig liborc-dev libgsl-dev # install gr-satellites RUN pip install --user --upgrade construct requests RUN pip install websocket-client RUN git clone https://github.com/daniestevez/gr-satellites.git WORKDIR /gr-satellites/ RUN git checkout maint-3.8 RUN mkdir build WORKDIR /gr-satellites/build/ RUN cmake -DCMAKE_INSTALL_PREFIX=/usr/local .. && make && make install && ldconfig WORKDIR /gr-satellites/grc/ RUN mkdir build WORKDIR /gr-satellites/grc/build/ RUN cmake -DCMAKE_INSTALL_PREFIX=/usr/local .. && make && make install && ldconfig WORKDIR / RUN ldconfig # install gr-gpredict-doppler RUN git clone https://github.com/ghostop14/gr-gpredict-doppler.git RUN cd gr-gpredict-doppler && \ git checkout maint-3.8 && \ mkdir build && \ cd build && \ cmake ../ && \ make install RUN ldconfig WORKDIR /home/gnuradio RUN git clone https://github.com/esa/gr-opssat.git # dependencies for gr-opssat python app RUN pip3 install PyQt5 pyzmq crccheck numpy RUN ldconfig WORKDIR / # ------ gr-iio RUN apt-get update RUN apt-get install -y libxml2 libxml2-dev bison flex cmake git libaio-dev libboost-all-dev RUN apt-get install -y doxygen RUN apt-get install -y libusb-1.0-0-dev RUN apt-get install -y libavahi-common-dev libavahi-client-dev RUN apt-get -y install libzstd-dev RUN apt-get install -y bison flex cmake git libgmp-dev RUN apt-get install -y swig RUN apt-get install -y liborc-dev RUN apt-get install -y libiio-utils RUN git clone https://github.com/analogdevicesinc/libiio.git WORKDIR libiio RUN mkdir build WORKDIR build RUN cmake .. -DPYTHON_BINDINGS=ON RUN make && make install && ldconfig WORKDIR / RUN git clone https://github.com/analogdevicesinc/libad9361-iio.git WORKDIR libad9361-iio RUN mkdir build WORKDIR build RUN cmake .. -DPYTHON_BINDINGS=ON RUN make && make install && ldconfig WORKDIR / RUN git clone https://github.com/analogdevicesinc/gr-iio.git WORKDIR gr-iio RUN mkdir build WORKDIR build RUN cmake .. RUN make && make install WORKDIR / RUN ldconfig # ------------------- ENV PYTHONPATH /usr/local/lib/python3/dist-packages/ # Create non-root user RUN groupadd -r -g 1000 gnuradio && \ useradd -r -m -s /sbin/nologin -u 1000 -g gnuradio gnuradio # Must be done as root ????? RUN gpasswd -a gnuradio audio USER gnuradio WORKDIR /home/gnuradio CMD bash Then the error that i am getting is the following: => ERROR [57/73] RUN cmake .. -DPYTHON_BINDINGS=ON 1.1s ------ > [57/73] RUN cmake .. -DPYTHON_BINDINGS=ON: 0.598 -- The C compiler identification is GNU 10.5.0 0.608 -- Check for working C compiler: /usr/bin/cc 0.667 -- Check for working C compiler: /usr/bin/cc -- works 0.669 -- Detecting C compiler ABI info 0.731 -- Detecting C compiler ABI info - done 0.743 -- Detecting C compile features 0.743 -- Detecting C compile features - done 0.757 -- Found Git: /usr/bin/git (found version "2.25.1") 0.910 -- Found Doxygen: /usr/bin/doxygen (found version "1.8.17") found components: doxygen missing components: dot 1.096 -- Found Python3: /usr/bin/python3.8 (found suitable version "3.8.10", minimum required is "3.6") found components: Interpreter 1.096 -- Found Python: Building bindings 1.098 CMake Error at bindings/python/CMakeLists.txt:41 (message): 1.098 Can not build python doc without sphinx-build 1.098 1.098 1.099 -- Configuring incomplete, errors occurred! 1.099 See also "/libad9361-iio/build/CMakeFiles/CMakeOutput.log". 1.099 CMake Error: The following variables are used in this project, but they are set to NOTFOUND. 1.099 Please set them or make sure they are set and tested correctly in the CMake files: 1.099 LIBIIO_INCLUDEDIR 1.099 used as include directory in directory /libad9361-iio 1.099 used as include directory in directory /libad9361-iio 1.099 used as include directory in directory /libad9361-iio 1.099 used as include directory in directory /libad9361-iio 1.099 used as include directory in directory /libad9361-iio 1.099 used as include directory in directory /libad9361-iio 1.099 used as include directory in directory /libad9361-iio 1.099 used as include directory in directory /libad9361-iio 1.099 used as include directory in directory /libad9361-iio/test 1.099 used as include directory in directory /libad9361-iio/test 1.099 used as include directory in directory /libad9361-iio/test 1.099 used as include directory in directory /libad9361-iio/test 1.099 used as include directory in directory /libad9361-iio/test 1.099 used as include directory in directory /libad9361-iio/test 1.099 used as include directory in directory /libad9361-iio/test 1.099 used as include directory in directory /libad9361-iio/test 1.099 used as include directory in directory /libad9361-iio/test 1.099 used as include directory in directory /libad9361-iio/test 1.099 used as include directory in directory /libad9361-iio/test 1.099 used as include directory in directory /libad9361-iio/test 1.099 used as include directory in directory /libad9361-iio/bindings 1.099 used as include directory in directory /libad9361-iio/bindings 1.099 used as include directory in directory /libad9361-iio/bindings 1.099 used as include directory in directory /libad9361-iio/bindings 1.099 used as include directory in directory /libad9361-iio/bindings 1.099 used as include directory in directory /libad9361-iio/bindings 1.099 used as include directory in directory /libad9361-iio/bindings 1.099 used as include directory in directory /libad9361-iio/bindings/python 1.099 used as include directory in directory /libad9361-iio/bindings/python 1.099 used as include directory in directory /libad9361-iio/bindings/python 1.099 used as include directory in directory /libad9361-iio/bindings/python 1.099 used as include directory in directory /libad9361-iio/bindings/python 1.099 used as include directory in directory /libad9361-iio/bindings/python 1.099 used as include directory in directory /libad9361-iio/bindings/python 1.099 used as include directory in directory /libad9361-iio/bindings/python 1.099 ------ Dockerfile:119 -------------------- 117 | RUN mkdir build 118 | WORKDIR build 119 | >>> RUN cmake .. -DPYTHON_BINDINGS=ON 120 | RUN make && make install && ldconfig 121 | WORKDIR / -------------------- ERROR: failed to solve: process "/bin/sh -c cmake .. -DPYTHON_BINDINGS=ON" did not complete successfully: exit code: 1