在Mountain Lion上安装Pygame时出现错误

10

我一直在尝试在Mac OS X Mountain Lion上运行Pygame,但安装过程遇到了问题。我使用homebrew安装了以下软件包:

  • sdl
  • sdl_image
  • sdl_mixer
  • sdl_ttf
  • smpeg

当我尝试编译Pygame(使用Xcode 4.4提供的最新Mac OS X命令行工具)时,会出现错误消息,如下所示:

src/scale_mmx64.c:499:27: error: invalid instruction mnemonic 'movsxl'

我不知道如何解决这个问题。Pygame在Mac OS X Lion上工作得非常好,这似乎是由于升级到最新版本的Xcode(从系统中删除了GCC)或升级到Mountain Lion本身引起的。我怀疑是升级到Xcode造成的,但我不确定。

有没有人对解决这个问题有任何建议?

2个回答

19

我一直在为同一个问题苦苦思索,以至于我开始考虑在我的MacBook Air上安装Linux,但我们会看看的。

我是按照这里列出的源代码修改后从源代码构建的: https://bitbucket.org/pygame/pygame/changeset/e296ada67fad

基本上,在src / scale_mmx64.c中,您需要使用'movslq'替换两个'movsxl'的出现。

如果您正在使用homebrew,请确保root设置为首先引用您的homebrew库等。 当我有机会再次处理它时,仍在修复那个问题。(未使用SDL_image并且无法加载PNG)


1
谢谢!在Mac OS上编译pygame变得非常困难。感谢您的“补丁”(以及将我的SDL头文件目录路径包含为CFLAGS的设置),我终于可以让它工作了。 - Marian
1
如果不是因为这个评论,我仍然会一直在墙上撞头。最新的源代码已经被移植到 Bit Bucket 上,包含了 movslq 而非 movsxl。 - rgk

1

也许这不会对你的问题有所帮助。 但是考虑到很多人可能因为无法在Mountain Lion上安装pygame而找到了这篇文章,我将在这里发布一个解决方案:

首先,我不知道为什么苹果的Python 2.7.2版本没有在/Library/Frameworks目录下安装Python.framework包。 为了解决这个问题,您必须安装python.org提供的2.7.3版本。

然后,您可以重新在硬盘上安装pygame。我使用的版本是pygame-1.9.1-for-32bit-python2.7

现在,您已经准备好了。重新打开终端并输入python。 您应该看到Python解释器,并在顶部看到版本2.7.3

由于32位pygame的限制,我必须像这样运行我的程序:

arch -i386 python main.py

希望这能帮助其他人。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接