升级ubuntu14.04 bluez版本至5.25

来源:互联网 发布:淘宝天猫运营工作内容 编辑:程序博客网 时间:2024/06/04 19:52

环境介绍:ubuntu14.04 简易安装 bluez4.101

安装编译思路

1.由于我不知道5.25的依赖环境,所以我首先安装bluez5.25

./configure --prefix=/bluez/

configure: error: GLib >= 2.28 is required

1. 根据报错,安装glib 2.30 

下载地址:http://ftp.gnome.org/pub/gnome/sources/glib/2.30/

./configure --prefix=/bluez/

configure: error: *** Working zlib library and headers not found ***

2. 根据报错,安装zlib 1.2.11  

下载地址:http://zlib.net/fossils/

./configure --prefix=/bluez/

make

make install

3. 安装zlib成功,安装glib

./configure --prefix=/bluez/

configure: error: *** Working zlib library and headers not found ***

4. 系统报错,重新安装glib (选择加载的的include文件和库)

./configure --prefix=/bluez/ CFLAGS=-I/bluez/include LDFLAGS=-L/bluez/lib

//CFLAGS=-I include目录  CPPFLAGS(c++)

//LDFLAGS=-L库目录 

configure: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!

configure: WARNING: zlib.h: proceeding with the compiler's result

configure: error: Package requirements (libffi >= 3.0.0) were not met:

No package 'libffi' found

5. 根据报错,安装libffi3.0.13

下载地址 ftp://sourceware.org/pub/libffi/

./configure --prefix=/bluez/

make

make install

7安装glib

./configure --prefix=/bluez/ CFLAGS=-I/bluez/include LDFLAGS=-L/bluez/lib

还是NO find libffi

export PKG_CONFIG_LIBDIR=/bluez/lib/pkgconfig  //执行这句使编译器寻找到对应的库

8.glib安装成功,继续安装bluez5.28

./configure --prefix=/bluez/ CFLAGS=-I/bluez/include LDFLAGS=-L/bluez/lib

configure: error: D-Bus >= 1.6 is required

9.根据系统报错信息,安装D-bus 1.9.0  

下载地址:https://dbus.freedesktop.org/releases/dbus/

./configure --prefix=/bluez/ CFLAGS=-I/bluez/include LDFLAGS=-L/bluez/lib

configure: error: Explicitly requested expat but expat not found

10.根据系统报错信息,安装expat  

下载地址http://sourceforge.net/projects/expat/files/expat/2.1.0/expat-2.1.0.tar.gz

./configure --prefix=/bluez/

make

make install

11.安装dbus

./configure --prefix=/bluez/ CFLAGS=-I/bluez/include LDFLAGS=-L/bluez/lib

make

make install

12.安装 bluez5.28

configure: error: libudev >= 172 is required

 

13.安装libudev //http://pkgs.fedoraproject.org/repo/pkgs/udev/  (别人建议屏蔽掉)

./configure --prefix=/bluez/ CFLAGS=-I/bluez/include LDFLAGS=-L/bluez/lib

configure: error: Package requirements (blkid >= 2.20) were not met:(由于没有找到libblkid安装包,所以在bluez安装的时候屏蔽掉)

14.好吧!blkid安装包没找到,暂时先屏蔽掉libudev。继续安装bluez

./configure --prefix=/bluez/ PKG_CONFIG_PATH=/bluez/lib/pkgconfig CFLAGS=-I/bluez/include LDFLAGS=-L/bluez/lib --disable-udev --disable-cups --disable-obex --enable-library

configure: error: libical is required

15.安装 libical

//http://downloads.sourceforge.Net/freeassociation/libical-1.0.tar.gz

bluez的编译需要libical的支持,编译libical需要cmakeg++,所以系统中需要这两个工具,可以运行下面两个命令进行安装,需要保持网络畅通。

sudo apt-get install cmake
sudo apt-get install g++-arm-linux-gnueabi

 

#export CC=i686-linux-gnu-gcc

#export CXX=i686-linux-gnu-gcc

#cmake -DCMAKE_INSTALL_PREFIX=/bluez/  (安装目录)

注意这里的命令是直接在命令行执行的。

编译:

./configure --prefix=/bluez/ CFLAGS=-I/bluez/include LDFLAGS=-L/bluez/lib

make

make install

简单安装步骤:

./configure --prefix=/bluez/ CFLAGS=-I/bluez/include LDFLAGS=-L/bluez/lib

cmake -DCMAKE_INSTALL_PREFIX=/bluez/ 

make

make install 

16.安装完libcal,继续安装bluez5.25

