*mahm...@magma:flexus-3.0.0$* make --version
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
This program built for i486-pc-linux-gnu
*mahm...@magma:flexus-3.0.0$* bash --version
GNU bash, version 4.0.33(1)-release (i486-pc-linux-gnu)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
*mahm...@magma:flexus-3.0.0$* make -n install
make -s -r FLEXUS_ROOT=`pwd` -f makefile.install install
if [[ -x /usr/bin/g++ ]] ; then \
GCC_VER=`/usr/bin/g++ -dumpversion` ; \
if [[ $GCC_VER == "4.4.1" || $GCC_VER == "" || $GCC_VER == "" ]] ;
then \
true ; \
else \
echo "/usr/bin/g++ reports its version as $GCC_VER." ; \
echo "Flexus only supports g++ 4.4.1 or or ." ; \
echo "You can override this check and force make to continue by
adding" ; \
echo "GCC_VERSION_NOCHECK=true to makefile.defs" ; \
false ; \
fi \
else \
I have also attached the "make -d install". The problem is it can not
find my gcc or in another word, it doesnot accept /usr/bin/g++ as a
compiler. I noticed in the documents that Flexus is tested on Fedora
and SUSE.
Does anybody install it on Ubuntu? Maybe the scripts are not
compatible with ubuntu.
*// Naderan *Mahmood;*
------------------------------------------------------------------------
*From:* Jason Zebchuk <[email protected]>
*To:* Mahmood Naderan <[email protected]>
*Cc:* [email protected]
*Sent:* Sat, April 17, 2010 12:56:44 AM
*Subject:* Re: skipping GLIBC runtime libraries
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;