I?m trying to build Flexus, but i can?t? TT I have some problems compiling CMPFlex or any components..
Compiler saids these things.. What can i do for these things?? Why did it say ?cannot find -lz?? powdr...@mondrian:~/simul/flexus-2.1.1$ make all make -s -r FLEXUS_ROOT=`pwd` all Building CMPFlex for v9_iface_gcc simics Checking dependant component v9_iface_gcc Common Checking dependant component v9_iface_gcc BPWarm Checking dependant component v9_iface_gcc InorderSimicsFeeder Checking dependant component v9_iface_gcc CmpCache Checking dependant component v9_iface_gcc MemoryLoopback Checking dependant component v9_iface_gcc MemoryMap Checking dependant component v9_iface_gcc MagicBreak Checking dependant component v9_iface_gcc IFetch Checking dependant component v9_iface_gcc Execute Checking dependant component v9_iface_gcc Cache Checking dependant component v9_iface_gcc TraceTracker Checking simics v9_iface_gcc core Building Boost.DateTime Building Boost.Regex Building Boost.Serialization Building Boost.Iostreams /usr/local/bin/g++ -shared -export-dynamic -Wl,--whole-archive *.v9_iface_gcc_o /home/powdream/simul/flexus-2.1.1/components/Common/Common. v9.iface.gcc.a /home/powdream/simul/flexus- 2.1.1/components/BPWarm/BPWarm.v9.iface.gcc.a /home/powdream/simul/flexus-2. 1.1/components/InorderSimicsFeeder/InorderSimicsFeeder.v9.iface.gcc.a /home/powdream/simul/flexus-2.1.1/components/CmpCache/CmpCache.v9.iface.gcc. a /home/powdream/simul/flexus- 2.1.1/components/MemoryLoopback/MemoryLoopback.v9.iface.gcc.a /home/powdream/simul/flexus- 2.1.1/components/MemoryMap/MemoryMap.v9.iface.gcc.a /home/powdream/simul/flexus-2.1.1/components/MagicBreak/MagicBreak.v9.iface. gcc.a /home/powdream/simul/flexus- 2.1.1/components/IFetch/IFetch.v9.iface.gcc.a /home/powdream/simul/flexus-2. 1.1/components/Execute/Execute.v9.iface.gcc.a /home/powdream/simul/flexus-2. 1.1/components/Cache/Cache.v9.iface.gcc.a /home/powdream/simul/flexus- 2.1.1/components/TraceTracker/TraceTracker.v9.iface.gcc.a - L/home/powdream/simul/flexus-2.1.1/core -Wl,--whole-archive - lcore_v9_iface_gcc -lsimics_v9_iface_gcc -Wl,-no-whole-archive - lboost_date_time -lboost_regex -lboost_serialization -lboost_iostreams -lz - o libflexus_CMPFlex_v9_iface_gcc.so /usr/bin/ld: cannot find -lz collect2: ld returned 1 exit status make[9]: *** [libflexus_CMPFlex_v9_iface_gcc.so] error 1 make[8]: *** [simics-v9] error 2 make[7]: *** [CMPFlex] error 2 make[6]: *** [CMPFlex] error 2 make[5]: *** [CMPFlex] error 2 make[4]: *** [all] error 2 make[3]: *** [all] error 2 make[2]: *** [all] error 2 make[1]: *** [all] error 2 make: *** [all] error 2 Hee-joon Kang Computer Science & Engineering Dep., Seoul National University, Republic of Korea +82-2-880-1861 [email protected] -------------- next part -------------- An HTML attachment was scrubbed... URL: http://sos.ece.cmu.edu/pipermail/simflex/attachments/20070611/8671e564/attachment.html From twenisch at ece.cmu.edu Fri Jun 15 16:22:37 2007 From: twenisch at ece.cmu.edu (Thomas Wenisch) List-Post: [email protected] Date: Fri Jun 15 16:22:44 2007 Subject: [Simflex] cannot find -lz?? In-Reply-To: <[email protected]> References: <[email protected]> Message-ID: <[email protected]> Hello Hee-joon, SimFlex requires libz in order to build. libz provides gzip compression functionality which is used by the statistics database subsystem. libz is installed by default on most Linux distributions, usually in /usr/lib. If its not installed on your system, you will have to consult your Linux documentation to figure out how to install it. If it is installed in another directory, then you need to add that path to the linker search path in makefile.defs. The easiest way to do it is to add "-L/path/to/libz" to the BOOST_LIBRARIES variable right before -lz. Best Regards, -Tom Wenisch On Mon, 11 Jun 2007, °ÈñÁØ wrote: > I¡¯m trying to build Flexus, but i can¡¯t¡¦ TT > > I have some problems compiling CMPFlex or any components.. > > Compiler saids these things.. > > What can i do for these things?? > > Why did it say ¡°cannot find -lz¡±? > > > > > > powdr...@mondrian:~/simul/flexus-2.1.1$ make all > > make -s -r FLEXUS_ROOT=`pwd` all > > Building CMPFlex for v9_iface_gcc simics > > Checking dependant component v9_iface_gcc Common > > Checking dependant component v9_iface_gcc BPWarm > > Checking dependant component v9_iface_gcc InorderSimicsFeeder > > Checking dependant component v9_iface_gcc CmpCache > > Checking dependant component v9_iface_gcc MemoryLoopback > > Checking dependant component v9_iface_gcc MemoryMap > > Checking dependant component v9_iface_gcc MagicBreak > > Checking dependant component v9_iface_gcc IFetch > > Checking dependant component v9_iface_gcc Execute > > Checking dependant component v9_iface_gcc Cache > > Checking dependant component v9_iface_gcc TraceTracker > > Checking simics v9_iface_gcc core > > Building Boost.DateTime > > Building Boost.Regex > > Building Boost.Serialization > > Building Boost.Iostreams > > /usr/local/bin/g++ -shared -export-dynamic -Wl,--whole-archive > *.v9_iface_gcc_o /home/powdream/simul/flexus-2.1.1/components/Common/Common. > v9.iface.gcc.a /home/powdream/simul/flexus- > 2.1.1/components/BPWarm/BPWarm.v9.iface.gcc.a /home/powdream/simul/flexus-2. > 1.1/components/InorderSimicsFeeder/InorderSimicsFeeder.v9.iface.gcc.a > /home/powdream/simul/flexus-2.1.1/components/CmpCache/CmpCache.v9.iface.gcc. > a /home/powdream/simul/flexus- > 2.1.1/components/MemoryLoopback/MemoryLoopback.v9.iface.gcc.a > /home/powdream/simul/flexus- > 2.1.1/components/MemoryMap/MemoryMap.v9.iface.gcc.a > /home/powdream/simul/flexus-2.1.1/components/MagicBreak/MagicBreak.v9.iface. > gcc.a /home/powdream/simul/flexus- > 2.1.1/components/IFetch/IFetch.v9.iface.gcc.a /home/powdream/simul/flexus-2. > 1.1/components/Execute/Execute.v9.iface.gcc.a /home/powdream/simul/flexus-2. > 1.1/components/Cache/Cache.v9.iface.gcc.a /home/powdream/simul/flexus- > 2.1.1/components/TraceTracker/TraceTracker.v9.iface.gcc.a - > L/home/powdream/simul/flexus-2.1.1/core -Wl,--whole-archive - > lcore_v9_iface_gcc -lsimics_v9_iface_gcc -Wl,-no-whole-archive - > lboost_date_time -lboost_regex -lboost_serialization -lboost_iostreams -lz - > o libflexus_CMPFlex_v9_iface_gcc.so > > /usr/bin/ld: cannot find -lz > > collect2: ld returned 1 exit status > > make[9]: *** [libflexus_CMPFlex_v9_iface_gcc.so] error 1 > > make[8]: *** [simics-v9] error 2 > > make[7]: *** [CMPFlex] error 2 > > make[6]: *** [CMPFlex] error 2 > > make[5]: *** [CMPFlex] error 2 > > make[4]: *** [all] error 2 > > make[3]: *** [all] error 2 > > make[2]: *** [all] error 2 > > make[1]: *** [all] error 2 > > make: *** [all] error 2 > > > > > > Hee-joon Kang > > > > Computer Science & Engineering Dep., Seoul National University, Republic of > Korea > > +82-2-880-1861 > > [email protected] > > > > -------------- next part -------------- _______________________________________________ SimFlex mailing list [email protected] https://sos.ece.cmu.edu/mailman/listinfo/simflex SimFlex web page: http://www.ece.cmu.edu/~simflex From bakhoda at ece.ubc.ca Sat Jun 16 02:23:07 2007 From: bakhoda at ece.ubc.ca (Ali Bakhoda) List-Post: [email protected] Date: Sat Jun 16 02:36:33 2007 Subject: [Simflex] missing core_v9_iface_gcc library (Make file request) Message-ID: <[email protected]> Hi, It seems that I have the same problem as described and solved here: https://sos.ece.cmu.edu/pipermail/simflex/2006-July/000236.html Does anybody have those fixed Make files? Can you send them to me please? Thanks a lot. From twenisch at ece.cmu.edu Sat Jun 16 02:42:35 2007 From: twenisch at ece.cmu.edu (Thomas Wenisch) List-Post: [email protected] Date: Sat Jun 16 02:42:41 2007 Subject: [Simflex] missing core_v9_iface_gcc library (Make file request) In-Reply-To: <[email protected]> References: <[email protected]> Message-ID: <[email protected]> Hi Ali, The files are actually attached at the bottom of the message in the list archive, but I have copy-pasted them into this message again. Here's Makefile: --- # DO-NOT-REMOVE begin-copyright-block # # Redistributions of any form whatsoever must retain and/or include the # following acknowledgment, notices and disclaimer: # # This product includes software developed by Carnegie Mellon University. # # Copyright 2006 by Eric Chung, Brian Gold, Nikos Hardavellas, Jangwoo Kim, # Ippokratis Pandis, Minglong Shao, Jared Smolens, Stephen Somogyi, # Tom Wenisch, Anastassia Ailamaki, Babak Falsafi and James C. Hoe for # the SimFlex Project, Computer Architecture Lab at Carnegie Mellon, # Carnegie Mellon University. # # For more information, see the SimFlex project website at: # http://www.ece.cmu.edu/~simflex # # You may not use the name 'Carnegie Mellon University' or derivations # thereof to endorse or promote products derived from this software. # # If you modify the software you must place a notice on or within any # modified version provided or made available to any third party stating # that you have modified the software. The notice shall include at least # your name, address, phone number, email address and the date and purpose # of the modification. # # THE SOFTWARE IS PROVIDED 'AS-IS' WITHOUT ANY WARRANTY OF ANY KIND, EITHER # EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO ANY WARRANTY # THAT THE SOFTWARE WILL CONFORM TO SPECIFICATIONS OR BE ERROR-FREE AND ANY # IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, # TITLE, OR NON-INFRINGEMENT. IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY # BE LIABLE FOR ANY DAMAGES, INCLUDING BUT NOT LIMITED TO DIRECT, INDIRECT, # SPECIAL OR CONSEQUENTIAL DAMAGES, ARISING OUT OF, RESULTING FROM, OR IN # ANY WAY CONNECTED WITH THIS SOFTWARE (WHETHER OR NOT BASED UPON WARRANTY, # CONTRACT, TORT OR OTHERWISE). # # DO-NOT-REMOVE end-copyright-block include makefile.defs .PHONY: core install ifndef FLEXUS_ROOT .PHONY: stat-manager #determine what FLEXUS_ROOT should be .DEFAULT core: $(MAKE) $(SILENT_MAKE) FLEXUS_ROOT=`pwd` $@ list_targets: $(MAKE) $(SILENT_MAKE) FLEXUS_ROOT=`pwd` $@ install: $(MAKE) $(SILENT_MAKE) FLEXUS_ROOT=`pwd` -f makefile.install install uninstall: $(MAKE) $(SILENT_MAKE) FLEXUS_ROOT=`pwd` -f makefile.install uninstall stat-manager: @cd stat-manager ; $(MAKE) $(SILENT_MAKE) -f Makefile all else # We know what Flexus root is. install: $(MAKE) $(SILENT_MAKE) FLEXUS_ROOT=`pwd` -f makefile.install install ifndef SETUP_OK # Check the Flexus setup to make sure all paths are correct, Simics, and Boost # are installed correctly. .DEFAULT core: $(MAKE) $(SILENT_MAKE) -f makefile.checksetup $(MAKE) $(SILENT_MAKE) SETUP_OK=true $@ else # We have checked the Flexus setup and it is ok to proceed with the build ifndef TARGET_PARSED # We need to parse the target name # We break the target into a TARGET and a TARGET_SPEC, breaking up on the first dash. All dashes are stripped out of both .DEFAULT core: $(MAKE) $(SILENT_MAKE) TARGET_PARSED=true $(word 1,$(subst -, ,$@)) "TARGET_OPTIONS=$(strip $(filter-out $(word 1,$(subst -, ,$@)),$(subst -, ,$@)))" else # We have split the target name and spec. Invoke the appropriate makefile # to build whatever the target is # Pick the make target apart to see what it is. # It could be: # - a simulator, in which case: # $@ names a directory under FLEXUS_ROOT/simulators # - a special make target, in which case: # Makefile.$@ exists and supports that target # Otherwise, it is an error. In the case of an error, we print out all legal targets .DEFAULT core: if [[ -e makefile.$@ ]] ; then \ $(MAKE) $(SILENT_MAKE) -f makefile.$@ $@ ; \ elif [[ -d $(SIMULATORS_DIR)/$@ ]] ; then \ $(MAKE) $(SILENT_MAKE) -f makefile.simulators $@ ; \ elif [[ -d $(COMPONENTS_DIR)/$@ ]] ; then \ $(MAKE) $(SILENT_MAKE) -f makefile.components $@ ; \ else \ if [[ "$@" != "list_targets" ]] ; then \ echo "$@ is not a valid simulator or component." ; \ fi ; \ echo "Supported simulators:" ; \ ls -ICVS $(SIMULATORS_DIR) ; \ echo "Supported components:" ; \ ls -ICVS $(COMPONENTS_DIR) ; \ fi endif endif endif --- Here's makefile.core --- # DO-NOT-REMOVE begin-copyright-block # # Redistributions of any form whatsoever must retain and/or include the # following acknowledgment, notices and disclaimer: # # This product includes software developed by Carnegie Mellon University. # # Copyright 2006 by Eric Chung, Brian Gold, Nikos Hardavellas, Jangwoo Kim, # Ippokratis Pandis, Minglong Shao, Jared Smolens, Stephen Somogyi, # Tom Wenisch, Anastassia Ailamaki, Babak Falsafi and James C. Hoe for # the SimFlex Project, Computer Architecture Lab at Carnegie Mellon, # Carnegie Mellon University. # # For more information, see the SimFlex project website at: # http://www.ece.cmu.edu/~simflex # # You may not use the name 'Carnegie Mellon University' or derivations # thereof to endorse or promote products derived from this software. # # If you modify the software you must place a notice on or within any # modified version provided or made available to any third party stating # that you have modified the software. The notice shall include at least # your name, address, phone number, email address and the date and purpose # of the modification. # # THE SOFTWARE IS PROVIDED 'AS-IS' WITHOUT ANY WARRANTY OF ANY KIND, EITHER # EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO ANY WARRANTY # THAT THE SOFTWARE WILL CONFORM TO SPECIFICATIONS OR BE ERROR-FREE AND ANY # IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, # TITLE, OR NON-INFRINGEMENT. IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY # BE LIABLE FOR ANY DAMAGES, INCLUDING BUT NOT LIMITED TO DIRECT, INDIRECT, # SPECIAL OR CONSEQUENTIAL DAMAGES, ARISING OUT OF, RESULTING FROM, OR IN # ANY WAY CONNECTED WITH THIS SOFTWARE (WHETHER OR NOT BASED UPON WARRANTY, # CONTRACT, TORT OR OTHERWISE). # # DO-NOT-REMOVE end-copyright-block include makefile.defs .PHONY: core # This makefile is called with: # $@ set to the name of the directory in which to build the simulator # TARGET_OPTIONS first word as the target to build for that simulator # TARGET_OPTIONS second word as the compiler to use DEBUG_SETTING_OVERRIDE=$(filter crit dev trace iface verb vverb inv,$(TARGET_OPTIONS)) DEBUG_SETTING=$(if $(DEBUG_SETTING_OVERRIDE),$(DEBUG_SETTING_OVERRIDE),iface) ICC_SELECTED=$(filter icc,$(TARGET_OPTIONS)) DOXYGEN_SELECTED=$(filter doc,$(TARGET_OPTIONS)) GCC_SELECTED=$(if $(ICC_SELECTED)$(DOXYGEN_SELECTED),$(filter gcc,$(TARGET_OPTIONS)),gcc) override X86_SELECTED=$(filter x86,$(TARGET_OPTIONS)) override V9_SELECTED=$(if $(X86_SELECTED),$(filter v9,$(TARGET_OPTIONS)),v9) TARGET_NO_DEBUG=$(strip $(filter-out crit dev trace iface verb vverb inv,$(TARGET_OPTIONS))) TARGET_NO_COMP=$(strip $(filter-out icc,$(filter-out gcc,$(TARGET_NO_DEBUG)))) TARGET=$(strip $(filter-out v9,$(filter-out x86,$(filter-out doc,$(TARGET_NO_COMP))))) .DEFAULT core: ifeq ($(GCC_SELECTED),gcc) ifeq ($(X86_SELECTED),x86) cd $(CORE_DIR) ; $(MAKE) $(SILENT_MAKE) $(TARGET) SELECTED_CC=gcc TARGET_PLATFORM=x86 SELECTED_DEBUG=$(DEBUG_SETTING) endif ifeq ($(V9_SELECTED),v9) cd $(CORE_DIR) ; $(MAKE) $(SILENT_MAKE) $(TARGET) SELECTED_CC=gcc TARGET_PLATFORM=v9 SELECTED_DEBUG=$(DEBUG_SETTING) endif endif ifeq ($(ICC_SELECTED),icc) ifeq ($(X86_SELECTED),x86) cd $(CORE_DIR) ; $(MAKE) $(SILENT_MAKE) $(TARGET) SELECTED_CC=icc TARGET_PLATFORM=x86 SELECTED_DEBUG=$(DEBUG_SETTING) endif ifeq ($(V9_SELECTED),v9) cd $(CORE_DIR) ; $(MAKE) $(SILENT_MAKE) $(TARGET) SELECTED_CC=icc TARGET_PLATFORM=v9 SELECTED_DEBUG=$(DEBUG_SETTING) endif endif ifeq ($(DOXYGEN_SELECTED),doc) cd $(CORE_DIR) ; $(MAKE) $(SILENT_MAKE) doc endif On Fri, 15 Jun 2007, Ali Bakhoda wrote: > Hi, > It seems that I have the same problem as described and solved here: > https://sos.ece.cmu.edu/pipermail/simflex/2006-July/000236.html > Does anybody have those fixed Make files? Can you send them to me please? > Thanks a lot. > _______________________________________________ > SimFlex mailing list > [email protected] > https://sos.ece.cmu.edu/mailman/listinfo/simflex > SimFlex web page: http://www.ece.cmu.edu/~simflex > From zebchuk at eecg.toronto.edu Mon Jun 18 13:55:06 2007 From: zebchuk at eecg.toronto.edu (Jason Zebchuk) List-Post: [email protected] Date: Mon Jun 18 14:15:48 2007 Subject: [Simflex] dynamic port array question Message-ID: <[email protected]> Hey guys, I have an interesting question for you. What happens if I treat a dynamic port array as a simple port? That is, what happens is I do something like: FLEXUS_CHANNEL( SnoopOutD ) << message; where the original declaration is: DYNAMIC_PORT_ARRAY( PushOutput, MemoryMessage, SnoopOutD ) I know this compiles and works as expected if the dynamic array has only a single connection, but I'm curious what would happen if there were multiple connections. Would it send the message to the first one? to all of them? to a random one? Any thoughts? Thanks, Jason From twenisch at ece.cmu.edu Mon Jun 18 15:10:45 2007 From: twenisch at ece.cmu.edu (Thomas Wenisch) List-Post: [email protected] Date: Mon Jun 18 15:10:51 2007 Subject: [Simflex] dynamic port array question In-Reply-To: <[email protected]> References: <[email protected]> Message-ID: <[email protected]> On Mon, 18 Jun 2007, Jason Zebchuk wrote: > Hey guys, > > I have an interesting question for you. > > What happens if I treat a dynamic port array as a simple port? That is, what > happens is I do something like: > > FLEXUS_CHANNEL( SnoopOutD ) << message; > > where the original declaration is: > > DYNAMIC_PORT_ARRAY( PushOutput, MemoryMessage, SnoopOutD ) > > > I know this compiles and works as expected if the dynamic array has only a > single connection, but I'm curious what would happen if there were multiple > connections. Would it send the message to the first one? to all of them? to a > random one? Any thoughts? > To the first one. There is an internal "index" variable in the implementation of these that will be zero, so you'll get the message out on whatever corresponds to index 0. Best Regards, -Tom Wenisch
