0

我正在尝试使用 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

有任何想法吗?

4

1 回答 1

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")

这为我解决了问题。(如果您有一台配备 Core2 处理器的 Mac,
那么 Snow Leopard 中的用户空间将是 64 位)。

于 2010-07-09T04:02:35.377 回答