在 ubuntu 上编译 BlueZ:配置错误
Compile BlueZ on ubuntu: configure error
我尝试为 ubuntu 18.04 编译 bluez,从 here 下载最新版本 (5.50)。
configure
命令:
./configure --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc --localstatedir=/var --enable-mesh
失败消息:
...
checking for ELL... no
configure: error: ell library >= 0.3 is required
我忽略了什么是 ELL 以及为什么使用它(很高兴知道),但真正的问题是关于缺少安装依赖项以消除此错误。
我相信您需要安装嵌入式 Linux 库。
可能是 Microsoft 嵌入式学习库,但可能性不大。
如果你来这里,一个原因应该是你需要启用网状协议的 bluez。
这是对我适用于 ubuntu 18.04 和 bluez 5.50 的方法。
构建并安装 ELL
我没有找到 ELL 的打包版本,所以我从 here 下载了最新的 ELL 版本。
> tar xvf ~/Downloads/ell-0.6.tar.gz
> cd ell-0.6
> ./configure --prefix=/usr
> make
> sudo make install
构建并安装 Bluez
bluez 可从 here 下载。
> tar xvf ~/Downloads/bluez-5.50.tar.xz
> cd bluez-5.50
# install required dependencies
> sudo apt install libdbus-1-dev libudev-dev libical-dev libreadline-dev libjson-c-dev
> ./configure --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc --localstatedir=/var --enable-mesh --enable-deprecated
> make
> sudo make install
注意 1:如果需要 hcitool
,请使用 --enable-deprecated
,因为它在最近的 bluez 版本中已被弃用。
注意 2:在 运行 meshctl
之前确保 bluetooth
服务是 运行:
> systemctl status bluetooth
# if not running:
> systemctl start bluetooth
# if start fails with
# Failed to start bluetooth.service: Unit bluetooth.service is masked.
> systemctl unmask bluetooth
我尝试为 ubuntu 18.04 编译 bluez,从 here 下载最新版本 (5.50)。
configure
命令:
./configure --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc --localstatedir=/var --enable-mesh
失败消息:
...
checking for ELL... no
configure: error: ell library >= 0.3 is required
我忽略了什么是 ELL 以及为什么使用它(很高兴知道),但真正的问题是关于缺少安装依赖项以消除此错误。
我相信您需要安装嵌入式 Linux 库。
可能是 Microsoft 嵌入式学习库,但可能性不大。
如果你来这里,一个原因应该是你需要启用网状协议的 bluez。
这是对我适用于 ubuntu 18.04 和 bluez 5.50 的方法。
构建并安装 ELL
我没有找到 ELL 的打包版本,所以我从 here 下载了最新的 ELL 版本。
> tar xvf ~/Downloads/ell-0.6.tar.gz
> cd ell-0.6
> ./configure --prefix=/usr
> make
> sudo make install
构建并安装 Bluez
bluez 可从 here 下载。
> tar xvf ~/Downloads/bluez-5.50.tar.xz
> cd bluez-5.50
# install required dependencies
> sudo apt install libdbus-1-dev libudev-dev libical-dev libreadline-dev libjson-c-dev
> ./configure --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc --localstatedir=/var --enable-mesh --enable-deprecated
> make
> sudo make install
注意 1:如果需要 hcitool
,请使用 --enable-deprecated
,因为它在最近的 bluez 版本中已被弃用。
注意 2:在 运行 meshctl
之前确保 bluetooth
服务是 运行:
> systemctl status bluetooth
# if not running:
> systemctl start bluetooth
# if start fails with
# Failed to start bluetooth.service: Unit bluetooth.service is masked.
> systemctl unmask bluetooth