Ruby Compilation Error

https://lists.cs.wisc.edu/archive/gems-users/2008-April/msg00057.shtml

 

 

This looks like a problem with Simics's configuration on cygwin. Post an abridged version of this on the Simics forums at www.virtutech.com and see if there is any support for the cygwin platform.

Regards,
Dan

hb166307@xxxxxxxx wrote:
Sorry to be an annoyance, but that brought me to here:
-----------------------------------------------------------------------------
In file included from /cygdrive/c/Simics/src/include/simics/api.h:18,
from ../common/ioutil/attrparse.y:87:
/cygdrive/c/Simics/src/include/simics/module-host-config.h:139:2: warning: #warning fix module-host-config.h for this platform
In file included from /cygdrive/c/Simics/src/include/simics/api.h:19,
from ../common/ioutil/attrparse.y:87:
/cygdrive/c/Simics/src/include/simics/global.h:218:2: #error "Cannot recognize the operating system you are compiling for"
In file included from /cygdrive/c/Simics/src/include/simics/api.h:21,
from ../common/ioutil/attrparse.y:87:
/cygdrive/c/Simics/src/include/simics/core/types.h:182: error: conflicting declaration 'typedef int32 intptr_t' /usr/include/stdint.h:60: error: 'intptr_t' has a previous declaration as `typedef long int intptr_t' /cygdrive/c/Simics/src/include/simics/core/types.h:182: error: declaration of `typedef int32 intptr_t' /usr/include/stdint.h:60: error: conflicts with previous declaration `typedef long int intptr_t' /cygdrive/c/Simics/src/include/simics/core/types.h:182: error: declaration of `typedef int32 intptr_t' /usr/include/stdint.h:60: error: conflicts with previous declaration `typedef long int intptr_t' /cygdrive/c/Simics/src/include/simics/core/types.h:190: error: conflicting declaration 'typedef uint32 uintptr_t' /usr/include/stdint.h:62: error: 'uintptr_t' has a previous declaration as `typedef long unsigned int uintptr_t' /cygdrive/c/Simics/src/include/simics/core/types.h:190: error: declaration of `typedef uint32 uintptr_t' /usr/include/stdint.h:62: error: conflicts with previous declaration `typedef long unsigned int uintptr_t' /cygdrive/c/Simics/src/include/simics/core/types.h:190: error: declaration of `typedef uint32 uintptr_t' /usr/include/stdint.h:62: error: conflicts with previous declaration `typedef long unsigned int uintptr_t'
make[1]: *** [x86-linux/generated/MOSI_SMP_bcast/obj/attrparse.o] Error 1
make[1]: Leaving directory `/home/Administrator/GEMS/gems-2.1/ruby'
make: *** [all] Error 2

----------------------------------------------------------------------------
Quoting Dan Gibson <degibson@xxxxxxxx>:

Yes, try x86-linux. You should also set Makefile.common's use of calc_host to x86-linux hard-coded, in order to set up include directories 'correctly'.
Regards,
Dan

hb166307@xxxxxxxx wrote:
I have the version number in Makefile.simics_version set to 3.0
I ran $GEMS/scripts/calc_host.sh and got x-86-CYGWIN_NT-5.1 $SIMICS/configure --with-host=x-86-CYGWIN_NT-5.1 say not available
in Simics
Distibution, so do I use x-86-linux?


-----------------------------------------------------------------------------
Quoting Dan Gibson <degibson@xxxxxxxx>:

This usually means that your SIMICS_VERSION variable is improperly
set in Makefile.simics_version, or you haven't run ../configure from Simics. In short -- Ruby cannot locate the Simics API headers.
Regards,
Dan

hb166307@xxxxxxxx wrote:
Hello all,
Has anyone run into an error similar to the one below:
I took a look at the makefile in ruby and found no api.h, but a simics_api_dummy.c. I did find a mf_api.h in the
/ruby/interfaces directory though, but I am stuck here. Thanks in advance!

