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
