构建GLib时出错

时间:2010-07-09 03:40:16

标签: c++ gcc makefile glib

我正在尝试使用makefile构建GLib-2.4.0。

我收到此错误:

    gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -DG_LOG_DOMAIN=\"GLib\" -DG_DISABLE_CAST_CHECKS -DG_DISABLE_DEPRECATED -DGLIB_COMPILATION -pthreads -g -O2 -Wall -MT gatomic.lo -MD -MP -MF .deps/gatomic.Tpo -c gatomic.c
-fno-common -DPIC -o .libs/gatomic.o
    /var/tmp//cctTsmw7.s:103:Incorrect register `%rdx' used with `l' suffix
    make[3]: *** [gatomic.lo] Error 1
    make[2]: *** [install-recursive] Error 1
    make[1]: *** [install-recursive] Error 1
    make: *** [install] Error 2

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

新版本的glib很可能会解决这个问题。

但是,如果由于某种原因你坚持使用2.4,那么在http://www.mail-archive.com/gtk-devel-list@gnome.org/msg10924.html的gtk-devel-list中对此进行了讨论......这里是报告的解决方法。

以下是该线程中两个用户成功的解决方法:

  

啊,是的,我想我也偶然发现了这一点。这可能是   导致因为Mac的默认jhbuildrc强制构建为
  486:

     
    

当建立在intel上时,强制构建为486,因为glib不会     否则启用asm原子操作。

  
     

尝试:        _f = os.popen(“uname -p”)        if _f.read()。startswith(“i386”):        append_autogenargs(“glib”,“ - build = i486-apple-darwin”)

     

我将最后一行改为:

  append_autogenargs("glib", "--build=x86_64-apple-darwin")
     

这为我解决了这个问题。 (如果您的Mac带有Core2处理器,请使用   用户的土地将在Snow Leopard的64位中。)