----------------------------------------------------------------------------
make[1]: Leaving directory `/home/Administrator/GEMS/gems-2.1/ruby'
make[1]: Entering directory `/home/Administrator/GEMS/gems-2.1/ruby'
make[1]: Circular x86-CYGWIN_NT-5.1/generated/MOSI_SMP_bcast/obj/init.o <-defau
lt_param.h dependency dropped.
make[1]: *** No rule to make target `simics/api.h', needed by `x86-CYGWIN_NT-5.1/generated/MOSI_SMP_bcast/obj/attrparse.o'. Stop.
make[1]: Leaving directory `/home/Administrator/GEMS/gems-2.1/ruby'
make: *** [all] Error 2
_______________________________________________

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

https://lists.cs.wisc.edu/archive/gems-users/2006-November/msg00047.shtml

 

 

 

 

It compiled successfully. Thanks for your help.

Dave

----- Original Message ----
From: Dan Gibson <degibson@xxxxxxxx>
To: Gems Users <gems-users@xxxxxxxxxxx>
Sent: Thursday, November 9, 2006 9:27:11 AM
Subject: Re: [Gems-users] make error

Then the issue is with your SIMICS_INCLUDE_ROOT setting. Verify that it
is properly set to point to the Simics installation's /src/include
directory.

The full path to "api.h" should be:
$SIMICS_INCLUDE_ROOT/simics/api.h

Set SIMICS_INCLUDE_ROOT appropriately, make clean, and recompile.

Regards,
Dan Gibson

Dave Z. wrote:
> It doesn't find anything, but grepping for api.h returns many files.
>
> Regards,
>
> Dave
>
> ----- Original Message ----
> From: Dan Gibson <degibson@xxxxxxxx>
> To: Gems Users <gems-users@xxxxxxxxxxx>
> Sent: Thursday, November 9, 2006 6:30:46 AM
> Subject: Re: [Gems-users] make error
>
> Try this:
> cd $GEMS
> find . -type f -name "api.h"
>
> See what find finds.
>
> Regards,
> Dan Gibson
>
> Dave Z. wrote:
>> Yes, I have changed the Simics version to 3.0 in $GEMS/common/Makefile.simics_version, updated SIMICS_INCLUDE_ROOT in $GEMS/common/Makefile.common, and used the Simics 3 definition for GEMS_ROOT $GEMS/ruby/module/Makefile.
>>
>> Also, there exists a valid simics workspace ($GEMS/simics). But I don't understand why I get the error.
>>
>> Regards.
>>
>> ----- Original Message ----
>> From: Dan Gibson <degibson@xxxxxxxx>
>> To: Gems Users <gems-users@xxxxxxxxxxx>
>> Sent: Wednesday, November 8, 2006 7:59:50 PM
>> Subject: Re: [Gems-users] make error
>>
>> Have you changed the Simics version in
>> $GEMS/common/Makefile.simics_version to 3.0?
>> In $GEMS/ruby/module/Makefile?
>> Does the path $GEMS/simics exist and contain a valid simics workspace?
>>
>> Regards,
>> Dan Gibson
>>
>> Dave Z. wrote:
>>
>>
>>> Hi,
>>>
>>> I'm trying to install GEMS1.3.1 w/ Simics3, but getting the following ruby make error:
>>>
>>> make[1]: Leaving directory `/GEMS_SIMICS3/ruby'
>>> make[1]: Entering directory `/GEMS_SIMICS3/ruby'
>>> make[1]: Circular x86-linux/generated/MOESI_SMP_hammer/obj/init.o <- default_param.h dependency dropped.
>>> make[1]: *** No rule to make target `simics/api.h', needed by `x86-linux/generated/MOESI_SMP_hammer/obj/attrparse.o'. Stop.
>>> make[1]: Leaving directory `/GEMS_SIMICS3/ruby'
>>> make: *** [all] Error 2
>>>
>>> Could you please help me with resolving the error?
>>>
>>> Thanks
>>>
>>>















唉,试遍了上面列出的两种可能:运行configure; 检查Include路径,郁闷了三四天。最终貌似是这么解决的。

一个哥们提到(https://lists.cs.wisc.edu/archive/gems-users/2008-April/msg00054.shtml):



hi,
i had a similar error (api.h not found, and this file *should* exist if you
have the right version for your host), my problem was that in
$GEMS/common/Makefile.common file SIMICS_INCLUDE_ROOT needed the FULL path for
the include/ directory.




Makefile.comm如下:

ifeq ($(SIMICS_VERSION),3.0)
SIMICS_ROOT := $(GEMS_ROOT)/simics
SIMICS_EXEC_ROOT := $(GEMS_ROOT)/simics
# NOTE: This variable must be updated to point to the src/include directory
# of your Simics 3.0 installation
#SIMICS_INCLUDE_ROOT := $(SIMICS_INSTALL)/src/include
SIMICS_INCLUDE_ROOT := /home/better/gems/simics-3.0.31/src/include
else
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值