Hello,
I've been following Application Note AN-445
https://kb.ettus.com/Building_and_Installing_the_USRP_Open-Source_Toolchain_(UHD_and_GNU_Radio)_on_Linux
Couldn't build it. Please advise.
These are the requirements that were reported missing on the apt-get line:
E: Unable to locate package libcppunit-1.14-0
E: Package 'python-scipy' has no installation candidate
E: Unable to locate package qt4-bin-dbg
E: Package 'qt4-default' has no installation candidate
E: Package 'qt4-doc' has no installation candidate
E: Package 'libqt4-dev' has no installation candidate
E: Unable to locate package libqt4-dev-bin
E: Unable to locate package python-qt4
E: Unable to locate package python-qt4-dbg
E: Unable to locate package python-qt4-dev
E: Unable to locate package python-qt4-doc
E: Unable to locate package libqwt6abi1
E: Unable to locate package libncurses6-dbg
E: Package 'libqt4-dev' has no installation candidate
E: Package 'qt4-default' has no installation candidate
E: Unable to locate package qt4-dev-tools
E: Unable to locate package pyqt4-dev-tools
E: Unable to locate package python-qwt5-qt4
E: Unable to locate package python-gtk2
E: Unable to locate package python-requests
E: Package 'python-sphinx' has no installation candidate
E: Unable to locate package python-zmq
E: Package 'libqwt-dev' has no installation candidate
E: Unable to locate package libqwt6abi1
E: Unable to locate package libgps23
E: Package 'python-gps' has no installation candidate
following attempt to make & build gives countless warning and tthe
following error:
baroch@reliable:~/uhd/host/build$ cmake -DENABLE_GPSD=ON ../
--
-- Configuring the python interpreter...
-- Python interpreter: /usr/bin/python2
-- Override with: -DPYTHON_EXECUTABLE=<path-to-python>
-- Python runtime interpreter: /usr/bin/python2
-- Override with: -DRUNTIME_PYTHON_EXECUTABLE=<path-to-python>
-- Working off of feature or development branch. Updating version
number.
-- Using UHD Images Directory: /usr/local/share/uhd/images
-- Build type not specified: defaulting to release.
--
-- Configuring Boost C++ Libraries...
-- Looking for optional Boost components...
-- Found Boost:
/usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake
(found suitable version "1.71.0", minimum required is "1.53") found
components: python
-- Looking for required Boost components...
-- Found Boost:
/usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake
(found suitable version "1.71.0", minimum required is "1.53") found
components: chrono date_time filesystem program_options regex system
unit_test_framework serialization thread
-- Boost include directories: /usr/include
-- Boost library directories: /usr/lib/x86_64-linux-gnu
-- Boost libraries:
Boost::chrono;Boost::date_time;Boost::filesystem;Boost::program_options;Boost::regex;Boost::system;Boost::unit_test_framework;Boost::serialization;Boost::thread
CMake Warning (dev) at cmake/Modules/UHDLog.cmake:68 (set):
implicitly converting 'FILE' to 'STRING' type.
Call Stack (most recent call first):
CMakeLists.txt:365 (include)
This warning is for project developers. Use -Wno-dev to suppress it.
--
-- Python checking for Python version 2.7 or greater
-- Python checking for Python version 2.7 or greater - found
--
-- Python checking for Mako templates 0.4.2 or greater
-- Python checking for Mako templates 0.4.2 or greater - found
--
-- Python checking for requests 2.0 or greater
-- Python checking for requests 2.0 or greater - "import requests"
failed
--
-- Python checking for numpy 1.7 or greater
-- Python checking for numpy 1.7 or greater - found
--
-- Configuring LibUHD support...
-- Dependency Boost_FOUND = TRUE
-- Dependency HAVE_PYTHON_PLAT_MIN_VERSION = TRUE
-- Dependency HAVE_PYTHON_MODULE_MAKO = TRUE
-- Enabling LibUHD support.
-- Override with -DENABLE_LIBUHD=ON/OFF
--
-- Configuring LibUHD - C API support...
-- Dependency ENABLE_LIBUHD = ON
-- Enabling LibUHD - C API support.
-- Override with -DENABLE_C_API=ON/OFF
--
-- Configuring LibUHD - Python API support...
-- Dependency ENABLE_LIBUHD = ON
-- Dependency BOOST_PYTHON_FOUND = 1
-- Dependency HAVE_PYTHON_MODULE_NUMPY = TRUE
-- Dependency PythonLibs_FOUND = TRUE
-- Enabling LibUHD - Python API support.
-- Override with -DENABLE_PYTHON_API=ON/OFF
--
-- Configuring Examples support...
-- Dependency ENABLE_LIBUHD = ON
-- Enabling Examples support.
-- Override with -DENABLE_EXAMPLES=ON/OFF
--
-- Configuring Utils support...
-- Dependency ENABLE_LIBUHD = ON
-- Enabling Utils support.
-- Override with -DENABLE_UTILS=ON/OFF
--
-- Configuring Tests support...
-- Dependency ENABLE_LIBUHD = ON
-- Enabling Tests support.
-- Override with -DENABLE_TESTS=ON/OFF
--
-- Could NOT find LIBERIO (missing: LIBERIO_LIBRARY
LIBERIO_INCLUDE_DIR)
-- Could NOT find dpdk (missing: DPDK_INCLUDE_DIR)
--
-- Configuring LIBERIO support...
-- Dependency ENABLE_LIBUHD = ON
-- Dependency LIBERIO_FOUND = FALSE
-- Disabling LIBERIO support.
-- Override with -DENABLE_LIBERIO=ON/OFF
--
-- Configuring USB support...
-- Dependency ENABLE_LIBUHD = ON
-- Dependency LIBUSB_FOUND = TRUE
-- Enabling USB support.
-- Override with -DENABLE_USB=ON/OFF
--
-- Configuring GPSD support...
-- Dependency ENABLE_LIBUHD = ON
-- Dependency ENABLE_GPSD = ON
-- Dependency LIBGPS_FOUND = TRUE
-- Enabling GPSD support.
-- Override with -DENABLE_GPSD=ON/OFF
--
-- Configuring B100 support...
-- Dependency ENABLE_LIBUHD = ON
-- Dependency ENABLE_USB = ON
-- Enabling B100 support.
-- Override with -DENABLE_B100=ON/OFF
--
-- Configuring B200 support...
-- Dependency ENABLE_LIBUHD = ON
-- Dependency ENABLE_USB = ON
-- Enabling B200 support.
-- Override with -DENABLE_B200=ON/OFF
--
-- Configuring E300 support...
-- Dependency ENABLE_LIBUHD = ON
-- Disabling E300 support.
-- Override with -DENABLE_E300=ON/OFF
--
-- Configuring USRP1 support...
-- Dependency ENABLE_LIBUHD = ON
-- Dependency ENABLE_USB = ON
-- Enabling USRP1 support.
-- Override with -DENABLE_USRP1=ON/OFF
--
-- Configuring USRP2 support...
-- Dependency ENABLE_LIBUHD = ON
-- Enabling USRP2 support.
-- Override with -DENABLE_USRP2=ON/OFF
--
-- Configuring X300 support...
-- Dependency ENABLE_LIBUHD = ON
-- Enabling X300 support.
-- Override with -DENABLE_X300=ON/OFF
--
-- Configuring N230 support...
-- Dependency ENABLE_LIBUHD = ON
-- Enabling N230 support.
-- Override with -DENABLE_N230=ON/OFF
--
-- Configuring MPMD support...
-- Dependency ENABLE_LIBUHD = ON
-- Enabling MPMD support.
-- Override with -DENABLE_MPMD=ON/OFF
--
-- Configuring N300 support...
-- Dependency ENABLE_LIBUHD = ON
-- Dependency ENABLE_MPMD = ON
-- Enabling N300 support.
-- Override with -DENABLE_N300=ON/OFF
--
-- Configuring N320 support...
-- Dependency ENABLE_LIBUHD = ON
-- Dependency ENABLE_MPMD = ON
-- Enabling N320 support.
-- Override with -DENABLE_N320=ON/OFF
--
-- Configuring E320 support...
-- Dependency ENABLE_LIBUHD = ON
-- Dependency ENABLE_MPMD = ON
-- Enabling E320 support.
-- Override with -DENABLE_E320=ON/OFF
--
-- Configuring OctoClock support...
-- Dependency ENABLE_LIBUHD = ON
-- Enabling OctoClock support.
-- Override with -DENABLE_OCTOCLOCK=ON/OFF
--
-- Configuring DPDK support...
-- Dependency ENABLE_MPMD = ON
-- Dependency DPDK_FOUND = FALSE
-- Disabling DPDK support.
-- Override with -DENABLE_DPDK=ON/OFF
--
--
--
-- Configuring priority scheduling...
-- Priority scheduling supported through pthread_setschedparam.
-- Setting thread names is supported through pthread_setname_np.
--
-- Configuring high resolution timing...
-- High resolution timing supported through clock_gettime.
--
-- Configuring module loading...
-- Module loading supported through dlopen.
--
-- Processing NI-RIO FPGA LVBITX Bitstreams...
-- Using x300.lvbitx_base for codegen
-- Using x310.lvbitx_base for codegen
--
-- USB support enabled via libusb.
--
-- Configuring interface address discovery...
-- Interface address discovery supported through getifaddrs.
--
-- Loading build info.
--
-- Adding B2XX device test target
-- Adding X3x0 device test target
-- Adding N3XX device test target
-- Adding E32x device test target
--
CMake Warning at utils/CMakeLists.txt:123 (message):
Python module `requests' not found -- uhd_images_downloader.py
will not
work without it.
CMake Warning at utils/CMakeLists.txt:124 (message):
You may be able to install this by running 'pip install requests'
--
-- Configuring Manual support...
-- Dependency DOXYGEN_FOUND = YES
-- Enabling Manual support.
-- Override with -DENABLE_MANUAL=ON/OFF
--
-- Configuring API/Doxygen support...
-- Dependency DOXYGEN_FOUND = YES
-- Enabling API/Doxygen support.
-- Override with -DENABLE_DOXYGEN=ON/OFF
--
-- Configuring Man Pages support...
-- Dependency GZIP_FOUND = TRUE
-- Dependency NOT_WIN32 = TRUE
-- Enabling Man Pages support.
-- Override with -DENABLE_MAN_PAGES=ON/OFF
--
-- Python checking for virtualenv
-- Python checking for virtualenv - "assert hasattr(sys,
'real_prefix')" failed
-- Utilizing the python install directory:
/usr/local/lib/python2.7/dist-packages
--
-- ######################################################
-- # UHD enabled components
-- ######################################################
-- * LibUHD
-- * LibUHD - C API
-- * LibUHD - Python API
-- * Examples
-- * Utils
-- * Tests
-- * USB
-- * GPSD
-- * B100
-- * B200
-- * USRP1
-- * USRP2
-- * X300
-- * N230
-- * MPMD
-- * N300
-- * N320
-- * E320
-- * OctoClock
-- * Manual
-- * API/Doxygen
-- * Man Pages
--
-- ######################################################
-- # UHD disabled components
-- ######################################################
-- * LIBERIO
-- * E300
-- * DPDK
--
-- ******************************************************
-- * You are building a development branch of UHD.
-- * These branches are designed to provide early access
-- * to UHD and USRP features, but should be considered
-- * unstable and/or experimental!
-- ******************************************************
-- Building version: 3.14.1.HEAD-0-g0347a6d8
-- Using install prefix: /usr/local
-- Configuring done
-- Generating done
-- Build files have been written to: /home/baroch/uhd/host/build
baroch@reliable:~/uhd/host/build$ make
Scanning dependencies of target uhd_rpclib
[ 0%] Building CXX object
lib/deps/rpclib/CMakeFiles/uhd_rpclib.dir/lib/rpc/dispatcher.cc.o
In file included from
/home/baroch/uhd/host/lib/deps/rpclib/include/rpc/msgpack.hpp:23,
from
/home/baroch/uhd/host/lib/deps/rpclib/include/rpc/dispatcher.h:12,
from
/home/baroch/uhd/host/lib/deps/rpclib/lib/rpc/dispatcher.cc:1:
/home/baroch/uhd/host/lib/deps/rpclib/include/rpc/msgpack/object.hpp: In
function ‘void
clmdep_msgpack::v1::operator<<(clmdep_msgpack::v1::object&, const
msgpack_object&)’:
/home/baroch/uhd/host/lib/deps/rpclib/include/rpc/msgpack/object.hpp:613:34:
warning: ‘void* memcpy(void*, const void*, size_t)’ copying an
object of non-trivial type ‘struct clmdep_msgpack::v1::object’ from
an array of ‘const msgpack_object’ {aka ‘const struct
msgpack_object’} [-Wclass-memaccess]
613 | std::memcpy(&o, &v, sizeof(v));
| ^
In file included from
/home/baroch/uhd/host/lib/deps/rpclib/include/rpc/msgpack/adaptor/adaptor_base.hpp:21,
from
/home/baroch/uhd/host/lib/deps/rpclib/include/rpc/msgpack/object.hpp:24,
from
/home/baroch/uhd/host/lib/deps/rpclib/include/rpc/msgpack.hpp:23,
from
/home/baroch/uhd/host/lib/deps/rpclib/include/rpc/dispatcher.h:12,
from
/home/baroch/uhd/host/lib/deps/rpclib/lib/rpc/dispatcher.cc:1:
/home/baroch/uhd/host/lib/deps/rpclib/include/rpc/msgpack/object_fwd.hpp:111:8:
note: ‘struct clmdep_msgpack::v1::object’ declared here
111 | struct object {
| ^~~~~~
[ 0%] Building CXX object
lib/deps/rpclib/CMakeFiles/uhd_rpclib.dir/lib/rpc/server.cc.o
In file included from
/home/baroch/uhd/host/lib/deps/rpclib/include/rpc/msgpack.hpp:23,
from
/home/baroch/uhd/host/lib/deps/rpclib/include/rpc/server.h:7,
from
/home/baroch/uhd/host/lib/deps/rpclib/lib/rpc/server.cc:1:
/home/baroch/uhd/host/lib/deps/rpclib/include/rpc/msgpack/object.hpp: In
function ‘void
clmdep_msgpack::v1::operator<<(clmdep_msgpack::v1::object&, const
msgpack_object&)’:
/home/baroch/uhd/host/lib/deps/rpclib/include/rpc/msgpack/object.hpp:613:34:
warning: ‘void* memcpy(void*, const void*, size_t)’ copying an
object of non-trivial type ‘struct clmdep_msgpack::v1::object’ from
an array of ‘const msgpack_object’ {aka ‘const struct
msgpack_object’} [-Wclass-memaccess]
613 | std::memcpy(&o, &v, sizeof(v));
| ^
In file included from
/home/baroch/uhd/host/lib/deps/rpclib/include/rpc/msgpack/adaptor/adaptor_base.hpp:21,
from
/home/baroch/uhd/host/lib/deps/rpclib/include/rpc/msgpack/object.hpp:24,
from
/home/baroch/uhd/host/lib/deps/rpclib/include/rpc/msgpack.hpp:23,
from
/home/baroch/uhd/host/lib/deps/rpclib/include/rpc/server.h:7,
from
/home/baroch/uhd/host/lib/deps/rpclib/lib/rpc/server.cc:1:
/home/baroch/uhd/host/lib/deps/rpclib/include/rpc/msgpack/object_fwd.hpp:111:8:
note: ‘struct clmdep_msgpack::v1::object’ declared here
111 | struct object {
| ^~~~~~
[ a lot of warnings truncated B.O.]
[ 22%] Building CXX object lib/CMakeFiles/uhd.dir/usrp/subdev_spec.cpp.o
[ 23%] Building CXX object
lib/CMakeFiles/uhd.dir/usrp/fe_connection.cpp.o
[ 23%] Building CXX object
lib/CMakeFiles/uhd.dir/usrp/dboard_eeprom_c.cpp.o
[ 23%] Building CXX object
lib/CMakeFiles/uhd.dir/usrp/mboard_eeprom_c.cpp.o
[ 23%] Building CXX object
lib/CMakeFiles/uhd.dir/usrp/subdev_spec_c.cpp.o
[ 23%] Building CXX object lib/CMakeFiles/uhd.dir/usrp/usrp_c.cpp.o
[ 23%] Building CXX object lib/CMakeFiles/uhd.dir/usrp/gpsd_iface.cpp.o
/home/baroch/uhd/host/lib/usrp/gpsd_iface.cpp: In member function
‘int64_t uhd::usrp::gpsd_iface_impl::_epoch_time()’:
/home/baroch/uhd/host/lib/usrp/gpsd_iface.cpp:141:62: error: cannot
convert ‘timespec_t’ {aka ‘timespec’} to ‘time_t’ {aka ‘long int’}
141 | return
(boost::posix_time::from_time_t(_gps_data.fix.time)
| ~~~~~~~~~~~~~~^~~~
| |
| timespec_t {aka timespec}
In file included from /usr/include/boost/thread/xtime.hpp:16,
from /usr/include/boost/thread/pthread/mutex.hpp:20,
from /usr/include/boost/thread/mutex.hpp:16,
from
/usr/include/boost/thread/pthread/shared_mutex.hpp:14,
from /usr/include/boost/thread/shared_mutex.hpp:28,
from /home/baroch/uhd/host/lib/usrp/gpsd_iface.cpp:16:
/usr/include/boost/date_time/posix_time/conversion.hpp:27:33:
note: initializing argument 1 of ‘boost::posix_time::ptime
boost::posix_time::from_time_t(time_t)’
27 | ptime from_time_t(std::time_t t)
| ~~~~~~~~~~~~^
/home/baroch/uhd/host/lib/usrp/gpsd_iface.cpp: In member function
‘boost::gregorian::date uhd::usrp::gpsd_iface_impl::_gregorian_date()’:
/home/baroch/uhd/host/lib/usrp/gpsd_iface.cpp:148:61: error: cannot
convert ‘timespec_t’ {aka ‘timespec’} to ‘time_t’ {aka ‘long int’}
148 | return
boost::posix_time::from_time_t(_gps_data.fix.time).date();
| ~~~~~~~~~~~~~~^~~~
| |
| timespec_t {aka timespec}
In file included from /usr/include/boost/thread/xtime.hpp:16,
from /usr/include/boost/thread/pthread/mutex.hpp:20,
from /usr/include/boost/thread/mutex.hpp:16,
from
/usr/include/boost/thread/pthread/shared_mutex.hpp:14,
from /usr/include/boost/thread/shared_mutex.hpp:28,
from /home/baroch/uhd/host/lib/usrp/gpsd_iface.cpp:16:
/usr/include/boost/date_time/posix_time/conversion.hpp:27:33:
note: initializing argument 1 of ‘boost::posix_time::ptime
boost::posix_time::from_time_t(time_t)’
27 | ptime from_time_t(std::time_t t)
| ~~~~~~~~~~~~^
/home/baroch/uhd/host/lib/usrp/gpsd_iface.cpp: In member function
‘std::string uhd::usrp::gpsd_iface_impl::_gps_gprmc()’:
/home/baroch/uhd/host/lib/usrp/gpsd_iface.cpp:206:49: error: invalid
cast from type ‘timespec_t’ {aka ‘timespec’} to type ‘time_t’ {aka
‘long int’}
206 | intfixtime = (time_t) _gps_data.fix.time;
| ^~~~
/home/baroch/uhd/host/lib/usrp/gpsd_iface.cpp: In member function
‘std::string uhd::usrp::gpsd_iface_impl::_gps_gpgga()’:
/home/baroch/uhd/host/lib/usrp/gpsd_iface.cpp:241:45: error: invalid
cast from type ‘timespec_t’ {aka ‘timespec’} to type ‘time_t’ {aka
‘long int’}
241 | intfixtime = (time_t) _gps_data.fix.time;
| ^~~~
/home/baroch/uhd/host/lib/usrp/gpsd_iface.cpp:268:42: error: ‘struct
gps_data_t’ has no member named ‘separation’
268 | if (boost::math::isnan(_gps_data.separation))
| ^~~~~~~~~~
/home/baroch/uhd/host/lib/usrp/gpsd_iface.cpp:272:58: error: ‘struct
gps_data_t’ has no member named ‘separation’
272 | str(boost::format("%.3f,M,") %
_gps_data.separation));
| ^~~~~~~~~~
/home/baroch/uhd/host/lib/usrp/gpsd_iface.cpp:272:17: error: ‘str’
was not declared in this scope
272 | str(boost::format("%.3f,M,") %
_gps_data.separation));
| ^~~
/home/baroch/uhd/host/lib/usrp/gpsd_iface.cpp:272:17: note:
suggested alternatives:
In file included from /usr/include/boost/format.hpp:53,
from /home/baroch/uhd/host/lib/usrp/gpsd_iface.cpp:15:
/usr/include/boost/format/free_funcs.hpp:22:38: note: ‘boost::str’
22 | std::basic_string<Ch, Tr, Alloc> str(const
basic_format<Ch, Tr, Alloc>& f) {
| ^~~
/usr/include/boost/format/free_funcs.hpp:22:38: note: ‘boost::str’
make[2]: *** [lib/CMakeFiles/uhd.dir/build.make:1303:
lib/CMakeFiles/uhd.dir/usrp/gpsd_iface.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:731: lib/CMakeFiles/uhd.dir/all]
Error 2
make: *** [Makefile:163: all] Error 2
Thanks,
Baroch Oren
--
ברוך אורן بروح اورن Baroch Oren
טל' 058-7799233 cell
תמכו באקטיביזם שלי support my activism <https://www.patreon.com/barochoren>
_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com