From 9424f9144e07e6536102f35d08f6655e132b7b29 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Sat, 30 Nov 2019 10:15:26 +0100 Subject: [PATCH 1/4] Re-synchronize the package index files from their sources in Ubuntu job --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 49d9c0677..33df45f29 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -8,7 +8,7 @@ jobs: steps: - uses: actions/checkout@v1 - name: install-dependencies - run: sudo apt-get install ninja-build libboost-dev libboost-date-time-dev libboost-system-dev libboost-filesystem-dev libboost-thread-dev libboost-chrono-dev libboost-serialization-dev liblog4cpp5-dev gnuradio-dev gr-osmosdr libpugixml-dev libpcap-dev libblas-dev liblapack-dev libarmadillo-dev libgflags-dev libgoogle-glog-dev libgnutls-openssl-dev python-mako python-six libmatio-dev googletest protobuf-compiler libprotobuf-dev + run: sudo apt-get update && sudo apt-get install ninja-build libboost-dev libboost-date-time-dev libboost-system-dev libboost-filesystem-dev libboost-thread-dev libboost-chrono-dev libboost-serialization-dev liblog4cpp5-dev gnuradio-dev gr-osmosdr libpugixml-dev libpcap-dev libblas-dev liblapack-dev libarmadillo-dev libgflags-dev libgoogle-glog-dev libgnutls-openssl-dev python-mako python-six libmatio-dev googletest protobuf-compiler libprotobuf-dev - name: configure run: cd build && cmake -GNinja .. - name: build From 8eed17f8b3d619fa2dfa4124391025ff189e79a3 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Sat, 30 Nov 2019 12:23:14 +0100 Subject: [PATCH 2/4] Remove references to Python 2.7 since its end of life is scheduled for January 1, 2020 python-six and python-mako packages replaced by python3-six and python3-mako counterparts References to pip replaced by pip3 in Homebrew section --- README.md | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index e66fa8481..eb9e79ed4 100644 --- a/README.md +++ b/README.md @@ -67,14 +67,16 @@ $ sudo apt-get install build-essential cmake git pkg-config libboost-dev libboos libboost-system-dev libboost-filesystem-dev libboost-thread-dev libboost-chrono-dev \ libboost-serialization-dev liblog4cpp5-dev libuhd-dev gnuradio-dev gr-osmosdr \ libblas-dev liblapack-dev libarmadillo-dev libgflags-dev libgoogle-glog-dev \ - libgnutls-openssl-dev libpcap-dev python-mako python-six libmatio-dev libpugixml-dev \ - libgtest-dev libprotobuf-dev protobuf-compiler + libgnutls-openssl-dev libpcap-dev libmatio-dev libpugixml-dev libgtest-dev \ + libprotobuf-dev protobuf-compiler python3-mako python3-six ~~~~~~ Please note that the required files from `libgtest-dev` were moved to `googletest` in Debian 9 "stretch" and Ubuntu 18.04 "bionic", and moved back again to `libgtest-dev` in Debian 10 "buster" and Ubuntu 18.10 "cosmic" (and above). **Note for Ubuntu 14.04 LTS "trusty" users:** you will need to build from source and install GNU Radio manually, as explained below, since GNSS-SDR requires `gnuradio-dev` >= 3.7.3, and Ubuntu 14.04 came with 3.7.2. Install all the packages above BUT EXCEPT `libuhd-dev`, `gnuradio-dev` and `gr-osmosdr` (and remove them if they are already installed in your machine), and install those dependencies using PyBOMBS. The same applies to `libmatio-dev`: Ubuntu 14.04 came with 1.5.2 and the minimum required version is 1.5.3. Please do not install the `libmatio-dev` package and install `libtool`, `automake` and `libhdf5-dev` instead. A recent version of the library will be downloaded and built automatically if CMake does not find it installed. +In Ubuntu versions older than 16.04, `python3-mako` and `python3-six` must be replaced by `python-mako` and `python-six`. + **Note for Debian 8 "jessie" users:** please see the note about `libmatio-dev` above. Install `libtool`, `automake` and `libhdf5-dev` instead. Once you have installed these packages, you can jump directly to [download the source code and build GNSS-SDR](#download-and-build-linux). @@ -632,10 +634,11 @@ $ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/inst The script explains what it will do, and then it pauses before doing it. There are more installation options [here](https://docs.brew.sh/Installation.html). -Install pip: +Install pip3: ~~~~~~ -$ sudo easy_install pip +$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py +$ sudo python3 get-pip.py ~~~~~~ Install the required dependencies: @@ -654,8 +657,8 @@ $ brew install log4cpp $ brew install openssl $ brew install pugixml $ brew install protobuf -$ pip install mako -$ pip install six +$ pip3 install mako +$ pip3 install six ~~~~~~ From 51c8732ff1d548361844c0a8a88e102a5a30422e Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Sat, 30 Nov 2019 14:18:39 +0100 Subject: [PATCH 3/4] Look for python3 in first place even if CMake < 3.12 --- cmake/Modules/SetupPython.cmake | 10 +++++----- .../libs/volk_gnsssdr_module/volk_gnsssdr/README.md | 2 +- .../volk_gnsssdr/cmake/Modules/VolkPython.cmake | 10 +++++----- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/cmake/Modules/SetupPython.cmake b/cmake/Modules/SetupPython.cmake index 581a3244d..63fb724e0 100644 --- a/cmake/Modules/SetupPython.cmake +++ b/cmake/Modules/SetupPython.cmake @@ -71,12 +71,12 @@ if(CMAKE_VERSION VERSION_LESS 3.12) gnsssdr_python_check_module("mako >= ${GNSSSDR_MAKO_MIN_VERSION}" mako "mako.__version__ >= '${GNSSSDR_MAKO_MIN_VERSION}'" MAKO_FOUND) gnsssdr_python_check_module("six - python 2 and 3 compatibility library" six "True" SIX_FOUND) else() - message(STATUS "PYTHON_EXECUTABLE not set - trying by default python2") - message(STATUS "Use -DPYTHON_EXECUTABLE=/path/to/python3 to build for python3.") - find_package(PythonInterp ${GNSSSDR_PYTHON_MIN_VERSION}) + message(STATUS "PYTHON_EXECUTABLE not set - trying by default python3") + message(STATUS "Use -DPYTHON_EXECUTABLE=/path/to/python2.7 to build for python 2.7") + find_package(PythonInterp ${GNSSSDR_PYTHON_MIN3_VERSION}) if(NOT PYTHONINTERP_FOUND) - message(STATUS "python2 not found - trying with python3") - find_package(PythonInterp ${GNSSSDR_PYTHON3_MIN_VERSION} REQUIRED) + message(STATUS "python3 not found - trying with python2.7") + find_package(PythonInterp ${GNSSSDR_PYTHON_MIN_VERSION} REQUIRED) endif() gnsssdr_python_check_module("python >= ${GNSSSDR_PYTHON_MIN_VERSION}" sys "sys.version.split()[0] >= '${GNSSSDR_PYTHON_MIN_VERSION}'" PYTHON_MIN_VER_FOUND) gnsssdr_python_check_module("mako >= ${GNSSSDR_MAKO_MIN_VERSION}" mako "mako.__version__ >= '${GNSSSDR_MAKO_MIN_VERSION}'" MAKO_FOUND) diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/README.md b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/README.md index a88977385..bd6604b9d 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/README.md +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/README.md @@ -45,7 +45,7 @@ First, make sure that the required dependencies are installed in your machine: ~~~~~~ -$ sudo apt-get install cmake python-mako python-six libboost-dev \ +$ sudo apt-get install cmake python3-mako python3-six libboost-dev \ libboost-filesystem-dev libboost-system-dev ~~~~~~ diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/cmake/Modules/VolkPython.cmake b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/cmake/Modules/VolkPython.cmake index 0f9b353e1..6c9b2667d 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/cmake/Modules/VolkPython.cmake +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/cmake/Modules/VolkPython.cmake @@ -69,12 +69,12 @@ if(CMAKE_VERSION VERSION_LESS 3.12) message(STATUS "User set python executable ${PYTHON_EXECUTABLE}") find_package(PythonInterp ${VOLK_PYTHON_MIN_VERSION} REQUIRED) else() - message(STATUS "PYTHON_EXECUTABLE not set - using default python2") - message(STATUS "Use -DPYTHON_EXECUTABLE=/path/to/python3 to build for python3.") - find_package(PythonInterp ${VOLK_PYTHON_MIN_VERSION}) + message(STATUS "PYTHON_EXECUTABLE not set - trying by default python3") + message(STATUS "Use -DPYTHON_EXECUTABLE=/path/to/python to build for python 2.7") + find_package(PythonInterp ${VOLK_PYTHON_MIN3_VERSION}) if(NOT PYTHONINTERP_FOUND) - message(STATUS "python2 not found - using python3") - find_package(PythonInterp ${VOLK_PYTHON3_MIN_VERSION} REQUIRED) + message(STATUS "python3 not found - trying with python2.7") + find_package(PythonInterp ${VOLK_PYTHON_MIN_VERSION} REQUIRED) endif() endif() else() From 21d19ebd93a3dc0f0b88019f9a0e69c3b10b02aa Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Sat, 30 Nov 2019 14:19:25 +0100 Subject: [PATCH 4/4] Fix typo --- .../volk_gnsssdr/docs/using_volk_gnsssdr.dox | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/docs/using_volk_gnsssdr.dox b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/docs/using_volk_gnsssdr.dox index d7081f0e0..9e16712ba 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/docs/using_volk_gnsssdr.dox +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/docs/using_volk_gnsssdr.dox @@ -1,12 +1,12 @@ /*! \page using_volk_gnsssdr Using VOLK_GNSSSDR -Using VOLK_GNSSSDR in your code requires proper linking and including the correct headers. +Using VOLK_GNSSSDR in your code requires proper linking and including the correct headers. VOLK_GNSSSDR currently supports both C and C++ bindings. VOLK_GNSSSDR provides both a pkgconfig and CMake module to help configuration and -linking. The pkfconfig file is installed to +linking. The pkgconfig file is installed to $install_prefix/lib/pkgconfig/volk_gnsssdr.pc. The CMake configuration module is in -$install_prefix/lib/cmake/volk_gnsssdr/VolkConfig.cmake. +$install_prefix/lib/cmake/volk_gnsssdr/VolkGnsssdrConfig.cmake. The header in the VOLK_GNSSSDR include directory (includedir in pkgconfig, VOLK_GNSSSDR_INCLUDE_DIRS in cmake module) contains the header volk_gnsssdr/volk_gnsssdr.h defines all @@ -16,4 +16,3 @@ the same location. In most cases it is sufficient to call the dispatcher for the kernel you are using. */ -