[1] 整個 BlueZ 的移植過程,可以歸納成以下幾點:
a. BlueZ
的移植是相當麻煩的。
b. 一個完整的 BlueZ 移植需要安裝許多 library,而且 library 之間有相互關係。
也就是有一定的安裝順序。
c. 順序步驟不可以錯誤,一旦錯誤就會落入「安裝->錯誤 -> 檢視 -> 找資料 ->
重安裝 -> 錯誤-> ...」的多次的循環裡面。
PS. 以下步驟中的 $PWD/../release/bluez_libs,這是我預設的安裝路徑。可以隨個人喜好變更。
[2] 所需要的 library 與 彼此之間的相互關係
A. 所需要的 library
1. bluez-libs-3.36
2. libxml2-2.7.4
3. dbus-1.2.1
4. glib-2.16.5
5. libusb-0.1.12
6. bluez-utils-3.36
7. openobex-1.3.tar.gz
B. 相互關係
1. bluez-libs-3.36
==> 可獨立安裝
2. dbus1.0.2
==> 需要先安裝 libxml2-2.7.4
3. bluez-utils-3.36
==> 需要先安裝 glib-2.16.5
4. openobex-1.3
==> 需要先安裝 libusb-0.1.12
C. 安裝順序如A.所列
[3] 安裝步驟: 將以[2] 順序作說明,以下Command line請逐行輸入
1. Comile bluez-libs-3.36
# tar zxvf bluez-libs-3.36.tar.gz
<==注意,此前兩步驟每個 library 均需要執行,故以下步驟不再著名。
# cd bluez-libs-3.36
<==注意,此前兩步驟每個 library 均需要執行,故以下步驟不再著名。
# ./configure
--prefix="$PWD/../release/bluez_libs" --host=arm-none-linux-gnueabi --target=arm-none-linux-gnueabi
CC=arm-none-linux-gnueabi-gcc
# make
# make install
2. Compile libxml2-
# ./configure
--prefix="$PWD/../release/bluez_libs" --host=arm-none-linux-gnueabi --target=arm-none-linux-gnueabi
CC=arm-none-linux-gnueabi-gcc
# make
# make install
3.Compile dbus-
# echo ac_cv_have_abstract_sockets=yes>arm-linux.cache
# ./configure
--prefix="$PWD/../release/bluez_libs" --host=arm-none-linux-gnueabi --target=arm-none-linux-gnueabi
CC="arm-none-linux-gnueabi-gcc -I/home/rexking/smb_share/release/bluez_libs/include
-L/home/rexking/smb_share/release/bluez_libs/lib" --cache-file=arm-linux.cache
--with-x=no PKG_CONFIG_PATH="$PWD/../release/bluez_libs/lib/pkgconfig"
# make
# make install
4.Compile glib-
# 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_getgrgid_r=yes>>arm-linux.cache
# echo
ac_cv_func_posix_getpwuid_r=yes>>arm-linux.cache
# ./configure
--prefix="$PWD/../release/bluez_libs" --host=arm-none-linux-gnueabi --target=arm-none-linux-gnueabi
CC="arm-none-linux-gnueabi-gcc -l/home/rexking/smb_share/release -L/home/rexking/smb_share/release/bluez_libs/lib"
--cache-file=arm-linux.cache PKG_CONFIG_PATH="$PWD/../release/bluez_libs/lib/pkgconfig"
# make
# make
install
5. Compile libusb-
# ./configure
--prefix="$PWD/../release/bluez_libs" --host=arm-none-linux-gnueabi --target=arm-none-linux-gnueabi
CC="arm-none-linux-gnueabi-gcc -I/home/rexking/smb_share/release/bluez_libs/include
-L/home/rexking/smb_share/release/bluez_libs/lib"
# make
# make
install
6.Compile bluez-utils-3.36.
# ./configure
--prefix="$PWD/../release/bluez_libs" --host=arm-none-linux-gnueabi --target=arm-none-linux-gnueabi
CC="arm-none-linux-gnueabi-gcc -I/home/rexking/smb_share/release/bluez_libs/include
-L/home/rexking/smb_share/release/bluez_libs/lib -shared" PKG_CONFIG_PATH="$PWD/../release/bluez_libs/lib/pkgconfig"
--disable-audio --enable-test
# make
# make
install
7.Compile openobex-1.3.tar.gz
# ./configure
--prefix="$PWD/../release_obex" --host=arm-none-linux-gnueabi --target=arm-none-linux-gnueabi
CC="arm-none-linux-gnueabi-gcc -I/home/rexking/smb_share/release_bt/release/bluez_libs/include
-L/home/rexking/smb_share/release_bt/release/bluez_libs/lib" --enable-bluetooth
--disable-usb --enable-apps
# make
# make
install
在這安裝過程中,有許多問題要排除。排除方法日後再補上。
在這安裝過程中,有許多問題要排除。排除方法日後再補上。
留言
張貼留言