在buildroot上交叉编译bluez-5.46

本文介绍了如何在Ubuntu 16.04.1上使用buildroot-2017.08进行bluez-5.46的交叉编译。编译过程中遇到的依赖问题,如dbus、libglib2等,通过修改buildroot的.config文件设置相关依赖为y来解决。此外,还提到了在遇到新编译项如BR2_PACKAGE_BUSTLE时的处理方法,以及解决gconvert.c编译错误的技巧。文章详细记录了从开始到编译完成的整个过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境说明:
编译平台:在Ubuntu16.04.1上使用buildroot-2017.08
编译结果运行平台:armv7l架构芯片,Linux内核版本4.9.84
bluez版本:bluez-5.46

整体思路:直接编译bluez包,根据buildroot的提示,一步一步添加编译bluez所需要的各个依赖

1、查看buildroot-2017.08/package/bluez5_utils/Config.in(这只是我的目录,你根据自己的目录对应起来,后面的目录也要对应到自己的目录,以后不再说明
第一行如下:
config BR2_PACKAGE_BLUEZ5_UTILS
说明要编译bluez5则对应要把buildroot/.config文件里的BR2_PACKAGE_BLUEZ5_UTILS设为y
在buildroot-2017.08/.config文件里找的合适位置,设置 BR2_PACKAGE_BLUEZ5_UTILS=y,我设置的位置对应如下

1654 # Networking applications
1655 #
1656 # BR2_PACKAGE_AICCU is not set
1657 # BR2_PACKAGE_AIRCRACK_NG is not set
1658 # BR2_PACKAGE_APACHE is not set
1659 # BR2_PACKAGE_ARGUS is not set
1660 # BR2_PACKAGE_ARP_SCAN is not set
1661 # BR2_PACKAGE_ARPTABLES is not set
1662 # BR2_PACKAGE_ATFTP is not set
1663 # BR2_PACKAGE_AVAHI is not set
1664 # BR2_PACKAGE_AXEL is not set
1665 # BR2_PACKAGE_BABELD is not set
1666 # BR2_PACKAGE_BANDWIDTHD is not set
1667 # BR2_PACKAGE_BATCTL is not set
1668 # BR2_PACKAGE_BCUSDK is not set
1669 # BR2_PACKAGE_BIND is not set
1670 # BR2_PACKAGE_BLUEZ_TOOLS is not set
1671 # BR2_PACKAGE_BLUEZ_UTILS is not set
1672 BR2_PACKAGE_BLUEZ5_UTILS=y

然后在buildroot-2017.08下执行make

2、make后提示如下
Makefile:539: *** dbus is in the dependency chain of bluez5_utils that has added it to its _DEPENDENCIES variable without selecting it or depending on it from Config.in。 停止。
Makefile:79: recipe for target ‘_all’ failed
解决:查看buildroot-2017.08/package/bluez5_utils/bluez5_utils.mk文件
发现依赖dbus,如下:
BLUEZ5_UTILS_DEPENDENCIES = dbus libglib2
所以要把buildroot下的.config里的dbus功能对应项设为y
查看buildroot-2017.08/package/dbus/Config.in
找到dbus功能的对应名为 BR2_PACKAGE_DBUS 如下:
config BR2_PACKAGE_DBUS
修改buildroot下的.config文件
找到文件里BR2_PACKAGE_DBUS 项,原为:

BR2_PACKAGE_DBUS is not set

修改为:
BR2_PACKAGE_DBUS =y
然后继续make编译

3、make后提示
Makefile:539: *** libglib2 is in the dependency chain of bluez5_utils that has added it to its _DEPENDENCIES variable without

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值