Re: [Gems-users] Error loading ruby!


Date: Mon, 25 Sep 2006 13:34:50 +0200
From: mehmetderin.harmanci@xxxxxxx
Subject: Re: [Gems-users] Error loading ruby!
  One additional change I did in the Ruby code for the "physical memory
  object not found" problem was

  in file $GEMS/ruby/simics/Interface.C

  The first line of function  which is

  void SIMICS_install_timing_model( void )
  {
     pyhs_mem0 = SIM_get_object("phys_mem");
     ...
  }

  This line is the same as the one I mention in the previous mail. So the
  same solution needs to be applied also here.

  Best Regards,

  Derin Harmanci.

Quoting mehmetderin.harmanci@xxxxxxx:

>
> Hello,
>
>   If you're trying to compile on a different machine because of the error
>  you had before (that is physical memory not found) I'll suggest not to
>  continue. The error you had before, I think, has nothing to do with
>  compilation. I had the same error before.
>
>   The "Physical memory object not found" error was in my case, and probably
>  in your case also, a mismatch in the name of the physical memory object
>  given by simics and the name of looked up by Ruby. More precisely Ruby
>  always checks the presence of a physical memory object by looking for an
>  object name "phys_mem0". If Simics has a physical memory object but it
>  by chance did not name it as "phys_mem0" ruby gives this error. This
>  was the case when I was using the cashew configuration for the sunfire.
>
>
>  In file $GEMS/ruby/module/ruby.c   the line which reads
>
>  phys_mem0 = SIM_get_object("phys_mem0");  (in my distribution this is line
> 258)
>
>
>  looks for the Simics physical memory object. If the returned value (thus
>  phys_mem0 is NULL the error you have is printed on the terminal. In my case
>  the actual name of the simics physical memory object was "phys_mem" instead
>  of "phys_mem0". So I added the following lines just below the code I point
>  above:
>
>  if( phys_mem0 = NULL)
>      phys_mem0 = SIM_get_object("phys_mem");
>
>
>   If you would like to know what name simics has chosen for the physical
>   memory object type  list-objects  in the simics prompt and look in the
>   second coloumn for a name which has the pattern similar to phys_mem or
>   phys_mem0. You should call the SIM_get_object with the physical memory
>   object name you find in this listing instead of calling it with
>   "phys_mem0" (as I did above with the if code).
>
>   Hope this helps,
>
>   Derin Harmanci.
>
>
>
>
>
> Quoting Ranjith Subramanian <ranjith@xxxxxxxxxx>:
>
> > I tried building and loading ruby on an Intel nocona core but I get the
> > error: "undefined symbol: ctrl_exception_start". I've installed
> > simics3.0.19 and gems.1.3.
> >
> > I think my specification of CC in Makefile.common is incorrect. I
> > modified $GEMS/common/Makefile.common as follows:
> > CC_VERSION=3.4.4
> >
> > ifeq ($(HOST_TYPE),amd64-linux)
> >   #CC =  /s/gcc-3.4.1/bin/g++
> >   CC =  /usr/bin/g++
> >   OPT_FLAGS = -m64 -march=nocona -fPIC
> > #  OPT_FLAGS = -m64 -march=opteron -fPIC
> >   LDFLAGS += -ggdb -g3
> > #  LDFLAGS += -ggdb -g3 -Wl,-R/s/gcc-3.4.1/lib64
> > #  MODULE_LDFLAGS += -Wl,-R/s/gcc-3.4.1/lib64
> >   SPECIAL_FLAGS += -DGEMS_64_BIT
> > else
> >
> > and I modified $GEMS/ruby/modules/Makefile as
> >  # add -m64 and library paths if needed
> > CC_VERSION=3.4.4
> > HOST_TYPE = $(shell $(CALC_HOST))
> > ifeq ($(HOST_TYPE),x86-linux)
> >   MODULE_LDFLAGS += -m32
> >   # if using a non-native compiler, specify runtime paths to libstdc++
> > and other system libraries
> >   # MODULE_LDFLAGS += -Wl,-R/s/gcc-$(CC_VERSION)/lib
> > else
> > ifeq ($(HOST_TYPE),amd64-linux)
> >   MODULE_LDFLAGS += -m64
> > #gcc-$(CC_VERSION)/lib64
> > else
> >
> > I'm not sure what should replace -R/s/gcc-$(CC_VERSION)/lib. Since I'm
> > using the native compiler I decided to comment it out. Is this correct?
> >
> > ***
> > bash-3.00$ ./simics -stall
> > Checking out a license... done: academic license.
> >
> > simics> read-configuration ../../../../chkpt/cashew.conf
> > simics> instruction-fetch-mode instruction-fetch-trace
> > [cpu0 info] Note that on this cpu, instruction-fetch-trace is
> > implemented using instruction-cache-access-trace with a suitable cache
> > line size.
> > simics> istc-diable
> > unknown command 'istc-diable'.
> > simics> istc-disbale
> > unknown command 'istc-disbale'.
> > simics> istc-disable
> > Turning I-STC off and flushing old data
> > simics> dstc-disable
> > Turning D-STC off and flushing old data
> > simics> load-module ruby
> > Error loading module 'ruby': Failed to load module 'ruby'
> > ('/tmp/ranji/gems/wkspc/x86-linux/lib/ruby.so'): "undefined symbol:
> > ctrl_exception_start"
> > simics>
> >
> >
> > The final few lines of ouput when I built RUBY with the MOSI_SMP_bcast
> > protocol
> >
> > ***
> > === Building module "ruby" ===
> > ls:
> >
>
/tmp/ranji/gems/wkspc/modules/../../ruby/x86-linux/generated/MOSI_SMP_bcast/obj/*.o:
> > No such file or directory
> > ls:
> >
>
/tmp/ranji/gems/wkspc/modules/../../ruby/x86-linux/generated/MOSI_SMP_bcast/obj/*.o:
> > No such file or directory
> > make[2]: Entering directory
> > `/tmp/ranji/gems/wkspc/x86-linux/obj/modules/ruby'
> >         module_id.c
> > DEP     module_id.d
> > DEP     ruby.d
> > make[2]: Leaving directory
> > `/tmp/ranji/gems/wkspc/x86-linux/obj/modules/ruby'
> > ls:
> >
>
/tmp/ranji/gems/wkspc/modules/../../ruby/x86-linux/generated/MOSI_SMP_bcast/obj/*.o:
> > No such file or directory
> > ls:
> >
>
/tmp/ranji/gems/wkspc/modules/../../ruby/x86-linux/generated/MOSI_SMP_bcast/obj/*.o:
> > No such file or directory
> > make[2]: Entering directory
> > `/tmp/ranji/gems/wkspc/x86-linux/obj/modules/ruby'
> > Using the Simics 3.0 API for ruby module
> > CC      ruby.o
> > /tmp/ranji/gems/wkspc/modules/ruby/ruby.c:108: warning: 'mm_id' defined
> > but not used
> > CC      module_id.o
> > CCLD    ruby.so
> >         mod_ruby_commands.py
> > make[2]: Leaving directory
> > `/tmp/ranji/gems/wkspc/x86-linux/obj/modules/ruby'
> > make[1]: Leaving directory `/tmp/ranji/gems/wkspc'
> > Ruby: Moving simics module
> > make BUILD_FLAGS=-DSIMICS movemodule
> > make[1]: Entering directory `/tmp/ranji/gems/ruby'
> > ../scripts/prepare_simics_home.sh ../simics/home/MOSI_SMP_bcast
> amd64-linux
> > make[1]: Leaving directory `/tmp/ranji/gems/ruby'
> > Ruby: my work is done here...
> >
> > ***
> >
> > Any help will be greatly appreciated.
> >
> > Ranjith
> > _______________________________________________
> > Gems-users mailing list
> > Gems-users@xxxxxxxxxxx
> > https://lists.cs.wisc.edu/mailman/listinfo/gems-users
> > Use Google to search the GEMS Users mailing list by adding
> > "site:https://lists.cs.wisc.edu/archive/gems-users/"; to your search.
> >
> >
>
>
> _______________________________________________
> Gems-users mailing list
> Gems-users@xxxxxxxxxxx
> https://lists.cs.wisc.edu/mailman/listinfo/gems-users
> Use Google to search the GEMS Users mailing list by adding
> "site:https://lists.cs.wisc.edu/archive/gems-users/"; to your search.
>
>


[← Prev in Thread] Current Thread [Next in Thread→]