mahm...@magma:serengeti$ /usr/bin/g++ -dumpversion 
4.4.1
mahm...@magma:serengeti$ /bin/sh --version
/bin/sh: Illegal option --

>If it's not a version of BASH, you might be able to add the line "export 
>SHELL=/bin/bash" at the top of the >main makefile to fix your problem.

You mean the makefile itself or makefile.defs? I also suspected to the the 
bash. Since my current shell is bash and as the error says, makefile seeks for 
sh. 
 
I also add "REQUIRED_GCC_VERSION_1=4.4.1" at the beginning of 
makefile.checksetup

 
// Naderan *Mahmood;




________________________________
From: Jason Zebchuk <[email protected]>
To: Mahmood Naderan <[email protected]>
Cc: simflex <[email protected]>
Sent: Sat, April 17, 2010 6:23:10 PM
Subject: Re: skipping GLIBC runtime libraries

Sorry, I forgot to ask the most important question. What happens when you try 
to run:/usr/bin/g++ -dumpversion directly at the command prompt?

While it does look like it's simply not finding the executable, there are two 
problems:

First, the line "/bin/sh: [[: not found" shouldn't be there if g++ simply 
wasn't found, or wasn't executable.
Second,  the line "/usr/bin/g++ is not a valid executable." indicates that the 
GCC variable is actually set to the correct value.

This is why I think it might be a problem with the shell.

By default, make uses /bin/sh as the shell when executing commands, not 
/bin/bash. I believe the makefiles are expecting /bin/sh to actually be the 
same as /bin/bash, but this might not be the case.

Can you check what "/bin/sh --version" is? If it's not a version of BASH, you 
might be able to add the line "export SHELL=/bin/bash" at the top of the main 
makefile to fix your problem.


Jason



On 10-04-17 2:59 AM, Mahmood Naderan wrote: 
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;
>>>
>>
>>
>
>



      

Reply via email to