问题描述
我第三次在运行VMWare的Windows 10计算机上重新安装Ubuntu 20.04,同时尝试使用PlutoSDR gr_iio块安装GNU Radio Companion 3.8.每次失败都出现不同的错误.
For the third time I reinstalled Ubuntu 20.04 on a Windows 10 machine running VMWare whilst attempting to install GNU Radio Companion 3.8 with the PlutoSDR gr_iio blocks. Each time failed with a different error.
我在下面列出了我最近的尝试.任何帮助,我们将不胜感激.
I am charting my most recent attempt below. Any help is greatly appreciated.
- 在VMWare上安装了Ubuntu 20.04
- 更新的Ubuntu
-
cp ./53-adi-plutosdr-usb.rules/etc/udev/rules.d/
-
sudo服务udev重新启动
- 检查了
dmesg
的输出 - 因为我没有
〜/.ssh/config
文件,所以我运行了wget https://raw.githubusercontent.com/analogdevicesinc/plutosdr_scripts/master/ssh_config -O〜/.ssh/config
-
ssh plutosdr
添加到已知主机列表.我已验证IP和固件版本. -
sudo apt-get install libiio-utils
并验证我可以通过iio_info -n 192.168.2.1与该设备进行通讯|grep设备
产生了以下输出:
- Installed Ubuntu 20.04 on VMWare
- Updated Ubuntu
cp ./53-adi-plutosdr-usb.rules /etc/udev/rules.d/
sudo service udev restart
- checked the output of
dmesg
- Since I had no
~/.ssh/config
file I ranwget https://raw.githubusercontent.com/analogdevicesinc/plutosdr_scripts/master/ssh_config -O ~/.ssh/config
ssh plutosdr
to add to list of known hosts. I verified the IP and firmware version.sudo apt-get install libiio-utils
and verified I can talk to the device viaiio_info -n 192.168.2.1 | grep device
The following output was produced:
IIO context has 5 devices:
iio:device0: adm1177
iio:device1: ad9361-phy
18 device-specific attributes found:
attr 2: dcxo_tune_coarse ERROR: No such device (-19)
attr 4: dcxo_tune_fine ERROR: No such device (-19)
iio:device2: xadc
1 device-specific attributes found:
iio:device3: cf-ad9361-dds-core-lpc (buffer capable)
iio:device4: cf-ad9361-lpc (buffer capable)
attr 3: samples_pps ERROR: No such device (-19)
attr 3: samples_pps ERROR: No such device (-19)
我检查了ADIEngineerZone上面显示的错误,最上面的1%的人说您可以忽略这些错误". https://ez.analog.com/adieducation/university-program/f/qa/111133/missing-device-attributes-after-update-of-pluto/331921#331921
I checked the errors shown above on the ADIEngineerZone and a top 1%er said "You can ignore these errors."https://ez.analog.com/adieducation/university-program/f/q-a/111133/missing-device-attributes-after-update-of-pluto/331921#331921
所以我就那样做了(因为我找不到解决方案来解决它),然后进行了最后的检查,检查了三到八行的项目.
So I did just that (since I couldn't find a solution to resolve it) and moved on to the final check for lined items three through eight.
-
iio_readdev -n 192.168.2.1 -s 64 cf-ad9361-lpc |hexdump -x
返回的值很好
iio_readdev -n 192.168.2.1 -s 64 cf-ad9361-lpc | hexdump -x
returned values just fine
现在已经安装了Linux驱动程序,我继续检查 iio_info -s
和 iio_info -u ip:192.168.2.1
的输出.第一个返回了预期结果.第二个输出非常长,但/gaintable标记后显示了明显的错误
Now that the Linux drivers are installed I proceeded to check the output of iio_info -s
and iio_info -u ip:192.168.2.1
. The first returned expected results. The second output was terribly long but notable errors showed after the /gaintable tag
.
.
.
attr 10: multichip_sync ERROR: Permission denied (-13)
attr 11: rssi_gain_step_error value: lna_error: 0 0 0 0
mixer_error: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
gain_step_calib_reg_val: 0 0 0 0 0
.
.
.
我不确定这是否是一个问题,但是考虑到先前的可原谅的错误,我按如下所述进行了安装.
I am not sure if this is an issue, but considering the prior excusable error, I moved forward with the installation as outlined below.
我首先为GNU Radio安装依赖项.
I begin by installing dependencies for GNU Radio.
cd
sudo apt-get -y install libxml2 libxml2-dev bison flex cmake git libaio-dev libboost-all-dev swig libgmp-dev liborc-0.4-dev libusb-1.0-0-dev libserialport-dev graphviz doxygen
没有发现错误.
接下来,对于 git clone
,我使用以下前缀/usr/local
进行了安装,在设置和检查PATH时会注意这一点.
Next, for git clone
I installed using the following prefix /usr/local
, which I'll take note when setting and checking the PATH.
git clone https://github.com/analogdevicesinc/libiio.git
cd ~/libiio
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local ../
make
sudo make install
cd
git clone https://github.com/analogdevicesinc/libad9361-iio.git
cd ~/libad9361-iio
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local ../
make
sudo make install
cd
git clone https://github.com/analogdevicesinc/gr-iio.git
cd ~/gr-iio
git checkout upgrade-3.8
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local ../
make
sudo make install
sudo ldconfig
因为我遇到了gr-iio cmake
陈述的问题,
Because I ran into a problem with the gr-iio cmake
stating:
-- The CXX compiler identification is unknown
-- The C compiler identification is GNU 9.3.0
CMake Error at CMakeLists.txt:25 (project):
No CMAKE_CXX_COMPILER could be found.
我在网上阅读了,我应该更新 apt-get
,这是我应该从一开始就要做的事情,但从未在任何演练中说明.
I read online I should update apt-get
, soemthing I should of done from the beginning but never stated in any walk-through.
sudo apt-get update&&sudo apt-get install build-essential
在上述更新之后,我删除了构建文件夹,然后重新运行了gr-iio部分.
I deleted the build folder after the above update and reran the gr-iio portion.
更新后,找到了CXX编译器.但是,我没有找到程序包配置文件时遇到错误:
After the update, the CXX compiler was found. However, I did get an error not finding a package configuration file:
CMake Warning at CMakeLists.txt:90 (find_package):
By not providing "FindGnuradio.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "Gnuradio",
but CMake did not find one.
Could not find a package configuration file provided by "Gnuradio"
(requested version 3.9) with any of the following names:
GnuradioConfig.cmake
gnuradio-config.cmake
因此,我查找了两个陈述的文件,因此可以将其添加到CMAKE_MODULE_PATH中,但可以使用:找到/usr/-iname GnuradioConfig.cmake
或找到/usr/-iname gnuradio-config.cmake
So I looked for the two stated files so I can add to the CMAKE_MODULE_PATH but using:find /usr/ -iname GnuradioConfig.cmake
orfind /usr/ -iname gnuradio-config.cmake
什么也不返回...在线搜索显示我需要 sudo apt install gnuradio-dev
,所以我这样做了,然后重新运行 cmake
returned nothing... Online searching showed me I would need to sudo apt install gnuradio-dev
so I did that and reran cmake
这一次导致错误指出:
-- No package 'mpir' found
-- Could NOT find MPIR (missing: MPIRXX_LIBRARY MPIR_LIBRARY MPIR_INCLUDE_DIR)
开始安装mpir:
sudo apt-get install libgmp3-dev
并返回到另一处,删除构建目录并重新运行cmake.但是,仍然是同样的问题:
sudo apt-get install libgmp3-dev
and back to another go at removing the build directory and rerunning cmake. But, still same issue:
-无法找到MPIR(缺少:MPIRXX_LIBRARY MPIR_LIBRARY MPIR_INCLUDE_DIR)
所有在线文档都指向安装 libgmp3-dev
或 libgmp-dev
,但都不能解决此问题.
All online documentation points to installing libgmp3-dev
or libgmp-dev
but neither resolve this issue.
有什么想法吗?
推荐答案
编码为文档, gr-iio
项目不包含 GNU Radio
项目,但希望您提前进行构建.
Accoding to the documentation, the gr-iio
project doesn't include the GNU Radio
project but expects you to build it in advance.
但是,您只构建了 libiio
和 libad9361
,而不是通过 https://github.com/gnuradio/gnuradio .安装 GNU Radio
时,应该安装配置文件 gr-iio
.
However, you only built libiio
and libad9361
, but not the GNU Radio
library from https://github.com/gnuradio/gnuradio. The config file gr-iio
is complaining about should be installed when installing GNU Radio
.
关于MPIR:虽然MPIR最初是gmp的分支,但您不能安装gmp来替代MPIR,因为它们的头文件和库使用不同的名称.这就是为什么在为gmp安装开发包后仍找不到MPIR的原因.如果ubuntu不提供MPIR软件包,则必须从源代码进行编译.
Regarding MPIR: While MPIR started as a fork of gmp you can't install gmp as a replacement for MPIR, as they use different names for their headers and libraries. Which is why MPIR is still not being found after you've installed the development packages for gmp. If ubuntu doesn't provide packages for MPIR you'll have to compile it from source.
这篇关于Ubuntu 20.04在gr-iio cmake期间找不到MPIR的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!