mirror of
https://github.com/saymrwulf/uhd.git
synced 2026-05-14 20:58:09 +00:00
251 lines
11 KiB
Text
251 lines
11 KiB
Text
/*! \page page_install Binary Installation
|
||
|
||
\tableofcontents
|
||
|
||
\section install_win Installation on Windows
|
||
|
||
We provide UHD software installers for 64-bit Windows users who do not wish
|
||
to install UHD from source.
|
||
|
||
\subsection install_win_libusb LibUSBx
|
||
|
||
All Windows installers are built with LibUSBx to enable USB3 support.
|
||
LibUSBx binaries are included in Ettus Research supplied installers
|
||
starting from UHD version 4.8. If desired, the installed LibUSB DLL
|
||
(at \<UHD Install Dir\>\\bin) may be replaced with a custom, compatible
|
||
version. Refer to \ref install_libUSB
|
||
|
||
\subsection install_win_installer Installer Packages
|
||
|
||
Windows installers are provided for a select set of hardware architectures
|
||
and compiler version combinations. These are encoded in the installer file names.
|
||
For example a installer ending with the name .._Win64_VS2019.exe indicates
|
||
UHD was build for the 64-bit Windows platform using the Visual Studio 2019
|
||
compiler suite.
|
||
Please find the latest installer here: http://files.ettus.com/binaries/uhd/latest_release
|
||
|
||
Older installers of all previous releases can be downloaded from:
|
||
http://files.ettus.com/binaries/uhd/ (browse to the desired release).
|
||
|
||
After running the Installer for the desired MSVC Compiler consider the
|
||
following post-install tasks.
|
||
|
||
\subsubsection install_win_post Post-Install Tasks
|
||
|
||
Install the MSVC Redistributable Package
|
||
|
||
- Download <a href="https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170#visual-studio-2015-2017-2019-and-2022
|
||
">MSVC Redistributable Package</a> for the hardware architecture encoded in
|
||
the UHD installer file name and run the downloaded installer package.
|
||
|
||
Using a USB-based device?
|
||
|
||
- Starting from UHD version 4.8 the UHD Installer package installs a copy of
|
||
the Windows UHD USB Driver within the UHD installation folder
|
||
(by default "C:\\Program Files\\UHD"). Alternatively, these may be
|
||
separately downloaded from the UHD wiki page:
|
||
<a href="http://files.ettus.com/binaries/misc/erllc_uhd_winusb_driver.zip">erllc_uhd_winusb_driver.zip</a>.
|
||
- These driver installer packages must be installed once per host computer
|
||
to use a USB-based product with UHD software. Perform the following steps
|
||
for each USB device type:
|
||
+ Open the device manager and plug in the USRP device.
|
||
You will see an unrecognized USB device in the device manager.
|
||
+ Right click on the unrecognized USB device and select update/install
|
||
driver software (may vary for your OS).
|
||
+ In the driver installation wizard, select "browse for driver",
|
||
browse to \<UHD Install Dir\>\\share\\uhd\\usbdriver folder, and select the
|
||
.inf file for your USRP device type.
|
||
+ Continue through the installation wizard until the driver is installed.
|
||
|
||
\subsection install_win_python Python Packages
|
||
|
||
With UHD version 4.8 and above, the UHD Python APIs for Windows are made available as
|
||
separate binary distribution package (wheel) on <a href="https://pypi.org">pypi.org</a>.
|
||
The wheel package is available for the same hardware architecture and compiler version
|
||
as the UHD installer package supporting multiple Python versions. For UHD 4.8, these are
|
||
Python 3.10 and 3.12.
|
||
|
||
First, ensure that the UHD Installer Package and an appropriate Python version are
|
||
installed on your system, for example:
|
||
|
||
- \<UHD Install Dir\> typical C:\\Program Files\\UHD
|
||
- \<Python Install Dir\> typical \%LocalAppData\%\\Programs\\Python\\Python3xx
|
||
- \<python\> executable would then be located under \<Python Install Dir\> e.g. \%LocalAppData\%\\Programs\\Python\\Python3xx\\python.exe
|
||
|
||
You need to make sure that the version of the UHD Python package (wheel) you want to
|
||
install matches the version of the UHD Installer Package you have installed on your
|
||
system. After that, the UHD Python package can be installed using the `pip install`
|
||
command. This will automatically download the wheel from the Python Package Index
|
||
<a href="https://pypi.org">pypi.org</a> and install it in the Python environment
|
||
you are using. To perform the mentioned steps, use the commands below:
|
||
|
||
<UHD Install Dir>\bin\uhd_config_info.exe --version #find the version of UHD
|
||
<python> -m pip install uhd==<version_from_config_info> #install matching wheel
|
||
|
||
To verify that the UHD Python package has been successfully installed, run the python
|
||
executable of your environment and import the UHD module:
|
||
|
||
<python>
|
||
>>> import uhd
|
||
|
||
If the 'import uhd' command executes without any error, you can continue \ref python_usage.
|
||
|
||
\subsubsection Troubleshooting
|
||
|
||
In case of errors or detected version mismatches, consider version alignment of
|
||
UHD Installer Package and UHD Python Package (wheel). Subsequent commands can
|
||
be used to identify the version of the UHD Python Package and to update or
|
||
install a specific version. Please make sure that you have opened a new command shell
|
||
after updating the UHD Installer Package to ensure that the new version
|
||
of the UHD binaries is used. \n
|
||
Note: For more information on how the Windows binaries (DLLs) are searched during
|
||
initialization of the UHD Python module, please refer to Python 3.8 Note in
|
||
section \ref python_install_windows.
|
||
|
||
To get the UHD version of the currently installed wheel, use:
|
||
|
||
<python> -m pip show uhd
|
||
|
||
To get a list of available UHD Python Package versions on
|
||
<a href="https://pypi.org">pypi.org</a>, use the following command:
|
||
|
||
<python> -m pip index versions uhd
|
||
|
||
To upgrade to the latest version, use:
|
||
|
||
<python> -m pip install --upgrade uhd
|
||
|
||
To install a specific version, use:
|
||
|
||
<python> -m pip install uhd==<version>
|
||
|
||
To identify the Python version you have installed, use the following command:
|
||
|
||
<python> --version
|
||
|
||
To identify supported Python versions for the UHD Python Package, you can visit
|
||
the UHD project page: <a href="https://pypi.org/project/uhd/">pypi.org/project/uhd</a>
|
||
|
||
To update to the latest or a specific UHD Installer Package, please check
|
||
documentation under \ref install_win_installer.
|
||
|
||
Note: UHD Python Packages (wheels) that do not match the UHD binaries from the
|
||
Installer Package might not work correctly at all. Those configurations are
|
||
not tested and not supported.
|
||
|
||
\subsection install_libUSB Manual Install of libUSB (optional)
|
||
|
||
If you wish to use an alternative version of LibUSB to the one provided with the installer,
|
||
you can download the latest version of libUSB from the
|
||
<a href="https://github.com/libusb/libusb/releases">LibUSB GitHub releases page</a>.
|
||
Each release includes binaries built for various platforms and compiler
|
||
versions. It’s crucial that the LibUSB binary corresponds to the platform
|
||
and compiler version used for the UHD binaries. This detail is indicated
|
||
in the name of the installer executable;
|
||
for example, uhd_4.7.0.0-release_Win64_VS2017.exe indicates it was built
|
||
for the 64-bit Windows platform using the Visual Studio 2017 compiler suite.
|
||
Copy all files from the path \\VS20XX\\MSYY\\dll within the archive to the bin folder
|
||
of the UHD installation location (by default "C:\Program Files\UHD\bin").
|
||
VS20XX is the Visual Studio version that you find in the name of the UHD installer.
|
||
YY is the bitness of your Windows version (32 or 64).
|
||
|
||
To validate that LibUSB has been successfully installed,
|
||
run uhd_find_devices from the bin folder of your UHD installation.
|
||
|
||
If the program fails to locate the LibUSB binaries an error message is displayed.
|
||
This can happen for the following reasons:
|
||
|
||
1. You’ve copied an incorrect version.
|
||
2. The binaries are not in a searchable location for the UHD binaries.
|
||
3. A conflicting LibUSB binary installed on your system which is not compatible
|
||
is detected first.
|
||
|
||
|
||
\subsection install_win_source Building from source
|
||
|
||
You can build UHD software from source. There are two choices of compilers for Windows users:
|
||
|
||
- Microsoft Visual Studio Express.
|
||
+ Users can develop with the free version.
|
||
- MinGW
|
||
+ An alternative to using a Microsoft compiler.
|
||
|
||
Refer to \ref build_instructions_windows
|
||
|
||
\section install_linux Installation on Linux
|
||
|
||
\subsection install_linux_pkgmgr Using your package manager
|
||
|
||
Most distributions provide UHD as part of their package management.
|
||
On Debian and Ubuntu systems, this will install the base UHD library, all headers
|
||
and build-specific files, as well as utilities:
|
||
|
||
sudo apt-get install libuhd-dev uhd-host
|
||
|
||
On Fedora systems, an equivalent command would be:
|
||
|
||
sudo yum install uhd uhd-devel
|
||
|
||
Live CD/DVD/USBs are not supported.
|
||
|
||
On other distributions, please refer to your package manager's documentation.
|
||
|
||
\subsection install_linux_ourbins Using binaries provided by Ettus Research
|
||
|
||
We provide UHD binary installers for Ubuntu and Fedora users for every stable release.
|
||
Typically, we will provide binaries for latest two LTS versions of Ubuntu, and for the
|
||
latest two versions of Fedora. Live CD/DVD/USBs are not supported.
|
||
|
||
The latest versions of these binaries can be downloaded from here: http://files.ettus.com/binaries/uhd_stable/latest_release/
|
||
|
||
\subsubsection install_linux_ourbins_ubuntu Ubuntu
|
||
|
||
Copy and paste these commands into your terminal. This will install UHD software as well as allow you to receive package updates.
|
||
|
||
sudo add-apt-repository ppa:ettusresearch/uhd
|
||
sudo apt-get update
|
||
sudo apt-get install libuhd-dev uhd-host
|
||
|
||
\subsubsection install_linux_ourbins_fedora Fedora
|
||
|
||
\b Note: You might want to run the following command if you're updating repositories:
|
||
|
||
yum clean metadata all
|
||
|
||
Create the file /etc/yum.repos.d/ettus.repo. Copy this into the file:
|
||
|
||
[ettus-uhd-stable-repo]
|
||
name=Ettus Research - UHD Stable $releasever-$basearchthon serial timeout
|
||
baseurl=http://files.ettus.com/binaries/uhd/repo/uhd/fedora/$releasever/$basearch
|
||
gpgcheck=0
|
||
|
||
Run the following commands:
|
||
|
||
sudo yum --enablerepo='ettus-uhd-stable-repo' install uhd
|
||
|
||
\subsection install_linux_pybombs Using PyBOMBS
|
||
|
||
This is an automated way of installing UHD from source. See also \ref build_pybombs.
|
||
|
||
\section install_osx Installation on Mac OS X
|
||
|
||
\section install_osx_macports Via MacPorts
|
||
|
||
We recommend using MacPorts and actively support UHD development on OS X via this method.
|
||
Using MacPorts, the correct hardware device images are automatically installed for you,
|
||
and there are no post install tasks. With a single command, you can be up and running in short order.
|
||
|
||
If you do not already have MacPorts installed, you will need to install it first. Make sure to follow the MacPorts shell environment changes needed such that MacPorts installed executables are found before all others. These are the only changes to the shell environment needed to execute any MacPorts-installed executable. Setting any DYLD environment variable (e.g., DYLD_LIBRARY_PATH) for general use is highly discouraged, because doing so, in our experience, leads to problems down the road that are very difficult to diagnose. OSX provides robust means for correcting DYLD-based issues even after dependencies are installed.
|
||
|
||
Once MacPorts is installed, UHD and all of its dependencies can be installed by executing
|
||
|
||
sudo port install uhd
|
||
|
||
The latest developments in UHD can be installed via
|
||
|
||
sudo port install uhd-devel
|
||
|
||
Please note that the uhd-devel port, while tested for basic compilation and functionality, is not a formal release and hence should be considered beta software which might contain bugs or major issues.
|
||
|
||
*/
|
||
// vim:ft=doxygen:
|