<div dir="ltr"><div style>My attempt at compiling a 64-bit binary did indeed fail an assert() that checked the size() of a data structure against a constant. That was because the data structure contained pointers and 64-bit means 8-byte pointers instead of 4. I chose to abandon the endeavor at that point. My fear comes from the fact that other hard-coded things may exist and break things in transition from 32-bits to 64-bits, leading to memory corruption and other nasty things.</div>
<div style><br></div><div style>As we are relying on Disksim to get research results, I'm afraid of using a patch that hasn't been extensively tested (preferably with Valgrind or something like that). Disksim is a pretty complicated beast, to the point that later maintainers hadn't mastered the way the code worked (see the text file in the doc directory).</div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Sep 3, 2013 at 6:38 PM, Ricardo Rey <span dir="ltr"><<a href="mailto:ricardoreyyy@gmail.com" target="_blank">ricardoreyyy@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><div>It is not that hard compiling in 64 bit. Peter Macko posted the fix in a thread from December 2011, I think. It is a matter of initializing some pointers to NULL and removing a compile time assert which always fails in 64 bit. Applying the patch will take around 10 minutes.</div>
<div><br></div><div>Regards,</div><div>- Rick<br><br>Enviado desde mi iPhone</div><div><br>El 03/09/2013, a las 02:41, Mujtaba Tarihi <<a href="mailto:mujtaba.tarihi@gmail.com" target="_blank">mujtaba.tarihi@gmail.com</a>> escribió:<br>
<br></div><div><div class="h5"><blockquote type="cite"><div><div dir="ltr"><div>Hello</div><div><br></div><div>You can compile Disksim under a 64-bit OS by forcing it to use 32-bit mode compilation. You need to add -m32 to the compilation options. As for a native 64-bit build, you *can* find some patches and pieces of code online if you google for it. I don't know how reliable they are, considering Disksim is very fickle, you would need extensive testing before you can be sure about a 64-bit build working.</div>

<div><br></div><div>Regards,</div><div>Tarihi</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Sep 3, 2013 at 12:02 PM, saeed ghasemi <span dir="ltr"><<a href="mailto:ghasemi.saeed@gmail.com" target="_blank">ghasemi.saeed@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote"><div>On Tue, Aug 27, 2013 at 8:30 PM,  <span dir="ltr"><<a href="mailto:disksim-users-request@ece.cmu.edu" target="_blank">disksim-users-request@ece.cmu.edu</a>></span> wrote:<br>



</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">alinezhad</blockquote></div><br><br>I install Disksim in the manner that mention below:<br clear="all">



<div><br></div><div><font color="#F00000" style="font-family:Times;font-size:medium"><b>DiskSim does not compile in 64bit environment</b></font><span style="font-size:medium;font-family:Times">. Never try it. Even if you succeded compilation, it will not run -- just produces segmentation fault. </span><br style="font-size:medium;font-family:Times">



<span style="font-size:medium;font-family:Times">    DiskSim requires bison and flex, which are parser generators for parameter file parsing codes. </span><br style="font-size:medium;font-family:Times">

<b style="font-size:medium;font-family:Times">Step 0. Install bison and flex, if you have not installed already.</b><br style="font-size:medium;font-family:Times"><blockquote style="font-size:medium;font-family:Times">

$ sudo apt-get install bison flex <br></blockquote><b style="font-size:medium;font-family:Times">Step 1. Download and unzip.Sources can be downloaded from the links above.</b><span style="font-size:medium;font-family:Times"> I downloaded DiskSim 4.0 with dixtrac. </span><br style="font-size:medium;font-family:Times">



<blockquote style="font-size:medium;font-family:Times">$ tar xfz disksim-4.0-with-dixtrac.tar.gz <br>$ cd disksim-4.0 <br>$ unzip ../ssd-add-on.zip <br></blockquote><b style="font-size:medium;font-family:Times">Step 2. Apply SSD add on patch.</b><br style="font-size:medium;font-family:Times">



