EttusResearch / uhd

The USRP™ Hardware Driver Repository
http://uhd.ettus.com
Other
946 stars 646 forks source link

Python checking fail when build uhd #662

Closed LawsonGu closed 1 year ago

LawsonGu commented 1 year ago

The first time when I build uhd with cmake command. What is the meaning of this check failed? image

Is that critical or necessary?

NI-LAm commented 1 year ago

From the list of missing packages I assume you want to build MPM. We recommend to install the corresponding SDK, which contains all necessary dependencies. You can get the lastest SDK using uhd_images_dowloader -t <your_device>_common_sdk. The SDK will be dowloaded to your images folder. Once downloaded make the downloaded .sh file executable and run it. When installed run source /usr/local/oecore-x86_64/environment-setup-aarch64-oe-linux (assuming you install to default location) to enable the SDK and run the make script in this shell again.

LawsonGu commented 1 year ago

Hi, Lars Maybe the question is as it’s my first build, I havn’t got uhd_images_downloader yet. Thus maybe these inform is not necessary.

NI-LAm commented 1 year ago

If you want to build host from source you can find instructions here: https://files.ettus.com/manual/page_build_guide.html (but the dependency list above suggested you tried to build MPM. Can you post a list of commands you did?

LawsonGu commented 1 year ago

cd uhd && git checkout v4.3.0.0 && cd host && mkdir build && cd build && cmake .. && make && make test && make install

NI-LAm commented 1 year ago

This should work (given you have installed the dependencies mentioned in the build instructions I mentioned above).

The error you got in the screenshot you posted will only occur when you try to build the MPM (gevent, pyroute2, pyudev, mprpc are only used in MPM).

LawsonGu commented 1 year ago

I'm not trying to build the MPM. Maybe this error is not critical. We can just skip it.

NI-LAm commented 1 year ago

Can you post the full output of the cmake .. command instead of a screenshot, please?

LawsonGu commented 1 year ago

:$ cd uhd && git checkout v4.3.0.0 && cd host && mkdir build && cd build && cmake .. Note: switching to 'v4.3.0.0'.

You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may do so (now or later) by using -c with the switch command. Example:

git switch -c

Or undo this operation with:

git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at 1f8fd3457 uhd: Prepare branch for 4.3.0.0 release -- The CXX compiler identification is GNU 9.4.0 -- The C compiler identification is GNU 9.4.0 -- 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

-- Configuring the Python interpreter... -- Python interpreter: /usr/bin/python3.8 Version: 3.8.10 -- Override with: -DPYTHON_EXECUTABLE= -- Python runtime interpreter: /usr/bin/python3.8 Version: 3.8.10 -- Override with: -DRUNTIME_PYTHON_EXECUTABLE= -- Finding Python Libraries... -- Python Libraries: /usr/lib/x86_64-linux-gnu/libpython3.8.so -- Python include directories: /usr/include/python3.8 -- 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. -- Performing Test HAVE_VISIBILITY_HIDDEN -- Performing Test HAVE_VISIBILITY_HIDDEN - Success -- Performing Test HAVE_VISIBILITY_INLINES_HIDDEN -- Performing Test HAVE_VISIBILITY_INLINES_HIDDEN - Success

-- Configuring Boost C++ Libraries...

-- Checking for Boost version 1.65 or greater -- Looking for required Boost components... -- Enabling Boost Error Code Header Only -- Disabling boost::asio use of std::string_view -- Boost version: 1.71.0 -- 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::serialization;Boost::thread;Boost::unit_test_framework;Boost::system -- Looking for Boost version 1.65 or greater - found

-- Python checking for compatible Python version -- Python checking for compatible Python version - 3.8.10 satisifes minimum required version 3.6

-- Python checking for Mako templates module -- Python checking for Mako templates module - 1.1.0 satisifes minimum required version 0.4.2

-- Python checking for requests module -- Python checking for requests module - 2.22.0 satisifes minimum required version 2.0

-- Python checking for numpy module -- Python checking for numpy module - 1.24.2 satisifes minimum required version 1.11

-- Python checking for ruamel.yaml module -- Python checking for ruamel.yaml module - 0.15.89 satisifes minimum required version 0.15

-- Configuring LibUHD support... -- Dependency Boost_FOUND = 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 HAVE_PYTHON_MODULE_NUMPY = TRUE -- Dependency HAVE_PYTHON_LIBS = 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

-- Looking for libusb_handle_events_timeout_completed -- Looking for libusb_handle_events_timeout_completed - found -- Looking for libusb_error_name -- Looking for libusb_error_name - found -- Looking for libusb_strerror -- Looking for libusb_strerror - found -- Found LIBUSB: /usr/lib/x86_64-linux-gnu/libusb-1.0.so
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") -- Could NOT find DPDK (missing: DPDK_INCLUDE_DIRS DPDK_LIBRARIES) (Required is at least version "18.11...21.11")

-- Configuring USB support... -- Dependency ENABLE_LIBUHD = ON -- Dependency LIBUSB_FOUND = TRUE -- Enabling USB support. -- Override with -DENABLE_USB=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 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 MPMD support... -- Dependency ENABLE_LIBUHD = ON -- Enabling MPMD support. -- Override with -DENABLE_MPMD=ON/OFF

-- Configuring SIM support... -- Dependency ENABLE_LIBUHD = ON -- Dependency ENABLE_MPMD = ON -- Dependency ENABLE_PYTHON_API = ON -- Enabling SIM support. -- Override with -DENABLE_SIM=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 E300 support... -- Dependency ENABLE_LIBUHD = ON -- Dependency ENABLE_MPMD = ON -- Enabling E300 support. -- Override with -DENABLE_E300=ON/OFF

