从源头建立RedHawk ---找到安装uhd3.5.3的代码

时间:2016-03-08 02:25:12

标签: build redhawksdr usrp

我正在尝试从源代码构建RedHawk安装并尝试用更高版本的uhd替换uhd3.5.3用于USRP_UHD模块。我看到了USRP_UHD源代码,但是找不到uhd3.5.3源代码。我猜它可能只是使用“yum install ...”来下载和安装uhd主机代码并支持库。有人知道这个代码在redhawk_src_2.0包中的位置吗?或者是否有一种有效的方法在linux中搜索redhawk_src_2.0包中的所有文件?

提前致谢!

2 个答案:

答案 0 :(得分:2)

首先,克隆uhd库:

git clone git://github.com/EttusResearch/uhd.git

然后查看3.9.2标签:

git checkout release_003_009_002

使用Ettus(http://files.ettus.com/manual/page_build_guide.html)中的说明,安装Fedora部分下列出的依赖项:

sudo yum -y install boost-devel libusb1-devel python-mako doxygen python-docutils cmake make gcc gcc-c++

接下来,使用CMake生成Makefile:

cd <uhd-repo-path>/host
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/opt/uhd ../

我建议首先使用备用安装前缀来保留3.5.3版本,以防万一,但如果您不想,请运行:

cmake ../

而不是带有-DCMAKE_INSTALL_PREFIX标志的较长命令。 (注意:我无法通过cmake找到已安装的升级版本,因此您可能需要对此进行一些其他研究,因为它本身可能是一个完全不同的stackoverflow帖子)

现在构建并安装uhd库:

make
make test
sudo make install

现在已经安装了库,您应该编辑USRP_UHD / cpp / configure.ac,以便PKG_CONFIG_PATH指向您的安装前缀(在上面的标志中指定的那个,或者如果您执行了默认设置,只需保留它) ,因为它应该已经指向/ usr / local / lib / pkgconfig)。同样在configure.ac文件中,请确保将uhd版本号更改为3.9.2。

现在您应该能够重建USRP_UHD设备:

./reconf && ./configure && make install

我不保证设备将针对新版本的uhd库进行构建,这取决于在支持的版本和最新版本之间从库中删除的(如果有的话)已被弃用的内容。

最后,如果您成功完成所有这些步骤并且指定了非标准安装前缀,则必须将此前缀添加到LD_LIBRARY_PATH或/etc/ld.so.conf.d/脚本中以便设备正确执行。

答案 1 :(得分:0)

澄清 - 按照pwolframs说明从源代码安装UHD v3.9.3之后,您可以按照Redhawk手册附录B从源代码构建Redhawk。 UHD v3.5.3没有与Redhawk源代码一起打包,只有Redhawk RPM,在从源代码构建UHD和Redhawk时忽略所有这些RPM。