arm平台移植glib

ARM 418浏览
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。
交叉编译顺利完成!!!