arm平臺移植glib

glib-2.28.5.tar.gz


問題: 
configure: error: cannot run test program while cross compiling

將一下內容寫入arm-linux.cache文件:
      glib_cv_stack_grows=no
     glib_cv_uscore=no
     ac_cv_func_posix_getpwuid_r=yes
     ac_cv_func_posix_getgrgid_r=yes
     glib_cv_have_qsort_r=no
同時需要指定cachefile, 運行configure:

./configure --prefix=/home/08install/02arm/  --host=arm-linux  --cache-file=arm-linux.cache
又有一個問題:
  can not find glib-compile-schemas.
這個問題整整花了我一個下午,網上找不到任何提示,也不知道這個東西怎麼用;後來開始看源碼裏的Changelog,想到了一個辦法,首先,本地編譯glib,不要交叉編譯,果然,glib自己生成了
glib-compile-schemas,copy/usr/local/bin下,重新configure,通過!!!
開始交叉編譯,make  all:
又遇到一個新問題: 
glib-genmarshal  : GLib-Genmarshal-WARNING **: unknown type: VARIANT
這次有經驗了,我馬上猜到,系統裏本來有一個
 glib-genmarshal,調用系統原來的 glib-genmarshal,估計不能編譯新版本的glib,把本地編譯出來的 glib-genmarshal,也copy到/usr/local/bin.
需要讓make調用新的
 glib-genmarshal,怎麼辦?直接修改arm-linux.cache文件,找到 glib-genmarshal這一行,把路徑改成/usr/local/bin,在執行configure,make ,make install。
交叉編譯順利完成!!!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章