我尝试编译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以及为什么要使用它(真要知道),但是真正的问题是关于要消除此错误而要安装的缺少依赖项。
答案 0 :(得分:3)
如果您来到这里,一个原因应该是您需要启用网状协议的bluez。
这是适用于ubuntu 18.04和bluez 5.50的食谱。
我没有找到ELL的打包版本,所以我从here下载了最新的ELL版本。
> tar xvf ~/Downloads/ell-0.6.tar.gz
> cd ell-0.6
> ./configure --prefix=/usr
> make
> sudo make install
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)