./configure --prefix=/bluez/ PKG_CONFIG_PATH=/bluez/lib/pkgconfig CFLAGS=-I/bluez/include LDFLAGS=-L/bluez/lib --disable-udev

configure: error: readline header files are required

17.根据系统报错,安装readline(依赖ncurses

18.下载地址ftp://ftp.cwru.edu/pub/bash/readline-6.3.tar.gz

. /configure --prefix=/bluez/ bash_cv_wcwidth_broken=yes

make 错误

make SHLIB_LIBS=-lncurses 

error: make SHLIB_LIBS=-lncurses:未找到命令 

17.根据系统报错,安装ncurses-5.9  

下载地址:http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.9.tar.gz

 

./configure --prefix=/bluez/ CFLAGS=-I/bluez/include LDFLAGS=-L/bluez/lib 

configure: error: C++ preprocessor "/lib/cpp" fails sanity check缺少相对应的库

18.根据系统信息喜事我缺少C++

sudo apt-get install build-essential  安装基本库

 

./configure --prefix=/bluez/ CFLAGS=-I/bluez/include LDFLAGS=-L/bluez/lib

(如果实在编译不过请屏蔽掉C++

./configure --prefix=/bluez/ CFLAGS=-I/bluez/include LDFLAGS=-L/bluez/lib--without-cxx

make

make install

18.安装完ncurses安装readline

. /configure --prefix=/bluez/ bash_cv_wcwidth_broken=yes

make  SHLIB_LIBS=-lncurses

make install

19.安装bluez

./configure --prefix=/bluez/ PKG_CONFIG_PATH=/bluez/lib/pkgconfig PKG_CONFIG_PATH=/bluez/lib/pkgconfig CFLAGS=-I/bluez/include LDFLAGS=-L/bluez/lib --disable-systemd --disable-udev --enable-library

 

make

 

主要时链接库的问题,不知道为什么不加入,可能再编译readline时未加入。解决方法是:


#在makefile20042205221122212227行添加-lncurses库的应用即可。

#make install DESTDIR=/bluez/

(注:绿色为可选信息)

更为通用的解决方式:

进入bluez目录

grep Makefile

寻找readline 在后面增加-lncurses

保存退出。

make 

make install

 

简单操作步骤

1.下载 解压进入zlib目录

#./configure --prefix=/bluez/

#make

#make install

2.下载 解压进入libffi目录

#./configure --prefix=/bluez/

#make

#make install

3.下载 解压 进入glib目录

 export PKG_CONFIG_LIBDIR=/bluez/lib/pkgconfig

./configure --prefix=/bluez/ CFLAGS=-I/bluez/include LDFLAGS=-L/bluez/lib

//或者 ./configure --prefix=/bluez/ PKG_CONFIG_LIBDIR=/bluez/lib/pkgconfig CFLAGS=-I/bluez/include LDFLAGS=-L/bluez/lib(未验证)

 

make

make install

4.下载 解压 进入expat目录

#./configure --prefix=/bluez/

#make

#make install

5.下载 解压 进入dbus目录

./configure --prefix=/bluez/ PKG_CONFIG_LIBDIR=/bluez/lib/pkgconfig CFLAGS=-I/bluez/include LDFLAGS=-L/bluez/lib

make

make install

6.下载 解压 进入libical目录

cmake -DCMAKE_INSTALL_PREFIX=/bluez/

make

make install

7. 下载 解压 进入libical目录

./configure --prefix=/bluez/

make

make install

8. 下载 解压 进入readline目录

 export PKG_CONFIG_LIBDIR=/bluez/lib/pkgconfig

./configure --prefix=/bluez/ bash_cv_wcwidth_broken=yes

make SHLIB_LIBS=-lncurses

make install

9. 下载 解压 进入bluez目录

export PKG_CONFIG_LIBDIR=/bluez/lib/pkgconfig

./configure --prefix=/bluez/ PKG_CONFIG_PATH=/bluez/lib/pkgconfig PKG_CONFIG_PATH=/bluez/lib/pkgconfig CFLAGS=-I/bluez/include LDFLAGS=-L/bluez/lib --disable-systemd --disable-udev --disable-cups --disable-obex --enable-library

make

error

主要时链接库的问题,不知道为什么不加入,可能再编译readline时未加入。解决方法是:

makefile20042205221122212227行添加-lncurses库的应用即可。

make install //make install DESTDIR=/bluez/

 

 

 

 

 

 

 

 

 

参考网页http://blog.csdn.net/wang_shuai_ww/article/details/41774477)

原创粉丝点击