redhat6.5平台
glib版本:glib-2.45.2
源码资源url:
libffi-3.2.1.tar.gz:https://sourceware.org/libffi/
glib-2.45.2.tar.xz:http://ftp.acc.umu.se/pub/gnome/sources/glib/2.45/
zlib-1.2.3.tar.bz2 : http://download.chinaunix.net/download.php?id=24014&ResourceID=12241
或者官网下载最新zlib源码版本。
使用glib-2.55.2版本 有找不到lmount问题,即使主机上已经编译安装了util-linux-2.21.2亦有此故障,暂不处理。
使用 glib-2.48.2版本 有pcre库的交叉编译,编译时pcre编译报错,暂不处理,继续更换库版本。glib-2.45.2版本中pcre被源码内部包含
宿主机交叉编译检查配置时,需要glib-compile-resources glib-compile-schemas等工具。但因宿主机glib2-devel版本太低,须在宿主机上重新编译安装glib-2.45.2。如果主机通过yum安装glib2-devel.i686 及其他glib yum源安装后有glib-compile-resources glib-compile-schemas 等工具可以忽略下文中宿主机上glib-2.48.2的安装。
ubuntu平台:
sudo apt-get install libglib2.0-dev
直接安装libglib2.0-dev即可解决
宿主机上编译安装glib-2.48.2采用默认配置及编译即可。
宿主机系统中已存在zlib库,无需编译安装。若无 yum install zlib;或下载zlib源码下载编译安装。
宿主机libffi-3.2.1.tar.gz解压编译安装
[root@localhost libffi-3.2.1]# ./configure
[root@localhost libffi-3.2.1]# make ;make install
宿主机编译安装glib-2.45.2.tar.xz
解压tar.xz使用指令tar -xvJf glib-2.45.2.tar.xz
[root@localhost glib-2.45.2]# ./configure LIBFFI_CFLAGS='-I/usr/local/lib/libffi-3.2.1/include' LIBFFI_LIBS='-lffi -L=/usr/local/lib' glib_cv_stack_grows=no glib_cv_uscore=yes ac_cv_func_posix_getpwuid_r=yes ac_cv_func_posix_getgrgid_r=yes
[root@localhost glib-2.45.2]# make
[root@localhost glib-2.45.2]# make install
在make make install末期可能会有doc xsl生成及安装的失败log,在查看宿主机已有如下工具我直接选择了忽视
交叉编译过程描述
zlib库交叉编译
[root@localhost zlib]# CC=arm-hisiv400-linux-gcc ./configure --prefix=/home/yueyc/misc/glib/install/ --shared
[root@localhost zlib]#make;make install
libffi-3.2.1.tar.gz 交叉编译
[root@localhost libffi-3.2.1]# ./configure --prefix=/home/yueyc/misc/glib/install/ --host=arm-hisiv400-linux
[root@localhost libffi-3.2.1]# make;make install
glib-2.45.2交叉编译
[root@localhost glib-2.45.2]# ./configure --prefix=/home/yueyc/misc/glib/install --host=arm-hisiv400-linux PKG_CONFIG_PATH=/home/yueyc/misc/glib/install LIBFFI_CFLAGS='-I/home/yueyc/misc/glib/install/lib/libffi-3.2.1/include' LIBFFI_LIBS='-lffi -L=/home/yueyc/misc/glib/install/lib' ZLIB_CFLAGS='-I/home/yueyc/misc/glib/install/include' ZLIB_LIBS='-lz -L/home/yueyc/misc/glib/install/lib' glib_cv_stack_grows=no glib_cv_uscore=yes ac_cv_func_posix_getpwuid_r=yes ac_cv_func_posix_getgrgid_r=yes
[root@localhost glib-2.45.2]# make
[root@localhost glib-2.45.2]# make install
即可
主要参考的网页如下:
https://blog.youkuaiyun.com/lizhu_csdn/article/details/72877941
https://blog.youkuaiyun.com/ty3219/article/details/46942493
yum provides glib-compile-resources