glib移植到ARM上

2021-07-05 17:50:50 字數 1624 閱讀 5111

1.說明

在arm上移植glib庫很麻煩,所依賴的包很多,本次移植涉及到的包主要有libffi-3.0.13.tar.gz,gettext-0.18.3.tar.gz。涉及到的工具有glib-genmarshal,glib-compile-schemas,automake.

2.配置

./configure--build=i686-linux --host=arm-linux glib_cv_stack_grows=noac_cv_type_long_long=yes glib_cv_uscore=no ac_cv_func_posix_getpwuid_r=yes  ac_cv_func_posix_getgrgid_r=yes ac_cv_lib_rt_clock_gettime=noglib_cv_monotonic_clock=yes --prefix=/root/softwares/glib

配置過程中會遇到很多的問題,主要是與上面的包和工具有關,所以把上面的包先安裝,安裝為x86平台下(因為後面要先編譯x86版的,為了生成glib-compile-schemas)。配置過程中遇到的問題通過在網上找資料,都可以解決,但是glib-compile-schemas can notfound,這個問題不好解決,因為網上也找不到對應的安裝包。後來通過查閱大量資料,可以先配置編譯x86版的,可以生成此工具,然後再把生成的工具,拷貝到/usr/local/bin下,問題得以解決。

x86版配置很簡單(./configure 、make 、make install),不在詳述,遇到的問題主要有automake相關,這個automake 版本要為1.13.2。

配置成功,再make ,make install,生成的工具預設在/usr/local/bin下,下面就可以繼續配置arm版的了,這次應該很順利的通過。

3.編譯

arm平台下的配置成功後,然後make,編譯過程中也會有很多的錯誤,主要是libffi.so找不到之類的,上面的libffi編譯為x86版,所以它執行不了,再配置編譯乙個arm版的,問題得以解決,最後還有乙個問題,就是

make[4]: 正在進入目錄 `/root/softwares/glib-2.36.3/docs/reference/glib'

gen     glib-gettextize.1

i/o error :attempt to load network entity

warning: failed toload external entity""

cannot parse

這個問題對於整個編譯不重要,主要是些文件類的東西,於是到root/softwares/glib-2.36.3/docs/reference/glib/下,修改對應的makefile,注釋掉關於docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl(可以搜尋定位到該行),這個問題總共有3處,通過提示到相應的資料夾下,該相應的makefile即可,然後再編譯,順利通過。

4.安裝

編譯通過後,執行make install,在最後有點問題,是由於上面注釋的那些**相關的資訊,不過不影響,它還是生成了我們想要的標頭檔案和庫檔案。

將WebServer Boa移植到ARM上

www.boa.orttar zxf boa 0.94.13.tar.gz1.開啟compat.h 將 define timezone offset foo foo tm gmtoff 修改為 define timezone offset foo foo tm gmtoff 2.開啟boa.c檔案將...

xlslib庫移植到arm上

2 虛擬機器 ubuntu14.04 lts 3 解壓壓縮包xlslib package 2.5.0.zip裡面的xlslib資料夾到 opt目錄下。4 在 opt目錄下建立資料夾xlslib arm,5 開啟 opt xlslib資料夾下的configure檔案,找到幾處有以下內容的地方 if t...

openwrt libubox 移植到ARM上

由於專案的需要,需要把openwrt 上的libubox庫移植到arm上,libubox是openwrt的基礎庫,是乙個事件驅動庫,具體的可以到openwrt官網上去了解。宿主機為 ubuntu 10.04 交叉編譯工具鏈版本為 arm linux gcc 4.5.1,目標機為 s3c6410 s5...