无法在OS X上安装spim

时间:2012-04-12 16:34:08

标签: macos assembly terminal spim

我正在尝试在OS X终端中运行spim。我可以使用QTSpim,但终端中的spim命令尚不存在。当谈到终端(刚刚从Windows切换)时,我有点新手,所以这可能是非常明显的。

首先,我导航到spim文件夹并输入make

Lasker:spim orthogonal$ make
./Configure
cc
Check if this machine is big-endian or little-endian.
This may take a few minutes.
I believe this is a little-endian machine.
Looks like a Mac OS X / OpenStep universe exists...
Scanning libc.dylib

Checking if libc on this machine contains:
  vsprintf: No, I don't think
    _doprnt: NO, THIS IS A PROBLEM: NO VSPRINTF AND NO _DOPRNT
SPIM WILL NOT RUN PROPERLY
  vfprintf: No, I don't think
    _doprnt: NO, THIS IS A PROBLEM: NO VFPRINTF AND NO _DOPRNT
SPIM WILL NOT RUN PROPERLY
  strtoul: No, I don't think
  strtol: No, I don't think
  memcpy: No, I don't think

Checking for /usr/include/termios.h
Yes, it is there
make -f Makefile spim2
bison -d --file-prefix=y ../CPU/parser.y
../CPU/parser.y: conflicts: 25 shift/reduce
gcc -I. -I../CPU `cat configuration` -DTEXT_SIZE=65536 -DDATA_SIZE=131072 -DK_TEXT_SIZE=65536 -DDEFAULT_EXCEPTION_HANDLER="\"/usr/local/lib/spim/exceptions.s\"" -DSPIM_VERSION="\"`cat ../VERSION`\"" -g -Wall   -c -o spim-utils.o ../CPU/spim-utils.c
In file included from ../CPU/spim-utils.c:39:
../CPU/spim.h:71:1: warning: "memcpy" redefined
In file included from /usr/include/string.h:190,
                 from ../CPU/spim-utils.c:36:
/usr/include/secure/_string.h:53:1: warning: this is the location of the previous definition
../CPU/spim-utils.c:501: error: expected ‘)’ before numeric constant
../CPU/spim-utils.c:504: error: expected identifier or ‘(’ before ‘{’ token
../CPU/spim-utils.c:520: error: conflicting types for ‘strtol’
/usr/include/stdlib.h:181: error: previous declaration of ‘strtol’ was here
make[1]: *** [spim-utils.o] Error 1
make: *** [spim] Error 2

我回去再次阅读installation guide并说它尝试make install

Lasker:spim orthogonal$ make install
make -f Makefile spim2
gcc -I. -I../CPU `cat configuration` -DTEXT_SIZE=65536 -DDATA_SIZE=131072 -DK_TEXT_SIZE=65536 -DDEFAULT_EXCEPTION_HANDLER="\"/usr/local/lib/spim/exceptions.s\"" -DSPIM_VERSION="\"`cat ../VERSION`\"" -g -Wall   -c -o spim-utils.o ../CPU/spim-utils.c
In file included from ../CPU/spim-utils.c:39:
../CPU/spim.h:71:1: warning: "memcpy" redefined
In file included from /usr/include/string.h:190,
                 from ../CPU/spim-utils.c:36:
/usr/include/secure/_string.h:53:1: warning: this is the location of the previous definition
../CPU/spim-utils.c:501: error: expected ‘)’ before numeric constant
../CPU/spim-utils.c:504: error: expected identifier or ‘(’ before ‘{’ token
../CPU/spim-utils.c:520: error: conflicting types for ‘strtol’
/usr/include/stdlib.h:181: error: previous declaration of ‘strtol’ was here
make[1]: *** [spim-utils.o] Error 1
make: *** [spim] Error 2

然后我尝试了安装指南中的其他内容,

Lasker:spim orthogonal$ make test
make -f Makefile spim2
gcc -I. -I../CPU `cat configuration` -DTEXT_SIZE=65536 -DDATA_SIZE=131072 -DK_TEXT_SIZE=65536 -DDEFAULT_EXCEPTION_HANDLER="\"/usr/local/lib/spim/exceptions.s\"" -DSPIM_VERSION="\"`cat ../VERSION`\"" -g -Wall   -c -o spim-utils.o ../CPU/spim-utils.c
In file included from ../CPU/spim-utils.c:39:
../CPU/spim.h:71:1: warning: "memcpy" redefined
In file included from /usr/include/string.h:190,
                 from ../CPU/spim-utils.c:36:
/usr/include/secure/_string.h:53:1: warning: this is the location of the previous definition
../CPU/spim-utils.c:501: error: expected ‘)’ before numeric constant
../CPU/spim-utils.c:504: error: expected identifier or ‘(’ before ‘{’ token
../CPU/spim-utils.c:520: error: conflicting types for ‘strtol’
/usr/include/stdlib.h:181: error: previous declaration of ‘strtol’ was here
make[1]: *** [spim-utils.o] Error 1
make: *** [spim] Error 2

出了什么问题,我该如何解决?

2 个答案:

答案 0 :(得分:1)

对于那些尝试使用spim 8.0在OS X上编译的人,我推荐这个程序:

$ tar xvf spim-8.0.tar.gz
$ cd spim-8.0/spim
$ ./Configure
$ cat > configuration
-DLITTLEENDIAN
-DUSE_TERMIOS
-U_POSIX_SOURCE
^D
$ make install

答案 1 :(得分:1)

您可以通过自制软件获得spim

brew install spim