<blockquote style="font-size:medium;font-family:Times">$ patch -p1 < ssdmodel/ssd-patch<br></blockquote><b style="font-size:medium;font-family:Times">Step 3. Append SSD model library path to dixtrac.</b><br style="font-size:medium;font-family:Times">



<span style="font-size:medium;font-family:Times">add these lines to dixtrac/.paths</span><span style="font-family:Times;font-size:medium;color:rgb(51,51,255)"><br></span><span style="font-size:medium;font-family:Times"></span><blockquote style="font-size:medium;font-family:Times">



<span style="color:rgb(51,51,255)"># path to ssdmodel</span><br><span style="color:rgb(51,51,255)">export SSDMODEL_PREFIX=../ssdmodel</span><br><span style="color:rgb(51,51,255)">export SSDMODEL_INCL=$(SSDMODEL_PREFIX)/include</span><br>



<span style="color:rgb(51,51,255)">export SSDMODEL_CFLAGS=-I$(SSDMODEL_INCL)</span><br><span style="color:rgb(51,51,255)">export SSDMODEL_LDPATH=$(SSDMODEL_PREFIX)/lib</span><br><span style="color:rgb(51,51,255)">export SSDMODEL_LDFLAGS=-L$(SSDMODEL_LDPATH) -lssdmodel</span><br>



</blockquote><span style="font-size:medium;font-family:Times">modify dixtrac/Makefile like this :</span><br style="font-size:medium;font-family:Times"><blockquote style="font-size:medium;font-family:Times">

<span style="color:rgb(51,51,255)">$(LIBDISKSIM_LDFLAGS) \<br>$(MEMSMODEL_LDFLAGS) \<br>$(DISKMODEL_LDFLAGS) \<br><b>$(SSDMODEL_LDFLAGS) \<br></b>$(LIBPARAM_LDFLAGS) \<br>$(LIBDDBG_LDFLAGS) \<br>$(ST_LDFLAGS)<br><br>CFLAGS = -Wall -g -MD -I. $(DEFINES) -I$(STHREADS) $(DMINCLUDES) \<br>



$(LIBDISKSIM_CFLAGS) \<br><b>$(DISKMODEL_CFLAGS) $(LIBPARAM_CFLAGS) $(LIBDDBG_CFLAGS) \<br>$(SSDMODEL_CFLAGS)</b></span><br></blockquote><b style="font-size:medium;font-family:Times">Step 4. Compile~~~!<br>

</b><blockquote style="font-size:medium;font-family:Times">$ make<br></blockquote><br style="font-size:medium;font-family:Times"><b style="font-size:medium;font-family:Times">Step 5. Check if it works well.<br>

</b><blockquote style="font-size:medium;font-family:Times">$ cd valid; ./runvalid<br>$ chmod a+x ../ssdmodel/valid/runvalid<br>$ cd ../ssdmodel/valid; ./runvalid<br></blockquote><span style="font-size:medium;font-family:Times">Ok. It is all.</span><span><font color="#888888"><br>



</font></span></div><span><font color="#888888"><div><br></div>-- <br>                   Regards, Saeed Ghasemi <br>                    
</font></span></div></div>
<br>_______________________________________________<br>
Disksim-users mailing list<br>
<a href="mailto:Disksim-users@ece.cmu.edu" target="_blank">Disksim-users@ece.cmu.edu</a><br>
<a href="https://sos.ece.cmu.edu/mailman/listinfo/disksim-users" target="_blank">https://sos.ece.cmu.edu/mailman/listinfo/disksim-users</a><br>
<br></blockquote></div><br></div>
</div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>Disksim-users mailing list</span><br><span><a href="mailto:Disksim-users@ece.cmu.edu" target="_blank">Disksim-users@ece.cmu.edu</a></span><br>
<span><a href="https://sos.ece.cmu.edu/mailman/listinfo/disksim-users" target="_blank">https://sos.ece.cmu.edu/mailman/listinfo/disksim-users</a></span><br></div></blockquote></div></div></div></blockquote></div><br></div>