-- Configuring X400 support... -- Dependency ENABLE_LIBUHD = ON -- Dependency ENABLE_MPMD = ON -- Enabling X400 support. -- Override with -DENABLE_X400=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

-- Looking for C++ include emmintrin.h -- Looking for C++ include emmintrin.h - found -- Looking for C++ include arm_neon.h -- Looking for C++ include arm_neon.h - not found

-- Configuring priority scheduling... -- Performing Test HAVE_PTHREAD_SETSCHEDPARAM -- Performing Test HAVE_PTHREAD_SETSCHEDPARAM - Success -- Performing Test HAVE_WIN_SETTHREADPRIORITY -- Performing Test HAVE_WIN_SETTHREADPRIORITY - Failed -- Priority scheduling supported through pthread_setschedparam. -- Performing Test HAVE_PTHREAD_SETNAME -- Performing Test HAVE_PTHREAD_SETNAME - Success -- Setting thread names is supported through pthread_setname_np. -- Performing Test HAVE_PTHREAD_SETAFFINITY_NP -- Performing Test HAVE_PTHREAD_SETAFFINITY_NP - Success -- Performing Test HAVE_WIN_SETTHREADAFFINITYMASK -- Performing Test HAVE_WIN_SETTHREADAFFINITYMASK - Failed -- Setting thread affinity is supported through pthread_setaffinity_np.

-- Configuring module loading... -- Performing Test HAVE_DLOPEN -- Performing Test HAVE_DLOPEN - Success -- Performing Test HAVE_LOAD_LIBRARY -- Performing Test HAVE_LOAD_LIBRARY - Failed -- Module loading supported through dlopen.

-- Configuring atomics support... -- Performing Test HAVE_CXX_ATOMICS_WITHOUT_LIB -- Performing Test HAVE_CXX_ATOMICS_WITHOUT_LIB - Success -- Performing Test HAVE_CXX_ATOMICS64_WITHOUT_LIB -- Performing Test HAVE_CXX_ATOMICS64_WITHOUT_LIB - Success -- Performing Test HAVE_CXX_BOOST_ATOMICS_WITHOUT_LIB -- Performing Test HAVE_CXX_BOOST_ATOMICS_WITHOUT_LIB - Success -- Atomics support is built-in, no linking required.

-- 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... -- Performing Test HAVE_GETIFADDRS -- Performing Test HAVE_GETIFADDRS - Success -- Looking for C++ include winsock2.h -- Looking for C++ include winsock2.h - not found -- Interface address discovery supported through getifaddrs. -- Looking for C++ include atlbase.h -- Looking for C++ include atlbase.h - not found

-- Loading build info. -- Looking for wsyncup in /usr/lib/x86_64-linux-gnu/libcurses.so -- Looking for wsyncup in /usr/lib/x86_64-linux-gnu/libcurses.so - found -- Looking for cbreak in /usr/lib/x86_64-linux-gnu/libncurses.so -- Looking for cbreak in /usr/lib/x86_64-linux-gnu/libncurses.so - found -- Found Curses: /usr/lib/x86_64-linux-gnu/libncurses.so
-- Performing Test HAVE_C99_STRUCTDECL -- Performing Test HAVE_C99_STRUCTDECL - Success

-- Adding B2XX device test target -- Adding X3x0 device test target -- Adding E3XX device test target -- Adding N3XX device test target -- Adding E32x device test target -- Adding X4x0 device test target

-- Found Doxygen: /usr/bin/doxygen (found version "1.8.17") found components: doxygen missing components: dot

-- 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

-- Found GZip: /usr/bin/gzip

-- Compressed Man Pages enabled -- Override with -DENABLE_MAN_PAGE_COMPRESSION=ON/OFF

-- Configuring Man Pages support... -- Dependency NOT_WIN32 = TRUE -- Dependency GZIP_FOUND = TRUE -- Enabling Man Pages support. -- Override with -DENABLE_MAN_PAGES=ON/OFF

-- Python checking for virtual environment -- Python checking for virtual environment - "assert sys.prefix != sys.base_prefix" failed

-- Python checking for gevent module -- Python checking for gevent module - "import gevent" failed (is it installed?)

-- Python checking for mprpc module -- Python checking for mprpc module - "import mprpc" failed (is it installed?)

-- Python checking for pyudev module -- Python checking for pyudev module - "import pyudev" failed (is it installed?)

-- Python checking for pyroute2 module -- Python checking for pyroute2 module - "import pyroute2" failed (is it installed?) -- MPM unit test Python package prerequisites not met; skipping

-- Utilizing the python install directory: /usr/local/lib/python3.8/site-packages

-- ###################################################### -- # UHD enabled components
-- ###################################################### -- LibUHD -- LibUHD - C API -- LibUHD - Python API -- Examples -- Utils -- Tests -- USB -- B100 -- B200 -- USRP1 -- USRP2 -- X300 -- MPMD -- SIM -- N300 -- N320 -- E320 -- E300 -- X400 -- OctoClock -- Manual -- API/Doxygen -- * Man Pages

-- ###################################################### -- # UHD disabled components
-- ###################################################### -- * 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: 4.3.0.HEAD-0-g1f8fd345 -- Using install prefix: /usr/local -- Configuring done -- Generating done -- Build files have been written to: /home/lawgu/workarea/uhd/host/build

NI-LAm commented 1 year ago

Lawson, you can ignore this. The cmake just told you that it cannot build the MPM simulator (because of the missing Python packages). Just continue with make make install and you're good to go.

LawsonGu commented 1 year ago

Sure, thanks.