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; >>> >> >> > >
