web-dev-qa-db-ja.com

pip3経由でgattlibをダウンロード中にエラーが発生しました

Ubuntu 16.0464ビットOSを使用しています
走ったとき

$ Sudo pip3 install gattlib

このエラーメッセージが表示されました

/ usr/bin/ld:-lboost_python-py34が見つかりません
collect2:エラー:ldが1つの終了ステータスを返しました
エラー:コマンド 'x86_64-linux-gnu-g ++'が終了ステータス1で失敗しました

私はこれを解決する方法をグーグルで試しましたが、何もうまくいきません
Pythonでgatttoolを使用したいので、これをインストールする必要があります
どうすればこれを解決できますか?

PS。私はすでにlibboost-devをダウンロードしました

10
seok hyun Ko
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 .
19

そして、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 .
4
Mike666

ベンジャミンのソリューションが機能しない場合は、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 .
2
James Parker

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.ioUbuntu「バイオニックビーバー」

0
TRicks43

これは、Raspberry 2、Rasbian Buster、およびPython 3で機能します。Python 3ライブラリの名前は異なるようです。「boost_python_py34を置き換えることでバグを簡単に解決できます。 setup.pyでブーストライブラリを指定する場合は、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
0
user12657834

RPI-3Bで次のエラーが発生しました。
cc1plus:警告:コマンドラインオプション '-Wstrict-prototypes'はC/ObjCには有効ですが、C++には有効ではありませんsrc/gattservices.cpp:6:33:致命的なエラー:bluetooth/bluetooth.h:そのようなファイルはありませんまたはディレクトリ#include ^コンパイルが終了しました。エラー:コマンド 'arm-linux-gnueabihf-gcc'が終了ステータス1で失敗しました

[1]次のコマンドを実行すると、解決に役立ちました。

Sudo apt-get install libbluetooth-dev

[2]また、フォルダ「gattlib-0.20150805」を削除し、「tar xvzf ...」を使用して再作成すると、ファイルに残っている以前のコンパイルをクリーンアップするのに役立ちました。

0
Steve