2012-03-30 109 views
2

我安裝了Xcode並且命令行工具正在工作。 Macports無法正確構建jamvm 1.5.0,因此我正在嘗試手動構建最新版本(1.5.4)。在OS X Lion上構建jamvm 1.5.4

./configure不會抱怨任何事情。

化妝失敗,出現以下錯誤:

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 

我怎樣才能解決這個問題?

注意:Macports構建失敗並顯示不同的錯誤。

+0

一些谷歌搜索表明這是一個在彙編中的32/64位混淆。有沒有一個配置標誌來設置64位(假設這是你所擁有的)或強制32位兼容? – 2012-03-30 16:15:15

回答

3

正如Andrew所示,這是一個與32位ASM指令相關並試圖將其編譯爲64位的問題。簡單的辦法是強制GCC進入32位模式。

make clean 
CFLAGS="-m32" ./configure 

這使編譯工作,併爲我生成一個工作二進制文件。