我正在尝试使用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
有什么想法吗?
答案 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位中。)