Files
MINGW-packages/mingw-w64-libuhd/0001-libraries_headers_and_no_pthread_setname_np.patch
Chris Gorman 9fc945beb9 libuhd: update to 4.8.0.0 (#23831)
- add some guard code to UHDPython.cmake to ensure that cmake's find_package()
  command doesn't us the libraries un the buildmachine's c:/hostedtoolcache
  directory.
- change pip install to python -m install and remove dependency on python-pip
- exclude usrp_mpm and usrp_mpm.* from find_packages as we are trying to
  install it twice.  Once unsing python poetry's whl file and once using
  find_pacakges from the setup.py.
- Removed the use of a cast of thrd->native_handle() to (pthread_t) in
  uhd::set_thread_name opting for no thread naming on windows.  This follows
  gnuradio which doesn't name threads on windows.
- Add new dependencies and makedepends for package.

libgnuradio: update pkgrel to 2
- bump pkgrel to build against new libuhd 4.8.0.0
2025-04-08 06:45:26 +03:00

476 lines
19 KiB
Diff

diff --git a/host/cmake/Modules/UHDBoost.cmake b/host/cmake/Modules/UHDBoost.cmake
index e8c0aae6a..f2ab8e16a 100644
--- a/host/cmake/Modules/UHDBoost.cmake
+++ b/host/cmake/Modules/UHDBoost.cmake
@@ -99,7 +99,7 @@ if(MINGW)
list(FIND UHD_BOOST_REQUIRED_COMPONENTS "thread" THREAD_NDX)
if(NOT ${THREAD_NDX} EQUAL -1)
list(REMOVE_AT UHD_BOOST_REQUIRED_COMPONENTS ${THREAD_NDX})
- list(INSERT UHD_BOOST_REQUIRED_COMPONENTS ${THREAD_NDX} thread_win32)
+ list(INSERT UHD_BOOST_REQUIRED_COMPONENTS ${THREAD_NDX} thread)
endif()
endif()
diff --git a/host/cmake/Modules/UHDPython.cmake b/host/cmake/Modules/UHDPython.cmake
index ada445780..14ffed375 100644
--- a/host/cmake/Modules/UHDPython.cmake
+++ b/host/cmake/Modules/UHDPython.cmake
@@ -318,6 +318,22 @@ endmacro()
# The libraries must match the RUNTIME_PYTHON_EXECUTABLE's version.
# - Figure out version
# - See if Python3_LIBRARIES is already set (or Python2_LIBRARIES)
+#
+# On the msys build machine we have some difficulty with libraries and include
+# files being found in the hostedtoolcache directory. Use the
+# PYTHON_EXECUTABLE variable in conjunction with the CMAKE_LIBRARY_PATH and
+# CMAKE_INCLUDE_PATH to force the machine to link to the proper binaries.
+#
+# We also need to pass the python version major and minor numbers to the
+# CMAKE_INCLUDE_PATH.
+get_filename_component(EXE_DIRECTORY_PATH ${PYTHON_EXECUTABLE} DIRECTORY)
+get_filename_component(EXE_PARENT_DIRECTORY_PATH
+ ${EXE_DIRECTORY_PATH} DIRECTORY)
+string(REGEX REPLACE "\\.[0-9]+$" "" MAJOR_MINOR_VERSION ${PYTHON_VERSION})
+set(CMAKE_LIBRARY_PATH "${EXE_PARENT_DIRECTORY_PATH}/lib")
+set(CMAKE_INCLUDE_PATH
+ "${EXE_PARENT_DIRECTORY_PATH}/include/python${MAJOR_MINOR_VERSION}")
+
if(NOT PYTHON_LIBRARIES OR NOT PYTHON_INCLUDE_DIRS)
message(STATUS "Finding Python Libraries...")
find_package(Python3 ${RUNTIME_PYTHON_VERSION}
diff --git a/host/examples/CMakeLists.txt b/host/examples/CMakeLists.txt
index 69e84f95d..497c51d8f 100644
--- a/host/examples/CMakeLists.txt
+++ b/host/examples/CMakeLists.txt
@@ -57,11 +57,11 @@ find_package(Curses)
if(CURSES_FOUND)
include_directories(${CURSES_INCLUDE_DIR})
add_executable(rx_ascii_art_dft rx_ascii_art_dft.cpp)
- target_link_libraries(rx_ascii_art_dft uhd ${CURSES_LIBRARIES} ${Boost_LIBRARIES})
+ target_link_libraries(rx_ascii_art_dft uhd ${CURSES_LIBRARIES} ${Boost_LIBRARIES} ncursesw)
UHD_INSTALL(TARGETS rx_ascii_art_dft RUNTIME DESTINATION ${PKG_LIB_DIR}/examples COMPONENT examples)
add_executable(twinrx_freq_hopping twinrx_freq_hopping.cpp)
- target_link_libraries(twinrx_freq_hopping uhd ${CURSES_LIBRARIES} ${Boost_LIBRARIES})
+ target_link_libraries(twinrx_freq_hopping uhd ${CURSES_LIBRARIES} ${Boost_LIBRARIES} ncursesw)
UHD_INSTALL(TARGETS twinrx_freq_hopping RUNTIME DESTINATION ${PKG_LIB_DIR}/examples COMPONENT examples)
endif(CURSES_FOUND)
diff --git a/host/examples/network_relay.cpp b/host/examples/network_relay.cpp
index 2387f3b2a..888173431 100644
--- a/host/examples/network_relay.cpp
+++ b/host/examples/network_relay.cpp
@@ -7,6 +7,7 @@
#include <uhd/utils/safe_main.hpp>
#include <uhd/utils/thread.hpp>
+#include <winsock2.h>
#include <boost/asio.hpp>
#include <boost/program_options.hpp>
#include <boost/thread/condition.hpp>
diff --git a/host/examples/rx_ascii_art_dft.cpp b/host/examples/rx_ascii_art_dft.cpp
index 17ecdf39e..1b7a7a4cd 100644
--- a/host/examples/rx_ascii_art_dft.cpp
+++ b/host/examples/rx_ascii_art_dft.cpp
@@ -9,7 +9,7 @@
#include <uhd/usrp/multi_usrp.hpp>
#include <uhd/utils/safe_main.hpp>
#include <uhd/utils/thread.hpp>
-#include <curses.h>
+#include <ncurses/curses.h>
#include <boost/format.hpp>
#include <boost/program_options.hpp>
#include <chrono>
diff --git a/host/include/uhd/transport/nirio/rpc/rpc_client.hpp b/host/include/uhd/transport/nirio/rpc/rpc_client.hpp
index 98f1e2860..9e33e5ae1 100644
--- a/host/include/uhd/transport/nirio/rpc/rpc_client.hpp
+++ b/host/include/uhd/transport/nirio/rpc/rpc_client.hpp
@@ -10,6 +10,7 @@
#include "rpc_common.hpp"
#include <uhd/utils/log.hpp>
#include <uhd/utils/noncopyable.hpp>
+#include <winsock2.h>
#include <boost/asio.hpp>
#include <boost/date_time/posix_time/posix_time_types.hpp>
#include <boost/thread.hpp>
diff --git a/host/include/uhd/transport/udp_simple.hpp b/host/include/uhd/transport/udp_simple.hpp
index 4adb3ce12..96468fe4e 100644
--- a/host/include/uhd/transport/udp_simple.hpp
+++ b/host/include/uhd/transport/udp_simple.hpp
@@ -10,6 +10,7 @@
#include <uhd/config.hpp>
#include <uhd/types/serial.hpp>
#include <uhd/utils/noncopyable.hpp>
+#include <winsock2.h>
#include <boost/asio/buffer.hpp>
#include <cstddef>
#include <memory>
diff --git a/host/lib/deps/rpclib/lib/rpc/client.cc b/host/lib/deps/rpclib/lib/rpc/client.cc
index b3d857983..e5b451062 100644
--- a/host/lib/deps/rpclib/lib/rpc/client.cc
+++ b/host/lib/deps/rpclib/lib/rpc/client.cc
@@ -10,6 +10,7 @@
#include <thread>
#include <unordered_map>
+#include <winsock2.h>
#include <boost/asio.hpp>
#include <boost/format.hpp>
diff --git a/host/lib/deps/rpclib/lib/rpc/server.cc b/host/lib/deps/rpclib/lib/rpc/server.cc
index d0638cb8f..4bc1ccf24 100644
--- a/host/lib/deps/rpclib/lib/rpc/server.cc
+++ b/host/lib/deps/rpclib/lib/rpc/server.cc
@@ -6,6 +6,7 @@
#include <stdint.h>
#include <thread>
+#include <winsock2.h>
#include <boost/asio.hpp>
#include "rpc/detail/dev_utils.h"
diff --git a/host/lib/include/uhdlib/transport/udp_boost_asio_link.hpp b/host/lib/include/uhdlib/transport/udp_boost_asio_link.hpp
index 80b585af7..e92fb6258 100644
--- a/host/lib/include/uhdlib/transport/udp_boost_asio_link.hpp
+++ b/host/lib/include/uhdlib/transport/udp_boost_asio_link.hpp
@@ -13,6 +13,7 @@
#include <uhdlib/transport/link_base.hpp>
#include <uhdlib/transport/links.hpp>
#include <uhdlib/transport/udp_common.hpp>
+#include <winsock2.h>
#include <boost/asio.hpp>
#include <memory>
#include <vector>
diff --git a/host/lib/include/uhdlib/transport/udp_common.hpp b/host/lib/include/uhdlib/transport/udp_common.hpp
index b4b0ec309..cb6a59703 100644
--- a/host/lib/include/uhdlib/transport/udp_common.hpp
+++ b/host/lib/include/uhdlib/transport/udp_common.hpp
@@ -15,6 +15,7 @@
#include <uhd/utils/log.hpp>
#include <uhdlib/transport/links.hpp>
#include <uhdlib/utils/narrow.hpp>
+#include <winsock2.h>
#include <boost/asio.hpp>
#include <boost/format.hpp>
#include <thread>
diff --git a/host/lib/transport/CMakeLists.txt b/host/lib/transport/CMakeLists.txt
index 396314a10..dcc391099 100644
--- a/host/lib/transport/CMakeLists.txt
+++ b/host/lib/transport/CMakeLists.txt
@@ -90,7 +90,7 @@ endif()
#On windows, the boost asio implementation uses the winsock2 library.
#Note: we exclude the .lib extension for cygwin and mingw platforms.
if(WIN32)
- LIBUHD_APPEND_LIBS(ws2_32)
+ LIBUHD_APPEND_LIBS(ws2_32 wsock32)
endif()
#atlbase.h is not included with visual studio express
diff --git a/host/lib/usrp/cores/xport_adapter_ctrl.cpp b/host/lib/usrp/cores/xport_adapter_ctrl.cpp
index 9b3556ad3..4b9072cea 100644
--- a/host/lib/usrp/cores/xport_adapter_ctrl.cpp
+++ b/host/lib/usrp/cores/xport_adapter_ctrl.cpp
@@ -9,6 +9,7 @@
#include <uhdlib/usrp/cores/xport_adapter_ctrl.hpp>
#include <unordered_map>
#include <boost/algorithm/string/case_conv.hpp>
+#include <winsock2.h>
#include <boost/asio.hpp>
#include <chrono>
#include <cstdio>
diff --git a/host/lib/usrp/mpmd/mpmd_find.cpp b/host/lib/usrp/mpmd/mpmd_find.cpp
index 97e6fab80..880c01504 100644
--- a/host/lib/usrp/mpmd/mpmd_find.cpp
+++ b/host/lib/usrp/mpmd/mpmd_find.cpp
@@ -15,6 +15,7 @@
#include <uhdlib/utils/prefs.hpp>
#include <uhdlib/utils/serial_number.hpp>
#include <boost/algorithm/string.hpp>
+#include <winsock2.h>
#include <boost/asio.hpp>
#include <future>
#ifdef HAVE_DPDK
diff --git a/host/lib/usrp/usrp2/dboard_iface.cpp b/host/lib/usrp/usrp2/dboard_iface.cpp
index 169139ba1..b9bccda09 100644
--- a/host/lib/usrp/usrp2/dboard_iface.cpp
+++ b/host/lib/usrp/usrp2/dboard_iface.cpp
@@ -16,6 +16,7 @@
#include <uhd/usrp/dboard_iface.hpp>
#include <uhd/utils/algorithm.hpp>
#include <uhdlib/usrp/cores/gpio_core_200.hpp>
+#include <winsock2.h>
#include <boost/asio.hpp> //htonl and ntohl
#include <boost/assign/list_of.hpp>
#include <cmath>
diff --git a/host/lib/usrp/usrp2/io_impl.cpp b/host/lib/usrp/usrp2/io_impl.cpp
index 48ab7b5f0..9328c8552 100644
--- a/host/lib/usrp/usrp2/io_impl.cpp
+++ b/host/lib/usrp/usrp2/io_impl.cpp
@@ -18,6 +18,7 @@
#include <uhd/utils/thread.hpp>
#include <uhdlib/usrp/common/async_packet_handler.hpp>
#include <uhdlib/usrp/common/validate_subdev_spec.hpp>
+#include <winsock2.h>
#include <boost/asio.hpp>
#include <boost/format.hpp>
#include <boost/thread/mutex.hpp>
diff --git a/host/lib/usrp/usrp2/usrp2_fifo_ctrl.cpp b/host/lib/usrp/usrp2/usrp2_fifo_ctrl.cpp
index f676ce5da..48db0dafa 100644
--- a/host/lib/usrp/usrp2/usrp2_fifo_ctrl.cpp
+++ b/host/lib/usrp/usrp2/usrp2_fifo_ctrl.cpp
@@ -11,6 +11,7 @@
#include <uhd/transport/vrt_if_packet.hpp>
#include <uhd/utils/log.hpp>
#include <uhd/utils/safe_call.hpp>
+#include <winsock2.h>
#include <boost/asio.hpp> //htonl
#include <mutex>
diff --git a/host/lib/usrp/usrp2/usrp2_iface.cpp b/host/lib/usrp/usrp2/usrp2_iface.cpp
index 4953f8812..59e3ac87f 100644
--- a/host/lib/usrp/usrp2/usrp2_iface.cpp
+++ b/host/lib/usrp/usrp2/usrp2_iface.cpp
@@ -17,6 +17,7 @@
#include <uhd/utils/safe_call.hpp>
#include <uhd/utils/tasks.hpp>
#include <uhdlib/utils/paths.hpp>
+#include <winsock2.h>
#include <boost/asio.hpp> //used for htonl and ntohl
#include <boost/assign/list_of.hpp>
#include <boost/filesystem.hpp>
diff --git a/host/lib/usrp/usrp2/usrp2_impl.cpp b/host/lib/usrp/usrp2/usrp2_impl.cpp
index cfd80abfd..37834b696 100644
--- a/host/lib/usrp/usrp2/usrp2_impl.cpp
+++ b/host/lib/usrp/usrp2/usrp2_impl.cpp
@@ -15,6 +15,7 @@
#include <uhd/utils/safe_call.hpp>
#include <uhd/utils/static.hpp>
#include <uhdlib/usrp/common/apply_corrections.hpp>
+#include <winsock2.h>
#include <boost/asio.hpp>
#include <boost/asio/ip/address_v4.hpp>
#include <boost/format.hpp>
diff --git a/host/lib/usrp/x300/x300_eth_mgr.cpp b/host/lib/usrp/x300/x300_eth_mgr.cpp
index 7d4239bbb..a4420fac5 100644
--- a/host/lib/usrp/x300/x300_eth_mgr.cpp
+++ b/host/lib/usrp/x300/x300_eth_mgr.cpp
@@ -29,6 +29,7 @@
# include <uhdlib/transport/dpdk_simple.hpp>
# include <uhdlib/transport/udp_dpdk_link.hpp>
#endif
+#include <winsock2.h>
#include <boost/asio.hpp>
#include <string>
diff --git a/host/lib/usrp_clock/octoclock/octoclock_eeprom.cpp b/host/lib/usrp_clock/octoclock/octoclock_eeprom.cpp
index adddb23f3..0b02434c7 100644
--- a/host/lib/usrp_clock/octoclock/octoclock_eeprom.cpp
+++ b/host/lib/usrp_clock/octoclock/octoclock_eeprom.cpp
@@ -14,6 +14,7 @@
#include <uhd/usrp/mboard_eeprom.hpp>
#include <uhd/usrp_clock/octoclock_eeprom.hpp>
#include <uhd/utils/byteswap.hpp>
+#include <winsock.h>
#include <boost/asio.hpp>
typedef boost::asio::ip::address_v4 ip_v4;
diff --git a/host/lib/usrp_clock/octoclock/octoclock_impl.cpp b/host/lib/usrp_clock/octoclock/octoclock_impl.cpp
index d97c7de87..888e8e52f 100644
--- a/host/lib/usrp_clock/octoclock/octoclock_impl.cpp
+++ b/host/lib/usrp_clock/octoclock/octoclock_impl.cpp
@@ -21,6 +21,7 @@
#include <uhd/utils/static.hpp>
#include <uhdlib/utils/paths.hpp>
#include <stdint.h>
+#include <winsock2.h>
#include <boost/asio.hpp>
#include <boost/assign.hpp>
#include <boost/filesystem.hpp>
diff --git a/host/lib/usrp_clock/octoclock/octoclock_uart.cpp b/host/lib/usrp_clock/octoclock/octoclock_uart.cpp
index 0a0fa4c14..efb91a156 100644
--- a/host/lib/usrp_clock/octoclock/octoclock_uart.cpp
+++ b/host/lib/usrp_clock/octoclock/octoclock_uart.cpp
@@ -13,6 +13,7 @@
#include <stdint.h>
#include <string.h>
#include <boost/algorithm/string.hpp>
+#include <winsock2.h>
#include <boost/asio.hpp>
#include <boost/format.hpp>
#include <boost/thread/thread.hpp>
diff --git a/host/lib/utils/pathslib.cpp b/host/lib/utils/pathslib.cpp
index 7854782c0..d8e8db85b 100644
--- a/host/lib/utils/pathslib.cpp
+++ b/host/lib/utils/pathslib.cpp
@@ -7,7 +7,7 @@
#include <uhd/config.hpp>
#include <uhdlib/utils/paths.hpp>
-#ifdef BOOST_MSVC
+#if defined(BOOST_MSVC) || defined(_WIN64) || defined(_WIN32)
# include <windows.h>
#elif defined(__OpenBSD__)
# include <glob.h>
@@ -20,7 +20,7 @@ std::string uhd::path_expandvars(const std::string& path)
if (path.empty()) {
return path;
}
-#ifdef BOOST_MSVC
+#if defined(BOOST_MSVC) || defined(_WIN64) || defined(_WIN32)
constexpr size_t max_pathlen = 4096;
char result[max_pathlen];
const size_t result_len =
diff --git a/host/lib/utils/thread.cpp b/host/lib/utils/thread.cpp
index c5e1b5156..7146f2a9e 100644
--- a/host/lib/utils/thread.cpp
+++ b/host/lib/utils/thread.cpp
@@ -178,9 +178,9 @@ void uhd::set_thread_affinity(const std::vector<size_t>& cpu_affinity_list)
void uhd::set_thread_name(boost::thread* thrd, const std::string& name)
{
-#ifdef HAVE_PTHREAD_SETNAME
- pthread_setname_np(thrd->native_handle(), name.substr(0, 16).c_str());
-#endif /* HAVE_PTHREAD_SETNAME */
+//#ifdef HAVE_PTHREAD_SETNAME
+// pthread_setname_np(thrd->native_handle(), name.substr(0, 16).c_str());
+//#endif /* HAVE_PTHREAD_SETNAME */
#ifdef HAVE_THREAD_SETNAME_DUMMY
// Then we can't set the thread name. This function may get called
// before the logger starts, and thus can't log any error messages.
@@ -191,9 +191,9 @@ void uhd::set_thread_name(boost::thread* thrd, const std::string& name)
void uhd::set_thread_name(std::thread* thrd, const std::string& name)
{
-#ifdef HAVE_PTHREAD_SETNAME
- pthread_setname_np(thrd->native_handle(), name.substr(0, 16).c_str());
-#endif /* HAVE_PTHREAD_SETNAME */
+//#ifdef HAVE_PTHREAD_SETNAME
+// pthread_setname_np(thrd->native_handle(), name.substr(0, 16).c_str());
+//#endif /* HAVE_PTHREAD_SETNAME */
#ifdef HAVE_THREAD_SETNAME_DUMMY
// Then we can't set the thread name. This function may get called
// before the logger starts, and thus can't log any error messages.
diff --git a/host/python/CMakeLists.txt b/host/python/CMakeLists.txt
index df2353758..037f1475c 100644
--- a/host/python/CMakeLists.txt
+++ b/host/python/CMakeLists.txt
@@ -244,7 +244,6 @@ if (WIN32)
DEPENDS ${PYUHD_FILES} pyuhd_library)
add_custom_command(
TARGET pyuhd_wheel
- COMMAND ${PYTHON_EXECUTABLE} -m pip install poetry
COMMAND ${PYTHON_EXECUTABLE} -m poetry build
)
endif(WIN32)
diff --git a/host/python/pyproject.toml.in b/host/python/pyproject.toml.in
index 66227c633..abbc821ba 100644
--- a/host/python/pyproject.toml.in
+++ b/host/python/pyproject.toml.in
@@ -17,11 +17,11 @@ exclude = [
"usrp_mpm"
]
-[tool.poetry.dependencies]
-python = ">=3.10,<3.13"
-numpy = "^@UHD_NUMPY_MIN_VERSION@"
-mako = ">=@UHD_PY_MAKO_MIN_VERSION@"
-ruamel-yaml = ">=@UHD_RUAMEL_YAML_MIN_VERSION@"
+#[tool.poetry.dependencies]
+#python = ">=3.10,<3.13"
+#numpy = "^@UHD_NUMPY_MIN_VERSION@"
+#mako = ">=@UHD_PY_MAKO_MIN_VERSION@"
+#ruamel-yaml = ">=@UHD_RUAMEL_YAML_MIN_VERSION@"
[tool.poetry.build]
# Poetry should build a platform specific wheel, because the binding lib
diff --git a/host/python/setup.py.in b/host/python/setup.py.in
index 09263404e..be1e94f2a 100755
--- a/host/python/setup.py.in
+++ b/host/python/setup.py.in
@@ -8,7 +8,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
from setuptools import find_packages, setup
-packages = find_packages() + [
+packages = find_packages(exclude=["usrp_mpm", "usrp_mpm.*"]) + [
"uhd.rfnoc_utils.templates",
"uhd.rfnoc_utils.templates.modules",
"uhd.rfnoc_utils.modtool_commands",
diff --git a/host/tests/CMakeLists.txt b/host/tests/CMakeLists.txt
index afdc01d3b..b28eee7bd 100644
--- a/host/tests/CMakeLists.txt
+++ b/host/tests/CMakeLists.txt
@@ -97,7 +97,7 @@ include_directories("${CMAKE_CURRENT_SOURCE_DIR}/common")
foreach(test_source ${test_sources})
get_filename_component(test_name ${test_source} NAME_WE)
add_executable(${test_name} ${test_source})
- target_link_libraries(${test_name} uhd uhd_test ${Boost_LIBRARIES})
+ target_link_libraries(${test_name} uhd_test uhd ${Boost_LIBRARIES})
UHD_ADD_TEST(${test_name} ${test_name})
UHD_INSTALL(TARGETS ${test_name} RUNTIME DESTINATION ${PKG_LIB_DIR}/tests COMPONENT tests)
endforeach(test_source)
@@ -106,7 +106,7 @@ endforeach(test_source)
foreach(benchmark_source ${benchmark_sources})
get_filename_component(benchmark_name ${benchmark_source} NAME_WE)
add_executable(${benchmark_name} ${benchmark_source})
- target_link_libraries(${benchmark_name} uhd uhd_test ${Boost_LIBRARIES})
+ target_link_libraries(${benchmark_name} uhd_test uhd ${Boost_LIBRARIES})
UHD_INSTALL(TARGETS ${benchmark_name} RUNTIME DESTINATION ${PKG_LIB_DIR}/tests COMPONENT tests)
endforeach(benchmark_source)
diff --git a/host/utils/latency/CMakeLists.txt b/host/utils/latency/CMakeLists.txt
index e4cd4d171..340b76dc1 100644
--- a/host/utils/latency/CMakeLists.txt
+++ b/host/utils/latency/CMakeLists.txt
@@ -26,7 +26,7 @@ if(CURSES_FOUND)
get_filename_component(name ${source} NAME_WE)
add_executable(${name} ${source} ${latency_lib_path})
LIBUHD_APPEND_SOURCES(${name})
- target_link_libraries(${name} uhd ${Boost_LIBRARIES} ${CURSES_LIBRARIES})
+ target_link_libraries(${name} uhd ${Boost_LIBRARIES} ${CURSES_LIBRARIES} ncursesw)
UHD_INSTALL(TARGETS ${name} RUNTIME DESTINATION ${latency_comp_dest} COMPONENT ${latency_comp_name})
endforeach(source)
diff --git a/host/utils/latency/include/Responder.hpp b/host/utils/latency/include/Responder.hpp
index 81b5e84f9..a87fa17e9 100644
--- a/host/utils/latency/include/Responder.hpp
+++ b/host/utils/latency/include/Responder.hpp
@@ -9,7 +9,7 @@
#define RESPONDER_H
#include <uhd/usrp/multi_usrp.hpp>
-#include <curses.h>
+#include <ncurses/curses.h>
#include <stdint.h>
#include <ctime>
#include <map>
diff --git a/host/utils/uhd_images_downloader.py.in b/host/utils/uhd_images_downloader.py.in
index 14663bf96..2a2837f98 100644
--- a/host/utils/uhd_images_downloader.py.in
+++ b/host/utils/uhd_images_downloader.py.in
@@ -1,4 +1,4 @@
-#!@RUNTIME_PYTHON_EXECUTABLE@
+#!/usr/bin/env python3
#
# Copyright 2018 Ettus Research, a National Instruments Company
# Copyright 2020 Ettus Research, a National Instruments Brand
@@ -44,6 +44,7 @@ import sys
import tempfile
import zipfile
import platform
+import subprocess
from urllib.parse import urljoin # Python 3
# For all the non-core-library imports, we will be extra paranoid and be very
@@ -63,7 +64,9 @@ except ImportError:
_USERNAME_VARIABLE = "UHD_IMAGES_USER"
_PASSWORD_VARIABLE = "UHD_IMAGES_PASSWORD"
_DEFAULT_TARGET_REGEX = "(fpga|fw|windrv)_default"
-_DEFAULT_INSTALL_PATH = os.path.join("@CONFIG_PATH@", "images")
+_DEFAULT_INSTALL_PATH_UNIX = os.path.join("@CMAKE_INSTALL_PREFIX@", "share", "uhd", "images")
+_DEFAULT_INSTALL_PATH = subprocess.check_output(["cygpath.exe", "-m",
+ _DEFAULT_INSTALL_PATH_UNIX]).decode('utf-8').strip()
_DEFAULT_BASE_URL = "https://files.ettus.com/binaries/cache/"
_INVENTORY_FILENAME = "inventory.json"
_DEFAULT_BUFFER_SIZE = 8192