Ubuntu 20.04在gr-iio cmake期间找不到MPIR [英] Ubuntu 20.04 Could NOT find MPIR during gr-iio cmake

查看:221
本文介绍了Ubuntu 20.04在gr-iio cmake期间找不到MPIR的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我第三次在运行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.

  1. 在VMWare上安装了Ubuntu 20.04
  2. 更新的Ubuntu
  3. cp ./53-adi-plutosdr-usb.rules/etc/udev/rules.d/
  4. sudo服务udev重新启动
  5. 检查了 dmesg
  6. 的输出
  7. 因为我没有〜/.ssh/config 文件,所以我运行了 wget https://raw.githubusercontent.com/analogdevicesinc/plutosdr_scripts/master/ssh_config -O〜/.ssh/config
  8. ssh plutosdr 添加到已知主机列表.我已验证IP和固件版本.
  9. sudo apt-get install libiio-utils 并验证我可以通过 iio_info -n 192.168.2.1与该设备进行通讯|grep设备产生了以下输出:
  1. Installed Ubuntu 20.04 on VMWare
  2. Updated Ubuntu
  3. cp ./53-adi-plutosdr-usb.rules /etc/udev/rules.d/
  4. sudo service udev restart
  5. checked the output of dmesg
  6. Since I had no ~/.ssh/config file I ran wget https://raw.githubusercontent.com/analogdevicesinc/plutosdr_scripts/master/ssh_config -O ~/.ssh/config
  7. ssh plutosdr to add to list of known hosts. I verified the IP and firmware version.
  8. sudo apt-get install libiio-utils and verified I can talk to the device via iio_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.

  1. iio_readdev -n 192.168.2.1 -s 64 cf-ad9361-lpc |hexdump -x 返回的值很好
  1. 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 or find /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.

有什么想法吗?

推荐答案

编码为

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 ,而不是通过

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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