Hi Baroch,

Do you need UHD 3.14? UHD 3.15 is probably easier to install on your system.

Besides, the missing dependencies indicate that you want to install a really old version of UHD? or GNU Radio? On a modern system. The clock ran out on Python2. For some reason cmake seems to find a python2 install on your system. That wasn't there by default. And it would probably be good to not have it there to minimize potential mixups.

Further, your system lacks Qt4 which is again really old and everything should be ported to Qt5 by now. At least GNU Radio works with Qt5.

Besides, unfortunately the guide you link to lacks Ubuntu 20.04 instructions which differ.

This would be the required list of dependencies on 20.04:
https://wiki.gnuradio.org/index.php/UbuntuInstall#Focal_Fossa_.2820.04.29

If you want to install UHD only, you might also go for `libuhd-dev` and `python3-uhd`. These should install UHD 3.15 on your system as well. No need for a source install.

Cheers
Johannes

On 29.10.20 10:53, Baroch Oren via USRP-users wrote:
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


_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Reply via email to