glib-2.28.6 的编译和安装 以及错误的解决方法

要编译glib-2.28.6,那么首先要的就是有它的源码,源码的下载地址在http://ftp.acc.umu.se/pub/gnome/sources/glib/,要什么版本都有,我这里用的是2.28.6版本(其他版本没有试,推荐该版本)。

解压什么的,我就不再啰嗦了。

这里首先在glib-2.28.6根目录下建立一个文件arm-linux.cache,并写入以下内容:

glib_cv_long_long_format=ll
glib_cv_stack_grows=no
glib_cv_working_bcopy=no
glib_cv_sane_realloc=yes
glib_cv_have_strlcpy=no
glib_cv_va_val_copy=yes
glib_cv_rtldglobal_broken=no
glib_cv_uscore=no
ac_cv_func_posix_getpwuid_r=yes
ac_cv_func_nonposix_getpwuid_r=no
ac_cv_func_posix_getgrgid_r=no
glib_cv_use_pid_surrogate=no
ac_cv_func_printf_unix98=no
ac_cv_func_vsnprintf_c99=no
ac_cv_path_GLIB_COMPILE_SCHEMAS=yes

然后就可以配置了。

我的配置是:./configure --prefix=/wsh_space/my_install/usr/lib --host=arm-cortex_a9-linux-gnueabi --cache-file=arm-linux.cache CC=arm-cortex_a9-linux-gnueabi-gcc

其中--prefix选项可由自己定义,CC的选项选择自己的arm-linux编译器,我这里的编译器是从Android中来的,版本是4.7.4,如果有朋友编译不过去需要该编译器,可以留言哈。

现在可以直接编译了。

make

make install

如果不出意外,那么就会成功了,但是,往往都会出意外。如果不是我这个编译器,那么编译时可能出现zconf.h找不到的错误(这里是针对比较新的Linux系统,如Ubuntu14.04 64位版本的操作系统,32位的没试过,可能也有),有说缺少zlib1g-dev,实际上安装完后或者系统本身已经是最新了,仍然会报这个错误,实际上改错是路径的问题,新版的操作系统该头文件被放在了/usr/include/x86_64-linux-gnu,这时只需要拷贝到/usr/include/目录下即可。

另外还可能会报/usr/bin/ld:
cannot find -lz这个错误,实际上是缺少libz.*文件,也是zlib1g-dev包里的,可是这里就不能按照上面所示去拷贝了,虽然/usr/lib/x86_64-linux-gnu目录下有该文件,但是拷贝到/usr/lib/目录下编译时会报错C
compiler cannot create executables,也就是格式不正确,我们要的是arm平台的,而这个是x86平台当然不合适了,所以不可用,这时的办法是从我上面的编译器中拷贝过去,或者去找arm版本的。

这个问题解决后编译就没问题了。

最后说明,我的Linux系统为Ubuntu14.04 64位版本。

用我上面说的编译器,更加方便,不会报上面说的两个错误,看来我从Android中拿来的arm-cortex_a9-linux-gnueabi-gcc编译器还挺完整的。有时间打包上来给大家共享。

时间: 2024-10-31 20:58:50

glib-2.28.6 的编译和安装 以及错误的解决方法的相关文章

无需重新编译php加入ftp扩展的解决方法

无需重新编译php加入ftp扩展的解决方法 本文为大家介绍无需重新编译php加入ftp扩展的方法,有需要的朋友可以参考下 首先,进入源码目录cd php-5.2.13/ext/ftp #运行phpize生成configure/usr/local/php/bin/phpize #编译,指定php-config,注意这里的php-config,不是php.ini./configure --with-php-config=/usr/local/php/bin/php-config#上面可以添加--en

fedora25 安装virtualbox5.1 出现提示Kernel driver not installed (rc=-1908) 错误的解决方法

fedora25 安装virtualbox5.1 出现提示Kernel driver not installed (rc=-1908) 错误的解决方法: $ sudo /usr/lib/virtualbox/vboxdrv.sh setup        vboxdrv.sh: Building VirtualBox kernel modules.             vboxdrv.sh: Starting VirtualBox services.

Windows 7 64bit上安装Oracle Database 12c [INS-30131] 错误的解决方法

Windows 7 64bit上安装Oracle Database 12c,出现以下错误: 解决方法: 第一步:控制面板>所有控制面板项>管理工具>服务>SERVER  启动 第二步:控制面板>所有控制面板项>管理工具>计算机管理>系统工具>共享文件夹>共享   右键单击“共享”>新建共享> 点击“下一步”>   单击“浏览”> 选择"本地磁盘(C:)">确定   单击“下一步”:     单击“

vc++ 编译连接错误and解决方法

1. LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol [email protected] Debug/lizi.exe : [分析]: 项目创建错误,因该选择Win32 Console Project,而不是 Win32 Projectvc++ 编译连接错误and解决方法,布布扣,bubuko.com

STM8S编译时内存溢出错误的解决办法

? 导致COSMIC报告"segment .ubsct overflow"错误的根本原因是内存溢出, 相关原因分析如下: ? 1.变量存储空间结构 ? STM8S105系列CPU的RAM地址范围为0~0x7FF的2K空间,其中默认将高512字节分配给堆栈,剩下0~0x5FF字节为变量存储空间 .在0~0x5FF的空间范围内,低256字节被定义为Zero page,其中包括.bsct,.ubsct,.bit,.share ? 可见, 当segment .ubsct overflow错误出

CUDA程序编译过程中产生警告的解决方法

有时候经常使用别人用Tabhost+其它的实现demo.单纯利用Tabhost该如何使用呢? 下面看例子: public class MainActivity extends TabActivity { public TabHost tabHost; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 获取对象 tabHost = getTabH

window10 安装出现the error code is 2503错误的解决方法

window10 安装出现the error code is 2503错误的解决方法: 设置 C:\WINDOWS\TEMP的权限

Win7,Win8安装ArcGIS软件或Node.js等安装包出现2503错误的解决方法

最近win8系统在安装Node.js和ArcGIS软件的时候都出现了2503错误,后来才发现,都是Win8的权限系统在作怪.解决方法看似也挺原始,但很奏效: 1)进入C:\windows\installer路径,找到安装程序的msi.如果你的安装包没有把msi文件解压到这个路径下,请将对应的msi和CAB文件复制到这个路径下,比如ArcGIS的安装程序. 2)以管理员身份打开cmd程序 3)在命令行中输入"C:\windows\installer\xxx.msi"并回车.由下面的截图能

安装tomcat出现failed to install tomcat6 service错误及解决方法(转载)

安装安装版tomcat会出现failed to install tomcat6 service ,check your setting and permissio的概率是非常低的,但是最近楼主就老出现这种问题- -. 让我郁闷了好些时间.最后才发现我原来装过tomcat,而删除它时,只是简单的删除了它的文件夹,并没有删除服务里的tomcat服务,因此才出现上面的安装错误. 解决方法:      1.打开cmd,执行sc delete tomcat5(或者是tomcat6,看你的版本了),这样删除