glib移植到ARM上
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
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 entityhttp://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl
warning: failed toload external entity"http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl"
cannot parse http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl
这个问题对于整个编译不重要,主要是些文档类的东西,于是到root/softwares/glib-2.36.3/docs/reference/glib/下,修改对应的Makefile,注释掉关于docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl(可以搜索定位到该行),这个问题总共有3处,通过提示到相应的文件夹下,该相应的Makefile即可,然后再编译,顺利通过。
4.安装
编译通过后,执行make install,在最后有点问题,是由于上面注释的那些网站相关的信息,不过不影响,它还是生成了我们想要的头文件和库文件。
更多推荐
所有评论(0)