Hi, > See if the /bin/sh is linked to bash How can I follow the link? I mean how can find the target file?
My current question is now what is the message that shows the successful "make install". Is this output normal? mahm...@magma:flexus-3.0.0$ make install make -s -r FLEXUS_ROOT=`pwd` -f makefile.install install mahm...@magma:flexus-3.0.0$ // Naderan *Mahmood; ________________________________ From: mihai pricopi <[email protected]> To: Mahmood Naderan <[email protected]> Sent: Sun, April 18, 2010 10:35:55 AM Subject: Re: skipping GLIBC runtime libraries Hi Mahmood, I might be able to help you on this. Something similar happened to me too. See if the /bin/sh is linked to bash. In my case sh was linked to something else. I deleted that sh link and made a new one which was pointing correctly to bash. And then it worked. Hope this helps. Mihai On Sun, Apr 18, 2010 at 2:13 AM, Mahmood Naderan <[email protected]> wrote: Nice... I added "export SHELL=/bin/bash" to the beginning of themakefile.defs and that error vanished. I also tested this command in "makefile" and "makefile.checktsetup" but they didn't do the job. > >After that, the ouput of "make install" is: >mahm...@magma:flexus-3.0.0$ make install >make -s -r FLEXUS_ROOT=`pwd` -f makefile.install install > >mahm...@magma:flexus-3.0.0$ > >is it normal then? > >// Naderan *Mahmood; > > > > > ________________________________ From: Jason Zebchuk <[email protected]> >To: Mahmood Naderan <[email protected]> >Cc: simflex <[email protected]> >Sent: Sat, April 17, 2010 10:10:40 PM > >Subject: Re: skipping GLIBC runtime libraries > > >You should be able to add it to either makefile.def or Makefile. Try Makefile >first and let us know which one works. > >To make it work with your version of gcc, changing required_gcc_version will >definitely be necessary. I don't know if anyone has tried simflex with that >version, so I'm not sure if it will work. > >Please keep us updated and let us know whether you have any more difficulties >or if it works fine with this change. > > >Jason > > > >On > 10-04-17 12:55 PM, Mahmood Naderan wrote: > >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; >>>>> >>>> >>>> >>> >>> >> >> > >
