AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 943104
Accepted
Matthieu Kints van
Matthieu Kints van
Asked: 2017-08-05 09:50:52 +0800 CST2017-08-05 09:50:52 +0800 CST 2017-08-05 09:50:52 +0800 CST

从下载的 tar.gz 构建 sigrok-cli 出错

  • 772

我从 .tar.gz 构建 sigrok-cli 时遇到问题。

昨天我安装了 sigrok 元包,效果很好。今天发现ubuntu 17.04的包和我想用的DMM不兼容。所以根据我的建议,我删除、清除并自动删除了 sigrok 和 pulseview 并“重新”开始

我下载了 sigrok-cli-0.7.0.tar.gz 并将其解压缩到我的主文件夹中。
最初我尝试按照自述文件中关于如何构建的说明进行操作,但最终没有“gitting”,只是计划通过 ./configure & make & sudo make install 构建。

但是我遇到了一些依赖问题,我需要:

  1. libsigrok
  2. libsigrokdecode

当然,在构建这些时,我遇到了其他一些依赖项。python 3 开发人员和 libzip-dev。无论如何,我设法安装了这些并构建了前两个,所以我也必须通过以下方式构建 sigrok-cli:

  1. 下载 .tar.gz 文件
  2. 将它们解压缩到单独的目录我的主目录
  3. 从这些单独的目录中,我 ./configured,make & sudo make 安装它们。但我现在相信这些最终位置错误。

在依赖方面它起作用了,不再有问题,但是当我现在尝试运行 sigrok-cli 时,我收到以下错误消息:

sigrok-cli: error while loading shared libraries:
libsigrok.so.4: cannot open shared object file: No such file or directory.

现在我知道这个文件在,~/libsigrok-0.5.0/.libs/所以程序在错误的地方寻找(或者更好的说法是文件在错误的地方)。现在从我昨天学到的东西中,我相信正确的位置在:

  1. ~/usr/bin
  2. ~/usr/local/bin。

但是当我查看这些 ~/bin 文件夹时,我找不到其他文件夹。

所以也许 libsigrok-0.5.0 和 libsigrokdecode-0.5.0 应该在文件夹 sigrok-cli-0.7.0 中。但即使这些文件夹需要在另一个位置。我不确定将它们带到那里的正确方式是什么,只是剪切/过去还是应该卸载并重新安装在正确的目录中?

command-line
  • 2 2 个回答
  • 519 Views

