在 OS X Lion 上构建 jamvm 1.5.4 [英] Building jamvm 1.5.4 on OS X Lion
问题描述
我已经安装了 Xcode 并且命令行工具正在运行.Macports 无法正确构建 jamvm 1.5.0,因此我正在尝试手动构建最新版本 (1.5.4).
I have Xcode installed and the commandline tools are working. Macports fails to build jamvm 1.5.0 correctly so I'm trying to build the latest version (1.5.4) manually.
./configure
不会抱怨任何事情.
make 失败并出现以下错误:
make fails with the following error:
Making all in src
make all-recursive
Making all in os
Making all in darwin
Making all in i386
/bin/sh ../../../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../../../../src -I../../../../src -g -O2 -MT init.lo -MD -MP -MF .deps/init.Tpo -c -o init.lo init.c
mkdir .libs
gcc -DHAVE_CONFIG_H -I. -I../../../../src -I../../../../src -g -O2 -MT init.lo -MD -MP -MF .deps/init.Tpo -c init.c -fno-common -DPIC -o .libs/init.o
mv -f .deps/init.Tpo .deps/init.Plo
/bin/sh ../../../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../../../../src -I../../../../src -g -O2 -MT dll_md.lo -MD -MP -MF .deps/dll_md.Tpo -c -o dll_md.lo dll_md.c
gcc -DHAVE_CONFIG_H -I. -I../../../../src -I../../../../src -g -O2 -MT dll_md.lo -MD -MP -MF .deps/dll_md.Tpo -c dll_md.c -fno-common -DPIC -o .libs/dll_md.o
/var/folders/32/hp4r3m7140q7_d3y4j9lw31m0000gn/T//ccG8KLc8.s:159:suffix or operands invalid for `sub'
/var/folders/32/hp4r3m7140q7_d3y4j9lw31m0000gn/T//ccG8KLc8.s:175:suffix or operands invalid for `push'
/var/folders/32/hp4r3m7140q7_d3y4j9lw31m0000gn/T//ccG8KLc8.s:187:suffix or operands invalid for `push'
/var/folders/32/hp4r3m7140q7_d3y4j9lw31m0000gn/T//ccG8KLc8.s:192:suffix or operands invalid for `push'
/var/folders/32/hp4r3m7140q7_d3y4j9lw31m0000gn/T//ccG8KLc8.s:264:suffix or operands invalid for `add'
make[5]: *** [dll_md.lo] Error 1
make[4]: *** [all-recursive] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all] Error 2
make: *** [all-recursive] Error 1
我该如何解决这个问题?
How can I fix this?
注意:Macports 构建失败并出现不同的错误.
NOTE: the Macports build fails with a different error.
推荐答案
正如 Andrew 所说,这是一个与拥有 32 位 ASM 指令并尝试将其编译为 64 位相关的问题.最简单的方法是强制 GCC 进入 32 位模式.
As Andrew suggests this is a problem related to having 32 bit ASM instructions and trying to compile it as 64bit. The easy way out is to force GCC into 32 bit mode.
make clean
CFLAGS="-m32" ./configure
这使编译工作并为我生成一个工作二进制文件.
This makes compilation work and produces a working binary for me.
这篇关于在 OS X Lion 上构建 jamvm 1.5.4的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!