Hi,
I'm not quite sure what's happening. It looks like it's probably either
a problem with the makefile syntax or bash syntax.
If you could run the following commands, I might be able to figure out
what's happening:
make --version
sh --version
make -n install
make -d install
Thanks,
Jason
On 16/04/2010 1:56 AM, Mahmood Naderan wrote:
Hi,
Thanks for the info however I can not "make install". First the
information about the compiler are:
*mahm...@magma:flexus-3.0.0$* pwd
/home/mahmood/flexus-3.0.0
*mahm...@magma:flexus-3.0.0$* locate g++
/usr/bin/g++
/usr/bin/g++-4.4
/usr/bin/i486-linux-gnu-g++
/usr/bin/i486-linux-gnu-g++-4.4
/usr/share/cmake-2.8/Modules/Platform/Windows-g++.cmake
/usr/share/doc/g++
/usr/share/doc/g++-4.4
/usr/share/doc/gcc-4.4-base/test-summaries/g++.sum.gz
/usr/share/man/man1/g++-4.4.1.gz
/usr/share/man/man1/g++.1.gz
/usr/share/man/man1/i486-linux-gnu-g++-4.4.1.gz
/usr/share/man/man1/i486-linux-gnu-g++.1.gz
/var/lib/dpkg/info/g++-4.4.list
/var/lib/dpkg/info/g++-4.4.md5sums
/var/lib/dpkg/info/g++.list
/var/lib/dpkg/info/g++.postinst
/var/lib/dpkg/info/g++.prerm
And the makefile.defs look like this:
# GCC Compiler Settings
GCC_PATH=/usr
GCC_BINARY=g++
Now when I run "make install" I get this error:
mahm...@magma:flexus-3.0.0$ make install
make -s -r FLEXUS_ROOT=`pwd` -f makefile.install install
/bin/sh: [[: not found
/usr/bin/g++ is not a valid executable.
You must set GCC_PATH in makefile.defs to point to g++ 4.1.0
installation path.
You must set GCC_BINARY in makefile.defs to the name of the GNU g++
4.1.0 binary
which should be located in GCC_PATH/bin
See Flexus quick start guide for instructions on configuring Flexus.
make[1]: *** [gcc_version] Error 1
make: *** [install] Error 2
Really I don't understand what is "[[".
Thanks,
// Naderan *Mahmood;
------------------------------------------------------------------------
*From:* Jason Zebchuk <[email protected]>
*To:* Mahmood Naderan <[email protected]>
*Cc:* [email protected]
*Sent:* Fri, April 16, 2010 12:15:40 AM
*Subject:* Re: skipping GLIBC runtime libraries
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;