2 个回答

  • Voted
  1. Best Answer
    andrew.46
    2017-08-05T18:06:41+08:002017-08-05T18:06:41+08:00

    看来要达到你的目标需要大量的建筑!以下在我自己的 17.04 系统上工作,并构建了我认为是您所需的软件包:

    构建要求:

    从终端安装这些以使用以下单个命令安装构建包所需的所有依赖项:

    sudo apt-get install git build-essential make \
    autoconf automake libtool checkinstall autoconf-archive \
    pkg-config libglib2.0-dev libglibmm-2.4-dev libzip-dev \
    libusb-1.0-0-dev libftdi-dev check doxygen python-numpy \
    python-dev python-gi-dev python-setuptools swig default-jdk \
    libglib2.0-dev python3-dev
    

    创建一个构建区域:

    mkdir $HOME/sigrock_build 
    

    然后开始构建:


    库串行端口

    以下是单个命令:

    cd $HOME/sigrock_build && \
    wget http://sigrok.org/download/source/libserialport/libserialport-0.1.1.tar.gz && \
    tar xvf libserialport-0.1.1.tar.gz && \
    cd libserialport-0.1.1 && \
    ./configure && make && \
    sudo checkinstall --pakdir "$HOME/sigrock_build" --backup=no --deldoc=yes \
                      --pkgname libserialport --pkgversion "0.1.1" --fstrans=no \
                      --deldesc=yes --delspec=yes --default && \
    sudo ldconfig
    

    libsigrock

    以下是单个命令:

    cd $HOME/sigrock_build && \
    wget http://sigrok.org/download/source/libsigrok/libsigrok-0.5.0.tar.gz && \
    tar xvf libsigrok-0.5.0.tar.gz && cd libsigrok-0.5.0 && \
    ./configure && make && \
    sudo checkinstall --pakdir "$HOME/sigrock_build" --backup=no --deldoc=yes \
                      --pkgname libsigrock --pkgversion "0.5.0" --fstrans=no \
                      --deldesc=yes --delspec=yes --default && \
    sudo ldconfig
    

    libsigrokdecode

    以下是单个命令:

    cd $HOME/sigrock_build && \
    wget http://sigrok.org/download/source/libsigrokdecode/libsigrokdecode-0.5.0.tar.gz && \
    tar xvf libsigrokdecode-0.5.0.tar.gz && cd libsigrokdecode-0.5.0 && \
    ./configure && make && \
    sudo checkinstall --pakdir "$HOME/sigrock_build" --backup=no --deldoc=yes \
                      --pkgname libsigrockdecode --pkgversion "0.5.0" --fstrans=no \
                      --deldesc=yes --delspec=yes --default && \
    sudo ldconfig
    

    sigrock-cli

    以下是单个命令:

    cd $HOME/sigrock_build && \
    wget http://sigrok.org/download/source/sigrok-cli/sigrok-cli-0.7.0.tar.gz && \
    tar xvf sigrok-cli-0.7.0.tar.gz && cd sigrok-cli-0.7.0 && \
    ./configure && make && \
    sudo checkinstall --pakdir "$HOME/sigrock_build" --backup=no --deldoc=yes \
                      --pkgname sigrok-cli --pkgversion "0.7.0" --fstrans=no \
                      --deldesc=yes --delspec=yes --default && \
    sudo ldconfig
    

    最后结果:

    在我的 17.04 系统上,这显示:

    andrew@ilium:~$ sigrok-cli --version
    sigrok-cli 0.7.0
    
    Libraries and features:
    - libsigrok 0.5.0/4:0:0 (rt: 0.5.0/4:0:0).
     - Libs:
      - glib 2.52.0 (rt: 2.52.0/5200:0)
      - libzip 1.1.2
      - libserialport 0.1.1/1:0:1 (rt: 0.1.1/1:0:1)
      - libusb-1.0 1.0.21.11156
      - libftdi 0.20
      - Host: x86_64-pc-linux-gnu, little-endian.
      - SCPI backends: TCP, RPC, serial, USBTMC.
    - libsigrokdecode 0.5.0/4:0:0 (rt: 0.5.0/4:0:0).
     - Libs:
      - glib 2.52.0 (rt: 2.52.0/5200:0)
      - Python 3.5.3 / 0x30503f0 (API 1013, ABI 3)
      - Host: x86_64-pc-linux-gnu, little-endian.
    andrew@ilium:~$ 
    

    并希望你会得到相同的结果:)

    • 3
  2. Matthieu Kints van
    2017-08-06T03:06:19+08:002017-08-06T03:06:19+08:00

    Andrew.46 的回答非常有帮助(实际上更是如此)。

    但与此同时,我发现了一些我想添加的额外信息,并且不希望它隐藏在评论中,所以我决定添加这个答案,它只会增加 andrew.46 的广泛答案。

    我将根据我在此过程中学到的东西进行更新,希望其他人可以受益。

    1) ut71(c) 由 serial-dmm 驱动程序支持。
    2) dmm 使用不需要 libsigrokdecode(但怀疑它也会有害)
    3) dmm 尚不支持 Pulseview,但将在(不久的将来
    。4)可以使用 sigrok-meter,但这是在
    据开发商称 ,目前还没有准备好日常使用。

    • https://sigrok.org/wiki/Sigrok-meter。请注意依赖关系,

    sigrok-meter 可以使用这个单一命令安装正确的依赖关系。

    cd $HOME/sigrock_build && \  
    sudo -H apt-get install python-qt4 pyqt4-dev-tools python-pip && \  
    sudo -H pip install pyqtgraph && \  
    git clone git://sigrok.org/sigrok-meter && \  
    cd sigrok-meter && \  
    ./configure && make && \  
    sudo checkinstall --pakdir "$HOME/sigrock_build" --backup=no --deldoc=yes \  
                      --pkgname sigrok-meter --fstrans=no \  
                      --deldesc=yes --delspec=yes --default && \  
    sudo ldconfig
    

    虽然我不是 100% 在“checkinstall”行上,但如果错了,请纠正我!

    安装后,当使用 ut71c 和 ut-do4 USB 电缆时,您可以通过以下方式运行程序:

    cd "buildfolder"
    ./sigrok-meter -d uni-t-ut71c-ser:conn=1a86.e008 --continuous or --frames 5
    

    您是否使用不同的电缆 ut-do2 plus r232 连接到 USB,通过以下方式找到有问题的 USB 设备:lsusb 并将 1a86.e008 替换为正确的地址。此外,当使用不同的 dmm 时:用正确的驱动程序替换驱动程序。您可以找到所有支持的驱动程序

    ./sigrok-cli -L   
    

    不幸的是,在 linux 下与 dmm 连接存在问题,因为 linux 内核在不使用时不会像 windows 内核那样让 USB 设备进入睡眠状态。我之前在linux下的freecad上使用3d connexion space mouse也遇到过类似的问题。

    要解决此问题,有一个解决方法:运行您将在下面的链接中找到的脚本。每次运行 sigrok-cli 之前运行此脚本。

    • http://sigrok.org/wiki/Device_cables/Info#UNI-T_UT-D04

    这个怎么做?
    1)创建一个 txt 文件(没有扩展名,如果你真的想的话,可以使用 .sh)
    2)复制这个脚本,注意所有正确的缩进。3)保存
    4)通过属性选择以允许作为可执行文件运行。
    5)运行:sd /location/of/file && ./filename && ./sigrok-cli ......

    这应该让您使用所有所需选项运行程序。

    请享用!

    但在结束之前,我要特别感谢这个论坛的 Andrew.46 和 eevblog 论坛的 abraxa 和 alm。

    • 1

相关问题

  • 如何从命令行仅安装安全更新?关于如何管理更新的一些提示

  • 如何从命令行刻录双层 dvd iso

  • 如何从命令行判断机器是否需要重新启动?

  • 文件权限如何工作?文件权限用户和组

  • 如何在 Vim 中启用全彩支持?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve