Hi Mahmood,
As the getting started guided discusses in the section on "GLIBC
Compatibility", Flexus requires a more recent version of GLIBC to run
properly.
The makefile provided with Flexus will check that the appropriate
libraries are in place, and it's possible to remove those checks so that
Flexus will compile without installing the glibc libraries. However, if
you do this running Simics with Flexus loaded will result in
unexplainable segmentation faults.
The main problem is that Simics will try to load the GLIBC libraries
from its x86-linux/sys/lib/ directory, and the libraries found there are
incompatible with the compiler and linker used for Flexus. You can
address this in two ways:
1. Use make install to copy the correct libraries to that location, or
manually copy the correct libraries to that location.
2. Remove the libraries from that location (being careful to keep backup
copies someplace, e.g., in simics/x86-linux/sys/lib/bak/), and rely on a
correct setting of LD_LIBRARY_PATH to make sure Simics finds the correct
GLIBC libraries.
Depending on how GEMS was compiled doing this *shouldn't* affect GEMS.
If GEMS and Flexus have to be compiled with different versions of gcc,
then they might require incompatible versions of the GLIBC libraries. If
this is the case, you *should* be able to use LD_LIBRARY_PATH when
running Simics to ensure that the correct libraries are loaded depending
on whether you plan to load GEMS or Flexus modules.
Note that the makefile will ONLY affect the GLIBC libraries, it will not
affect any of the other library files that might be associated with GEMS.
Hope this helps,
Jason
On 15/04/2010 3:20 PM, Mahmood Naderan wrote:
Hi,
Is it possible to skip the section 4 of "Preparing the Build
Environment" in the getting started document?
I have already used GEMS and want to know if I run that part, flexus
libraries replace the GEMS.
thanks,
// Naderan *Mahmood;