远程编译 BlueZ ARM交叉编译环境配置(-)----PASS


最终在211/212 server中验证完毕。

tar.gz :tar -xzvf  

1.Compile zlib

wget http://zlib.net/zlib-1.2.8.tar.gz
配置:./configure --prefix=/mnt/fileroot/vlsi.sh/Boatman/bluez_install 

然后手动修改Makefile如下:
修改Makefile:
CC=arm-none-linux-gnueabi-gcc
LDSHARED=arm-none-linux-gnueabi-gcc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map
CPP=arm-none-linux-gnueabi-gcc-E
AR=arm-none-linux-gnueabi-ar
RANLIB=arm-none-linux-gnueabi-ranlib

编译:

make

make install

2. libffi-3.0.13

源码:wget ftp://sourceware.org/pub/libffi/libffi-3.0.13.tar.gz
配置:./configure --host=arm-none-linux-gnueabi --prefix=/mnt/fileroot/vlsi.sh/Boatman/bluez_install

编译:

make

make install

3.glib

配置:./configure --host=arm-none-linux-gnueabi --prefix=/home/boatman/my_install/bluez5/PKG_CONFIG_PATH=/home/boatman/my_install/bluez5/lib/pkgconfig  glib_cv_stack_grows=no glib_cv_uscore=yes ac_cv_func_posix_getpwuid_r=yes ac_cv_func_posix_getgrgid_r=yes

./configure --host=arm-none-linux-gnueabi --prefix=/home/boatman/my_install/bluez5/ --cache-file=arm-linux.cache 

(

#echo ac_cv_type_long_long=yes>arm-linux.cache

#echo glib_cv_stack_grows=no>>arm-linux.cache
#echo glib_cv_uscore=no>>arm-linux.cache
#echo ac_cv_func_posix_getpwuid_r=yes>>arm-linux.cache
#echo ac_cv_have_abstract_sockets=yes >> arm-linux.cache
)

using 2.28. (downloaded before)
./configure --host=arm-none-linux-gnueabi --prefix=/home/boatman/my_install/bluez5/ --cache-file=arm-linux.cache
./configure --host=arm-none-linux-gnueabi --prefix=/home/boatman/my_install/bluez5/PKG_CONFIG_PATH=/home/boatman/my_install/bluez5/lib/pkgconfig  glib_cv_stack_grows=no glib_cv_uscore=yes ac_cv_func_posix_getpwuid_r=yes ac_cv_func_posix_getgrgid_r=yes
编译:

2.46.2
./configure --host=arm-none-linux-gnueabi --prefix=/mnt/fileroot/vlsi.sh/Boatman/bluez_install/ PKG_CONFIG_PATH=/mnt/fileroot/vlsi.sh/Boatman/bluez_install/lib/pkgconfig  glib_cv_stack_grows=no glib_cv_uscore=yes ac_cv_func_posix_getpwuid_r=yes ac_cv_func_posix_getgrgid_r=yes

make

make install

4. D-Bus

D-Bus daemon会需要expat XML parser 库,所以这里需要先编译expat库。如果不安装会出现下面的错误:

checking for XML_ParserCreate_MM in -lexpat... no
configure: error: Explicitly requested expat but expat not found

步骤如下

4. expat-2.1.0

源码:wget http://sourceforge.net/projects/expat/files/expat/2.1.0/expat-2.1.0.tar.gz

配置:./configure --host=arm-none-linux-gnueabi --prefix=/mnt/fileroot/vlsi.sh/Boatman/bluez_install/

编译:

make

make install

5. DBUS

源码:wget http://dbus.freedesktop.org/releases/dbus/dbus-1.10.4.tar.gz

配置:./configure CFLAGS=-I/mnt/fileroot/vlsi.sh/Boatman/bluez_install/include LDFLAGS=-L/mnt/fileroot/vlsi.sh/Boatman/bluez_install/lib  --prefix=/mnt/fileroot/vlsi.sh/Boatman/bluez_install/   --host=arm-none-linux-gnueabi --enable-abstract-sockets

编译:

make

make install

6. ncurses-5.9

源码:wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.9.tar.gz

配置:./configure --host=arm-none-linux-gnueabi --prefix=/mnt/fileroot/vlsi.sh/Boatman/bluez_install/CXX="arm-none-linux-gnueabi-g++" --with-shared --without-cxx-binding


(--with-shared, 如果设置shared, 必须readline编译的时候指定SHLIBS_LIBS,仅仅是猜想,没经过验证)

编译:

make

make install

PS: 如果在ubuntu15.10 版本上安装本工具,必须降级gcc至4.9版本才可以 (https://github.com/c9/core/issues/162)
sudo apt-get install gcc-4.9 gcc-4.9-base
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 10


7. readline

源码:wget ftp://ftp.cwru.edu/pub/bash/readline-6.3.tar.gz

配置:./configure  --host=arm-none-linux-gnueabi --prefix=/mnt/fileroot/vlsi.sh/Boatman/bluez_install/ bash_cv_wcwidth_broken=yes 
          ./configure  --host=arm-none-linux-gnueabi --prefix=/mnt/fileroot/vlsi.sh/Boatman/bluez_install/--libdir=/mnt/fileroot/vlsi.sh/Boatman/bluez_install/lib bash_cv_wcwidth_broken=yes 
          ./configure  --host=arm-none-linux-gnueabi --prefix=/mnt/fileroot/vlsi.sh/Boatman/bluez_install/ CFLAGS=-I/mnt/fileroot/vlsi.sh/Boatman/bluez_install/include LDFLAGS=-L/mnt/fileroot/vlsi.sh/Boatman/bluez_install/lib bash_cv_wcwidth_broken=yes 
编译:
make SHLIBS_LIBS=-lncurses
make install


8. Bluez-5.36

wget http://www.kernel.org/pub/linux/bluetooth/bluez-5.36.tar.xz

./configure --host=arm-none-linux-gnueabi --prefix=/mnt/fileroot/vlsi.sh/Boatman/bluez_install/PKG_CONFIG_PATH=/mnt/fileroot/vlsi.sh/Boatman/bluez_install/lib/pkgconfig CC="arm-none-linux-gnueabi-gcc -L/mnt/fileroot/vlsi.sh/Boatman/bluez_install/lib -I/mnt/fileroot/vlsi.sh/Boatman/bluez_install/include" --disable-systemd --disable-udev --disable-cups --disable-obex --enable-library

make 会出错,所以
修改Makefile
在含有-lreadline地方后面,加上“-lncurses”

make ;
make install;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章