最終在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
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;