遠程編譯 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;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章