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:/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:18,
from ../common/ioutil/attrparse.y:87:In file included from /cygdrive/c/Simics/src/include/simics/api.h:19,/cygdrive/c/Simics/src/include/simics/global.h:218:2: #error "Cannot recognize the operating system you are compiling for"
from ../common/ioutil/attrparse.y:87:In file included from /cygdrive/c/Simics/src/include/simics/api.h:21,/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'
from ../common/ioutil/attrparse.y:87: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:in SimicsI have the version number in Makefile.simics_version set to 3.0I 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 availableDistibution, so do I use x-86-linux?
-----------------------------------------------------------------------------Quoting Dan Gibson <degibson@xxxxxxxx>:
This usually means that your SIMICS_VERSION variable is improperlyset 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