# # date: October 12, 2019 # # debian testing distribution on Virtualbox, install the virtualbox guest # package this will improve vm performance and integration with the host # system. # user@vm:~$ sudo apt-get install virtualbox-guest-x11 # # #------------------------------------------------------------------------------ # # Building gr-satellites v2.0.0 # # Requirements: # user@vm:~$ sudo apt-get install gnuradio-dev gnuradio git build-essential \ cmake libgmp-dev liborc-dev swig # # Get the repositories from Daniel (EA4GPZ) # # https://github.com/daniestevez/libfec # https://github.com/daniestevez/gr-satellites #------------------------------------------------------------------------------ user@vm:~$ user@vm:~$ git clone https://github.com/daniestevez/libfec.git user@vm:~$ cd libfec user@vm:~/libfec$ ./configure user@vm:~/libfec$ make user@vm:~/libfec$ sudo make install user@vm:~/libfec$ sudo ldconfig user@vm:~/libfec$ cd user@vm:~$ user@vm:~$ git clone https://github.com/daniestevez/gr-satellites.git user@vm:~$ cd gr-satellites user@vm:~/gr-satellites$ git checkout maint-3.8 user@vm:~/gr-satellites$ git pull user@vm:~/gr-satellites$ mkdir build user@vm:~/gr-satellites/build$ cd build user@vm:~/gr-satellites/build$ cmake ../ -- The CXX compiler identification is GNU 9.2.1 -- The C compiler identification is GNU 9.2.1 -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Build type not specified: defaulting to release. -- Found LOG4CPP: /usr/lib/x86_64-linux-gnu/liblog4cpp.so -- Found PkgConfig: /usr/bin/pkg-config (found version "0.29") -- Checking for module 'gmp' -- No package 'gmp' found -- Found GMP: /usr/lib/x86_64-linux-gnu/libgmpxx.so -- Checking for module 'mpir >= 3.0' -- No package 'mpir' found -- Could NOT find MPIR (missing: MPIRXX_LIBRARY MPIR_LIBRARY MPIR_INCLUDE_DIR) -- Found MPLIB: /usr/lib/x86_64-linux-gnu/libgmpxx.so -- Looking for pthread.h -- Looking for pthread.h - found -- Looking for pthread_create -- Looking for pthread_create - not found -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE -- Boost version: 1.67.0 -- Found the following Boost libraries: -- date_time -- program_options -- filesystem -- system -- regex -- thread -- unit_test_framework -- chrono -- atomic -- Found VOLK: Volk::volk -- User set python executable /usr/bin/python3 -- Found PythonInterp: /usr/bin/python3 (found version "3.7.5") -- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.7m.so (found suitable exact version "3.7.5rc1") -- Found Git: /usr/bin/git -- Extracting version information from git describe... -- Found FEC: /usr/local/lib/libfec.so -- Found Doxygen: /usr/bin/doxygen (found version "1.8.13") found components: doxygen missing components: dot -- Using install prefix: /usr/local -- Building for version: v2.0.0-1-gba99dadc / 2.0.0git -- No C++ unit tests... skipping -- -- Checking for module SWIG -- Found SWIG version 3.0.12. -- Found SWIG: /usr/bin/swig3.0 -- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.7m.so (found version "3.7.5rc1") -- Configuring done -- Generating done -- Build files have been written to: ~/gr-satellites/build user@vm:~/gr-satellites/build$ make Scanning dependencies of target gnuradio-satellites [ 2%] Building CXX object lib/CMakeFiles/gnuradio-satellites.dir/decode_rs_impl.cc.o [ 5%] Building CXX object lib/CMakeFiles/gnuradio-satellites.dir/encode_rs_impl.cc.o [ 8%] Building CXX object lib/CMakeFiles/gnuradio-satellites.dir/ao40_syncframe_impl.cc.o [ 11%] Building CXX object lib/CMakeFiles/gnuradio-satellites.dir/ao40_deinterleaver_impl.cc.o [ 13%] Building CXX object lib/CMakeFiles/gnuradio-satellites.dir/ao40_rs_decoder_impl.cc.o [ 16%] Building CXX object lib/CMakeFiles/gnuradio-satellites.dir/ax100_decode_impl.cc.o [ 19%] Building CXX object lib/CMakeFiles/gnuradio-satellites.dir/u482c_decode_impl.cc.o [ 22%] Building C object lib/CMakeFiles/gnuradio-satellites.dir/randomizer.c.o [ 25%] Building C object lib/CMakeFiles/gnuradio-satellites.dir/golay24.c.o [ 27%] Building CXX object lib/CMakeFiles/gnuradio-satellites.dir/lilacsat1_demux_impl.cc.o [ 30%] Building CXX object lib/CMakeFiles/gnuradio-satellites.dir/varlen_packet_tagger_impl.cc.o [ 33%] Building CXX object lib/CMakeFiles/gnuradio-satellites.dir/varlen_packet_framer_impl.cc.o [ 36%] Building C object lib/CMakeFiles/gnuradio-satellites.dir/viterbi.c.o [ 38%] Building CXX object lib/CMakeFiles/gnuradio-satellites.dir/nusat_decoder_impl.cc.o [ 41%] Building C object lib/CMakeFiles/gnuradio-satellites.dir/rscode/berlekamp.c.o [ 44%] Building C object lib/CMakeFiles/gnuradio-satellites.dir/rscode/galois.c.o [ 47%] Building C object lib/CMakeFiles/gnuradio-satellites.dir/rscode/rs.c.o [ 50%] Building CXX object lib/CMakeFiles/gnuradio-satellites.dir/rscode_decoder_impl.cc.o [ 52%] Building CXX object lib/CMakeFiles/gnuradio-satellites.dir/ao40_syncframe_soft_impl.cc.o [ 55%] Building CXX object lib/CMakeFiles/gnuradio-satellites.dir/ao40_deinterleaver_soft_impl.cc.o [ 58%] Building CXX object lib/CMakeFiles/gnuradio-satellites.dir/descrambler308_impl.cc.o [ 61%] Building CXX object lib/CMakeFiles/gnuradio-satellites.dir/decode_rs_general_impl.cc.o [ 63%] Building CXX object lib/CMakeFiles/gnuradio-satellites.dir/decode_rs_interleaved_impl.cc.o make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/liborc-0.4.so', needed by 'lib/libgnuradio-satellites.so.v2.0.0-1-gba99dadc'. Stop. make[1]: *** [CMakeFiles/Makefile2:141: lib/CMakeFiles/gnuradio-satellites.dir/all] Error 2 make: *** [Makefile:141: all] Error 2 # # With the help of Daniel on twitter he suggested to install liborc-dev # user@vm:~/gr-satellites/build$ sudo apt-get install liborc-dev user@vm:~/gr-satellites/build$ cmake ../ user@vm:~/gr-satellites/build$ make user@vm:~/gr-satellites/build$ sudo make install user@vm:~/gr-satellites/build$ cd .. user@vm:~/gr-satellites$ ./compile_hierarchical.sh user@vm:~/gr-satellites$ # #------------------------------------------------------------------------------ # # So now the gr-satellites compile was succesfull # but the modules aren't working. # # When running a flow graph I get the following error: # Warning: failed to XInitThreads() Traceback (most recent call last): File "$HOME/source/git/daniestevez/gr-satellites/apps/ sat_1kuns_pf.py", line 39, in from sync_to_pdu_packed import sync_to_pdu_packed # grc-generated hier_block File "$HOME/.grc_gnuradio/sync_to_pdu_packed.py", line 18, in import satellites ModuleNotFoundError: No module named 'satellites' #------------------------------------------------------------------------------ # # scott came with an option: python --version and it seem I was still using # python2 as a default # user@vm:~$ sudo update-alternatives --install \ /usr/bin/python python /usr/bin/python3 1 # # I did a new compile and tested the flow graph, the same problem. # # Removed all the data in .grc_gnuradio and ran compile_hierarchical.sh again. # same problem. # # Daniel came with the option to check if swig was installed # user@vm:~$ dpkg -l | grep swig ii swig 3.0.12-2.1 amd64 Generate scripting interfaces to C/C++ code ii swig3.0 3.0.12-2.1 amd64 Generate scripting interfaces to C/C++ code # # And as you can see, yes it is. # #------------------------------------------------------------------------------ # # Next option: make sure ldconfig has run so executed sudo ldconfig and tried # again. There was no difference. # # Then tried the following: # user@vm:~$ python Python 3.7.5rc1 (default, Oct 8 2019, 16:47:45) [GCC 9.2.1 20190909] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import satellites Traceback (most recent call last): File "", line 1, in ModuleNotFoundError: No module named 'satellites' >>> quit Use quit() or Ctrl-D (i.e. EOF) to exit >>> user@vm:~$ cd /usr/local/lib/ user@vm:/usr/local/lib$ find . -name \*satellite\* -print ./x86_64-linux-gnu/libgnuradio-satellites.so ./x86_64-linux-gnu/libgnuradio-satellites.so.v2.0.0-1-gba99dadc ./x86_64-linux-gnu/libgnuradio-satellites.so.2.0.0git ./cmake/satellites ./cmake/satellites/gnuradio-satellitesConfig.cmake ./cmake/satellites/gnuradio-satellitesTargets-release.cmake ./cmake/satellites/gnuradio-satellitesTargets.cmake ./cmake/satellites/satellitesConfig.cmake ./python3/dist-packages/satellites ./python3/dist-packages/satellites/satellites_swig.py ./python3/dist-packages/satellites/_satellites_swig.so ./python3/dist-packages/satellites/satellites_swig.pyo ./python3/dist-packages/satellites/satellites_swig.pyc # #------------------------------------------------------------------------------ # user@vm:/usr/local/lib$ user@vm:/usr/local/lib$ env | grep PYTHONPATH user@vm:/usr/local/lib$ # # No match so PYTHONPATH isn't set # # So I added the following: # user@vm:~$ export PYTHONPATH=/usr/local/lib/python3/dist-packages user@vm:~$