【问题标题】:got error while download gattlib via pip3通过 pip3 下载 gattlib 时出错
【发布时间】:2023-04-02 10:50:01
【问题描述】:

我使用 Ubuntu 16.04 64 位操作系统
当我跑步时

$ sudo pip3 install gattlib

我收到此错误消息

/usr/bin/ld: 找不到 -lboost_python-py34
collect2:错误:ld 返回 1 个退出状态
错误:命令 'x86_64-linux-gnu-g++' 失败,退出状态为 1

我尝试在谷歌上搜索如何解决这个问题,但对我没有任何帮助
我想在 python 中使用 gatttool,所以我需要安装这个
我该如何解决这个问题?

PS。我已经下载了 libboost-dev

【问题讨论】:

    标签: python-3.x ubuntu-16.04 gatt


    【解决方案1】:
    pip3 download gattlib
    tar xvzf ./gattlib-0.20150805.tar.gz
    cd gattlib-0.20150805/
    sed -ie 's/boost_python-py34/boost_python-py35/' setup.py
    pip3 install .
    

    【讨论】:

    【解决方案2】:

    对于 python 3.7 你应该这样做:

    pip3 download gattlib
    tar xvzf ./gattlib-0.20150805.tar.gz
    cd gattlib-0.20150805/
    sed -ie 's/boost_python-py34/boost_python37/' setup.py
    pip3 install .
    

    【讨论】:

      【解决方案3】:

      如果 Benjamin 的解决方案不起作用,请尝试将 35 更改为 36。即尝试以下代码。

      pip3 download gattlib
      tar xvzf ./gattlib-0.20150805.tar.gz
      cd gattlib-0.20150805/
      sed -ie 's/boost_python-py34/boost_python-py36/' setup.py
      pip3 install .
      

      【讨论】:

        【解决方案4】:

        我在 RPI-3B 上遇到以下错误:
        cc1plus:警告:命令行选项“-Wstrict-prototypes”对 C/ObjC 有效,但对 C++ 无效 src/gattservices.cpp:6:33: 致命错误: bluetooth/bluetooth.h: 没有这样的文件或目录 #包括 ^ 编译终止。 错误:命令“arm-linux-gnueabihf-gcc”失败,退出状态为 1

        [1] 运行以下命令帮助我解决了:

        sudo apt-get install libbluetooth-dev

        [2] 同时删除文件夹 'gattlib-0.20150805' 并再次使用 'tar xvzf ...' 重新创建它,有助于清理之前编译遗留的文件。

        【讨论】:

          【解决方案5】:

          这适用于 Raspberry 2、Rasbian Buster 和 Python 3。请注意,Python 3 库似乎有不同的命名“在 setup.py 中指定 boost 库时,可以通过将 boost_python_py34 替换为 boost_python3 轻松解决该错误。”

          sed -ie 's/boost_python-py37/boost_python3/' setup.py
          

          图书馆:

          /usr/lib/arm-linux-gnueabihf/libboost_python3.a
          /usr/lib/arm-linux-gnueabihf/libboost_python3-py37.a
          /usr/lib/arm-linux-gnueabihf/libboost_python3-py37.so
          /usr/lib/arm-linux-gnueabihf/libboost_python3.so
          

          【讨论】:

            【解决方案6】:

            遵循 PyGattlib DEPENDS 所有依赖项都包括 pkg-config 以“管理库的编译和链接标志”。这解决了

            /usr/bin/ld: cannot find -lboost_python-py36
            

            我更新了我的包安装依赖项并且它工作正常!

            RUN install_packages \
              python3-dev \
              libbluetooth-dev \
              libboost-python-dev \
              libboost-thread-dev \
              libglib2.0-dev \
              pkg-config
            
            RUN python3 -m pip install pygattlib
            

            Docker Balena.io Ubuntu“仿生海狸”

            【讨论】:

              猜你喜欢
              • 2016-03-28
              • 1970-01-01
              • 1970-01-01
              • 2019-03-30
              • 1970-01-01
              • 1970-01-01
              • 2011-05-20
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多