在Ubuntu上编译BlueZ:配置错误

时间:2018-07-16 17:20:30

标签: ubuntu bluez

我尝试编译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以及为什么要使用它(真要知道),但是真正的问题是关于要消除此错误而要安装的缺少依赖项。

2 个答案:

答案 0 :(得分:3)

如果您来到这里,一个原因应该是您需要启用网状协议的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:如果需要--enable-deprecated,请使用hcitool,因为在最新的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

答案 1 :(得分:1)

我相信您需要安装嵌入式Linux库。

Embedded Linux Library

可能是Microsoft嵌入式学习库,但可能性不大。

Microsoft/ELL