Dear Flexus users, Attached to this message is an updated patch for compiling and running Flexus on 64-bit Linux. This patch should be applied using:
patch -p0 < flexus_64b.diff while you are in your $FLEXUS_ROOT directory. This patch supersedes earlier patches sent to the list. You don't need to do apply any of those (and shouldn't). Please check that you have a 64-bit version of simics by running the command: find $PATH_TO_SIMICS -name simics-common If you get a file under amd64-linux, then you have 64-bit Simics; otherwise, x86-linux indicates you have a 32-bit version. You will need to edit the environment section at the top of makefile.defs. The relevant line is SIMICS_ARCH. Use x86-linux for 32-bit systems, and amd64-linux for 64-bit. Let us know if you have problems. We were able to verify with Chris Bienia that this patch solved his problems. We plan to release a new Flexus version that will incorporate these and other fixes this Summer. Thanks, Brian -------------- next part -------------- A non-text attachment was scrubbed... Name: flexus_64b.diff Type: application/octet-stream Size: 28424 bytes Desc: not available URL: <http://sos.ece.cmu.edu/pipermail/simflex/attachments/20090420/87b85575/attachment-0001.obj> -------------- next part -------------- Begin forwarded message: > > On Apr 15, 2009, at 7:47 PM, Christian Bienia wrote: > >> Brian, >> >> I applied the patch, but I get compilation errors. Here's what I >> experienced: >> >> * When I apply the diff the patch tool complains that a few of the >> referenced files don't exist. I tried to find them but they either >> got >> deleted or renamed in a non-obvious way. I skipped the files. >> >> * When I tried to build the patched source it breaks right at the >> beginning >> because it generates a warning and "-Werror" was added to the >> compiler flags >> by the patch. I removed "-Werror" and started to build everything >> again. >> >> * The build process then stops at a more serious error involving >> missing >> members in a structure. Here's the output: >> >> ========== >> Checking simics v9_iface_gcc core >> Building Boost.DateTime >> Building Boost.Regex >> Building Boost.Serialization >> Building Boost.Iostreams >> /usr/local/gcc-4.2.1/bin/g++ -isystem >> /n/fs/parsec/bin/flexus-3.0.0/boost_1_33_1 -isystem >> /n/fs/parsec/bin/virtutech/simics-3.0.31/src/include >> -I/u/cbienia/parsec/bin/flexus-3.0.0 -c -O3 -funroll-loops >> -fno-strict-aliasing -Wall -fmessage-length=160 -x c++ -fPIC -DX86_64 >> -DTARGET_PLATFORM=v9 -DSELECTED_DEBUG=iface wiring.cpp -o >> wiring.v9_iface_gcc_o >> wiring.cpp: In function ?bool >> Flexus::Wiring::initializeParameters()?: >> wiring.cpp:142: error: ?struct uArchConfiguration? has no member >> named >> ?InstructionsPerCheckpoint? >> wiring.cpp:143: error: ?struct uArchConfiguration? has no member >> named >> ?StoreAddressesPerCheckpoint? >> In file included from wiring.cpp:377: >> /u/cbienia/parsec/bin/flexus-3.0.0/components/Common/Transports/ >> MemoryTransp >> ort.hpp: At global scope: >> /u/cbienia/parsec/bin/flexus-3.0.0/components/Common/Transports/ >> MemoryTransp >> ort.hpp:57: warning: >> ?Flexus::SharedTypes::<unnamed>::MemoryMessageTag? >> defined >> but not used >> /u/cbienia/parsec/bin/flexus-3.0.0/components/Common/Transports/ >> MemoryTransp >> ort.hpp:65: warning: >> ?Flexus::SharedTypes::<unnamed>::ExecuteStateTag? >> defined >> but not used >> /u/cbienia/parsec/bin/flexus-3.0.0/components/Common/Transports/ >> MemoryTransp >> ort.hpp:73: warning: >> ?Flexus::SharedTypes::<unnamed>::uArchStateTag? defined >> >> but not used >> /u/cbienia/parsec/bin/flexus-3.0.0/components/Common/Transports/ >> MemoryTransp >> ort.hpp:81: warning: ?Flexus::SharedTypes::<unnamed>::MuxTag? >> defined but >> not >> used >> /u/cbienia/parsec/bin/flexus-3.0.0/components/Common/Transports/ >> MemoryTransp >> ort.hpp:89: warning: ?Flexus::SharedTypes::<unnamed>::BusTag? >> defined but >> not >> used >> /u/cbienia/parsec/bin/flexus-3.0.0/components/Common/Transports/ >> MemoryTransp >> ort.hpp:98: warning: >> ?Flexus::SharedTypes::<unnamed>::DirectoryEntryTag? >> defined but not used >> /u/cbienia/parsec/bin/flexus-3.0.0/components/Common/Transports/ >> MemoryTransp >> ort.hpp:107: warning: >> ?Flexus::SharedTypes::<unnamed>::TransactionTrackerTag? >> defined but not used >> /u/cbienia/parsec/bin/flexus-3.0.0/components/Common/Transports/ >> DirectoryTra >> nsport.hpp:51: warning: >> ?Flexus::SharedTypes::<unnamed>::DirectoryMessageTag? >> defined but not used >> /u/cbienia/parsec/bin/flexus-3.0.0/components/Common/Transports/ >> DirectoryTra >> nsport.hpp:69: warning: >> ?Flexus::SharedTypes::<unnamed>::DirMux2ArbTag? >> defined >> but not used >> /u/cbienia/parsec/bin/flexus-3.0.0/components/Common/Transports/ >> NetworkTrans >> port.hpp:55: warning: >> ?Flexus::SharedTypes::<unnamed>::NetworkMessageTag? >> defined but not used >> /u/cbienia/parsec/bin/flexus-3.0.0/components/Common/Transports/ >> NetworkTrans >> port.hpp:64: warning: >> ?Flexus::SharedTypes::<unnamed>::ProtocolMessageTag? >> defined but not used >> make[9]: *** [wiring.v9_iface_gcc_o] Error 1 >> make[8]: *** [simics-v9] Error 2 >> make[7]: *** [DSMFlex.OoO] Error 2 >> make[6]: *** [DSMFlex.OoO] Error 2 >> make[5]: *** [DSMFlex.OoO] 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 >> spin.CS.Princeton.EDU% >> ========== >> >> Do you see a way to fix this? I looked at the code but it's not >> clear to me >> how it's supposed to be. >> >> - Chris >> >> >> -----Original Message----- >> From: simflex-bounces at ece.cmu.edu [mailto:simflex- >> bounces at ece.cmu.edu] On >> Behalf Of Brian Gold >> Sent: Wednesday, April 15, 2009 2:36 PM >> To: SimFlex software support >> Subject: Re: [Simflex] flexus on 64-bit >> >> Chris, a quick follow-up: see the attached diff for a more up-to- >> date patch >> to run on 64-bit platforms. If you hit any errors, send the output >> to me. >> >> Thanks, >> Brian >> >> >
