From bpayne at lps.umd.edu Fri Nov 2 12:37:02 2012 From: bpayne at lps.umd.edu (Payne, Benjamin) Date: Fri, 2 Nov 2012 12:37:02 -0400 Subject: [Disksim-users] sqrt problem during make Message-ID: <3E9C7E247905FE44A1556F1E7B959E7604C01D67E8@cec-exch.cec.lps.gov> Hello, >From reading the list archives, I see the problem with sqrt being undefined during installation isn't new: https://sos.ece.cmu.edu/pipermail/disksim-users/2011-December/000699.html http://cboard.cprogramming.com/c-programming/144182-gcc-compile-problem-link.html The details are below, but my question is on fixing this. Did I make a mistake during installation, or is this normal? If the error is normal, how can it be fixed? On a fresh installation of Ubuntu 12.04 64bit, I ran the following commands to get started with disksim: sudo apt-get install flex bison wget http://www.pdl.cmu.edu/PDL-FTP/DriveChar/disksim-4.0.tar.gz tar xzf disksim-4.0.tar.gz cd disksim-4.0 make The output from "make" is bpayne at bpayne-VirtualBox64:~/disksim-4.0$ make make -C libddbg make[1]: Entering directory `/home/bpayne/disksim-4.0/libddbg' mkdir -p include/libddbg lib cp -p libddbg.h include/libddbg cp -p libddbg.a lib make[1]: Leaving directory `/home/bpayne/disksim-4.0/libddbg' make -C libparam make[1]: Entering directory `/home/bpayne/disksim-4.0/libparam' mkdir -p lib include/libparam cp -p libparam.a lib cp -p bitvector.h libparam.h include/libparam make[1]: Leaving directory `/home/bpayne/disksim-4.0/libparam' make -C diskmodel make[1]: Entering directory `/home/bpayne/disksim-4.0/diskmodel' make -C tests make[2]: Entering directory `/home/bpayne/disksim-4.0/diskmodel/tests' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel/tests' make[1]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel' make -C memsmodel make[1]: Entering directory `/home/bpayne/disksim-4.0/memsmodel' gcc -Wall -Wno-unused -MD -o mems_seektest mems_seektest.o -lm -L. -g -DASSERTS -I../src// -I../ -I../src//src -lmems_internals ./libmems_internals.a(mems_piecewise_seek.o): In function `find_seek_time_piecewise': /home/bpayne/disksim-4.0/memsmodel/mems_piecewise_seek.c:523: undefined reference to `sqrt' /home/bpayne/disksim-4.0/memsmodel/mems_piecewise_seek.c:565: undefined reference to `sqrt' ./libmems_internals.a(mems_hong_seek.o): In function `find_seek_time_hong_x': /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:78: undefined reference to `sqrt' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:80: undefined reference to `acos' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:94: undefined reference to `sqrt' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:96: undefined reference to `acos' ./libmems_internals.a(mems_hong_seek.o): In function `find_seek_time_hong_y': /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:174: undefined reference to `sqrt' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:182: undefined reference to `sqrt' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:182: undefined reference to `sqrt' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:179: undefined reference to `sqrt' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:176: undefined reference to `asin' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:194: undefined reference to `sqrt' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:202: undefined reference to `sqrt' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:202: undefined reference to `sqrt' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:199: undefined reference to `sqrt' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:196: undefined reference to `asin' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:214: undefined reference to `sqrt' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:222: undefined reference to `sqrt' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:222: undefined reference to `sqrt' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:219: undefined reference to `sqrt' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:216: undefined reference to `asin' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:265: undefined reference to `sqrt' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:273: undefined reference to `sqrt' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:273: undefined reference to `sqrt' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:270: undefined reference to `sqrt' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:267: undefined reference to `asin' collect2: ld returned 1 exit status make[1]: *** [mems_seektest] Error 1 make[1]: Leaving directory `/home/bpayne/disksim-4.0/memsmodel' make: *** [all] Error 2 However, by running the following cd memsmodel gcc -Wall -Wno-unused -MD -o mems_seektest mems_seektest.o -lm -L. -g -DASSERTS -I../src// -I../ -I../src//src -lmems_internals -lm cd .. and then trying make again, I get new output: bpayne at bpayne-VirtualBox64:~/disksim-4.0$ make make -C libddbg make[1]: Entering directory `/home/bpayne/disksim-4.0/libddbg' mkdir -p include/libddbg lib cp -p libddbg.h include/libddbg cp -p libddbg.a lib make[1]: Leaving directory `/home/bpayne/disksim-4.0/libddbg' make -C libparam make[1]: Entering directory `/home/bpayne/disksim-4.0/libparam' mkdir -p lib include/libparam cp -p libparam.a lib cp -p bitvector.h libparam.h include/libparam make[1]: Leaving directory `/home/bpayne/disksim-4.0/libparam' make -C diskmodel make[1]: Entering directory `/home/bpayne/disksim-4.0/diskmodel' make -C tests make[2]: Entering directory `/home/bpayne/disksim-4.0/diskmodel/tests' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel/tests' make[1]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel' make -C memsmodel make[1]: Entering directory `/home/bpayne/disksim-4.0/memsmodel' gcc -Wall -Wno-unused -MD -g -DASSERTS -I../src// -I../ -I../src//src -c -o mems_disksim.o mems_disksim.c gcc -Wall -Wno-unused -MD -g -DASSERTS -I../src// -I../ -I../src//src -c -o mems_event.o mems_event.c gcc -Wall -Wno-unused -MD -g -DASSERTS -I../src// -I../ -I../src//src -c -o mems_mapping.o mems_mapping.c gcc -Wall -Wno-unused -MD -c -g -DASSERTS -I../src// -I../ -I../src//src mems_buffer.c -o mems_buffer.o ar cru libmemsmodel.a mems_disksim.o mems_event.o mems_mapping.o mems_internals.o mems_piecewise_seek.o mems_hong_seek.o mems_buffer.o modules/memsmodel_mems_param.o ranlib libmemsmodel.a mkdir -p lib cp -p libmemsmodel.a lib make[1]: Leaving directory `/home/bpayne/disksim-4.0/memsmodel' make -C src make[1]: Entering directory `/home/bpayne/disksim-4.0/src' make -C modules make[2]: Entering directory `/home/bpayne/disksim-4.0/src/modules' ../../libparam/mod.pl disksim bus.modspec indent disksim_bus_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_bus_param.o disksim_bus_param.c ../../libparam/mod.pl disksim ctlr.modspec indent disksim_ctlr_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_ctlr_param.o disksim_ctlr_param.c disksim_ctlr_param.c: In function 'DISKSIM_CTLR_SCHEDULER_loader': disksim_ctlr_param.c:64:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] ../../libparam/mod.pl disksim iodriver.modspec indent disksim_iodriver_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_iodriver_param.o disksim_iodriver_param.c disksim_iodriver_param.c: In function 'DISKSIM_IODRIVER_SCHEDULER_loader': disksim_iodriver_param.c:42:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] ../../libparam/mod.pl disksim ioqueue.modspec indent disksim_ioqueue_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_ioqueue_param.o disksim_ioqueue_param.c ../../libparam/mod.pl disksim disk.modspec indent disksim_disk_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_disk_param.o disksim_disk_param.c disksim_disk_param.c: In function 'DISKSIM_DISK_MODEL_loader': disksim_disk_param.c:9:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] disksim_disk_param.c: In function 'DISKSIM_DISK_SCHEDULER_loader': disksim_disk_param.c:19:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] disksim_disk_param.c: In function 'DISKSIM_DISK_USE_SEPARATE_WRITE_SEGMENT_loader': disksim_disk_param.c:241:30: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] ../../libparam/mod.pl disksim simpledisk.modspec indent disksim_simpledisk_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_simpledisk_param.o disksim_simpledisk_param.c disksim_simpledisk_param.c: In function 'DISKSIM_SIMPLEDISK_SCHEDULER_loader': disksim_simpledisk_param.c:9:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] ../../libparam/mod.pl disksim device_stats.modspec indent disksim_device_stats_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_device_stats_param.o disksim_device_stats_param.c ../../libparam/mod.pl disksim bus_stats.modspec indent disksim_bus_stats_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_bus_stats_param.o disksim_bus_stats_param.c ../../libparam/mod.pl disksim ctlr_stats.modspec indent disksim_ctlr_stats_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_ctlr_stats_param.o disksim_ctlr_stats_param.c ../../libparam/mod.pl disksim iodriver_stats.modspec indent disksim_iodriver_stats_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_iodriver_stats_param.o disksim_iodriver_stats_param.c ../../libparam/mod.pl disksim pf_stats.modspec indent disksim_pf_stats_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_pf_stats_param.o disksim_pf_stats_param.c ../../libparam/mod.pl disksim global.modspec indent disksim_global_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_global_param.o disksim_global_param.c ../../libparam/mod.pl disksim stats.modspec indent disksim_stats_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_stats_param.o disksim_stats_param.c ../../libparam/mod.pl disksim syncset.modspec indent disksim_syncset_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_syncset_param.o disksim_syncset_param.c ../../libparam/mod.pl disksim synthgen.modspec indent disksim_synthgen_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_synthgen_param.o disksim_synthgen_param.c ../../libparam/mod.pl disksim synthio.modspec indent disksim_synthio_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_synthio_param.o disksim_synthio_param.c ../../libparam/mod.pl disksim logorg.modspec indent disksim_logorg_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_logorg_param.o disksim_logorg_param.c ../../libparam/mod.pl disksim pf.modspec indent disksim_pf_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_pf_param.o disksim_pf_param.c ../../libparam/mod.pl disksim cachemem.modspec indent disksim_cachemem_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_cachemem_param.o disksim_cachemem_param.c ../../libparam/mod.pl disksim cachedev.modspec indent disksim_cachedev_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_cachedev_param.o disksim_cachedev_param.c ../../libparam/mod.pl disksim device.modspec indent disksim_device_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_device_param.o disksim_device_param.c ../../libparam/mod.pl disksim iosim.modspec indent disksim_iosim_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_iosim_param.o disksim_iosim_param.c ../../libparam/mod.pl disksim iomap.modspec indent disksim_iomap_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_iomap_param.o disksim_iomap_param.c ../../libparam/make_modules_h.pl disksim *.modspec > modules.h make[2]: Leaving directory `/home/bpayne/disksim-4.0/src/modules' mkdir -p ../include/disksim/modules cp -pR modules/*.h ../include/disksim/modules cp disksim_interface.h ../include gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim.c -o disksim.o disksim.c: In function 'disksim_cleanup': disksim.c:1086:3: warning: implicit declaration of function 'iodriver_cleanup' [-Wimplicit-function-declaration] gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_intr.c -o disksim_intr.o gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_pfsim.c -o disksim_pfsim.o gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_pfdisp.c -o disksim_pfdisp.o gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_synthio.c -o disksim_synthio.o disksim_synthio.c: In function 'synthio_appendio': disksim_synthio.c:215:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_iotrace.c -o disksim_iotrace.o disksim_iotrace.c: In function 'iotrace_hpl_get_ioreq_event': disksim_iotrace.c:373:18: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_iosim.c -o disksim_iosim.o disksim_iosim.c: In function 'iosim_load_map': disksim_iosim.c:364:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] disksim_iosim.c: In function 'io_initialize': disksim_iosim.c:712:4: error: duplicate case value disksim_iosim.c:712:4: error: previously used here make[1]: *** [disksim_iosim.o] Error 1 make[1]: Leaving directory `/home/bpayne/disksim-4.0/src' make: *** [all] Error 2 Thank you, Ben Payne http://mst.edu/~bhpxc9/ Suite 450, Room S452 5520 Research Park Drive Catonsville, MD 21228-4870 Laboratory for Physical Sciences http://www.lps.umd.edu/ office: 443-654-7890 cell: 608-308-2413 From shahkomal786 at gmail.com Tue Nov 6 23:06:48 2012 From: shahkomal786 at gmail.com (Komal Shah) Date: Tue, 6 Nov 2012 20:06:48 -0800 Subject: [Disksim-users] Error while building disksim Message-ID: -- Thanks, Komal Shah. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Error.png Type: image/png Size: 344389 bytes Desc: not available URL: From bpayne at lps.umd.edu Wed Nov 7 08:38:50 2012 From: bpayne at lps.umd.edu (Payne, Benjamin) Date: Wed, 7 Nov 2012 08:38:50 -0500 Subject: [Disksim-users] FW: sqrt problem during make In-Reply-To: <3E9C7E247905FE44A1556F1E7B959E7604C01D67E8@cec-exch.cec.lps.gov> References: <3E9C7E247905FE44A1556F1E7B959E7604C01D67E8@cec-exch.cec.lps.gov> Message-ID: <3E9C7E247905FE44A1556F1E7B959E7604C182B4C9@cec-exch.cec.lps.gov> Hello, Komal Shah's screenshot is of the same problem I mentioned below and never received a reply on. The purpose of this email is to see if there are any developers or other active people reading this list: Are you here? Thanks, Ben -----Original Message----- From: disksim-users-bounces at ece.cmu.edu [mailto:disksim-users-bounces at ece.cmu.edu] On Behalf Of Payne, Benjamin Sent: Friday, November 02, 2012 12:37 PM To: disksim-users at ece.cmu.edu Subject: [Disksim-users] sqrt problem during make Hello, >From reading the list archives, I see the problem with sqrt being undefined during installation isn't new: https://sos.ece.cmu.edu/pipermail/disksim-users/2011-December/000699.html http://cboard.cprogramming.com/c-programming/144182-gcc-compile-problem-link.html The details are below, but my question is on fixing this. Did I make a mistake during installation, or is this normal? If the error is normal, how can it be fixed? On a fresh installation of Ubuntu 12.04 64bit, I ran the following commands to get started with disksim: sudo apt-get install flex bison wget http://www.pdl.cmu.edu/PDL-FTP/DriveChar/disksim-4.0.tar.gz tar xzf disksim-4.0.tar.gz cd disksim-4.0 make The output from "make" is bpayne at bpayne-VirtualBox64:~/disksim-4.0$ make make -C libddbg make[1]: Entering directory `/home/bpayne/disksim-4.0/libddbg' mkdir -p include/libddbg lib cp -p libddbg.h include/libddbg cp -p libddbg.a lib make[1]: Leaving directory `/home/bpayne/disksim-4.0/libddbg' make -C libparam make[1]: Entering directory `/home/bpayne/disksim-4.0/libparam' mkdir -p lib include/libparam cp -p libparam.a lib cp -p bitvector.h libparam.h include/libparam make[1]: Leaving directory `/home/bpayne/disksim-4.0/libparam' make -C diskmodel make[1]: Entering directory `/home/bpayne/disksim-4.0/diskmodel' make -C tests make[2]: Entering directory `/home/bpayne/disksim-4.0/diskmodel/tests' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel/tests' make[1]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel' make -C memsmodel make[1]: Entering directory `/home/bpayne/disksim-4.0/memsmodel' gcc -Wall -Wno-unused -MD -o mems_seektest mems_seektest.o -lm -L. -g -DASSERTS -I../src// -I../ -I../src//src -lmems_internals ./libmems_internals.a(mems_piecewise_seek.o): In function `find_seek_time_piecewise': /home/bpayne/disksim-4.0/memsmodel/mems_piecewise_seek.c:523: undefined reference to `sqrt' /home/bpayne/disksim-4.0/memsmodel/mems_piecewise_seek.c:565: undefined reference to `sqrt' ./libmems_internals.a(mems_hong_seek.o): In function `find_seek_time_hong_x': /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:78: undefined reference to `sqrt' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:80: undefined reference to `acos' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:94: undefined reference to `sqrt' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:96: undefined reference to `acos' ./libmems_internals.a(mems_hong_seek.o): In function `find_seek_time_hong_y': /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:174: undefined reference to `sqrt' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:182: undefined reference to `sqrt' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:182: undefined reference to `sqrt' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:179: undefined reference to `sqrt' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:176: undefined reference to `asin' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:194: undefined reference to `sqrt' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:202: undefined reference to `sqrt' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:202: undefined reference to `sqrt' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:199: undefined reference to `sqrt' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:196: undefined reference to `asin' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:214: undefined reference to `sqrt' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:222: undefined reference to `sqrt' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:222: undefined reference to `sqrt' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:219: undefined reference to `sqrt' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:216: undefined reference to `asin' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:265: undefined reference to `sqrt' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:273: undefined reference to `sqrt' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:273: undefined reference to `sqrt' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:270: undefined reference to `sqrt' /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:267: undefined reference to `asin' collect2: ld returned 1 exit status make[1]: *** [mems_seektest] Error 1 make[1]: Leaving directory `/home/bpayne/disksim-4.0/memsmodel' make: *** [all] Error 2 However, by running the following cd memsmodel gcc -Wall -Wno-unused -MD -o mems_seektest mems_seektest.o -lm -L. -g -DASSERTS -I../src// -I../ -I../src//src -lmems_internals -lm cd .. and then trying make again, I get new output: bpayne at bpayne-VirtualBox64:~/disksim-4.0$ make make -C libddbg make[1]: Entering directory `/home/bpayne/disksim-4.0/libddbg' mkdir -p include/libddbg lib cp -p libddbg.h include/libddbg cp -p libddbg.a lib make[1]: Leaving directory `/home/bpayne/disksim-4.0/libddbg' make -C libparam make[1]: Entering directory `/home/bpayne/disksim-4.0/libparam' mkdir -p lib include/libparam cp -p libparam.a lib cp -p bitvector.h libparam.h include/libparam make[1]: Leaving directory `/home/bpayne/disksim-4.0/libparam' make -C diskmodel make[1]: Entering directory `/home/bpayne/disksim-4.0/diskmodel' make -C tests make[2]: Entering directory `/home/bpayne/disksim-4.0/diskmodel/tests' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel/tests' make[1]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel' make -C memsmodel make[1]: Entering directory `/home/bpayne/disksim-4.0/memsmodel' gcc -Wall -Wno-unused -MD -g -DASSERTS -I../src// -I../ -I../src//src -c -o mems_disksim.o mems_disksim.c gcc -Wall -Wno-unused -MD -g -DASSERTS -I../src// -I../ -I../src//src -c -o mems_event.o mems_event.c gcc -Wall -Wno-unused -MD -g -DASSERTS -I../src// -I../ -I../src//src -c -o mems_mapping.o mems_mapping.c gcc -Wall -Wno-unused -MD -c -g -DASSERTS -I../src// -I../ -I../src//src mems_buffer.c -o mems_buffer.o ar cru libmemsmodel.a mems_disksim.o mems_event.o mems_mapping.o mems_internals.o mems_piecewise_seek.o mems_hong_seek.o mems_buffer.o modules/memsmodel_mems_param.o ranlib libmemsmodel.a mkdir -p lib cp -p libmemsmodel.a lib make[1]: Leaving directory `/home/bpayne/disksim-4.0/memsmodel' make -C src make[1]: Entering directory `/home/bpayne/disksim-4.0/src' make -C modules make[2]: Entering directory `/home/bpayne/disksim-4.0/src/modules' ../../libparam/mod.pl disksim bus.modspec indent disksim_bus_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_bus_param.o disksim_bus_param.c ../../libparam/mod.pl disksim ctlr.modspec indent disksim_ctlr_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_ctlr_param.o disksim_ctlr_param.c disksim_ctlr_param.c: In function 'DISKSIM_CTLR_SCHEDULER_loader': disksim_ctlr_param.c:64:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] ../../libparam/mod.pl disksim iodriver.modspec indent disksim_iodriver_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_iodriver_param.o disksim_iodriver_param.c disksim_iodriver_param.c: In function 'DISKSIM_IODRIVER_SCHEDULER_loader': disksim_iodriver_param.c:42:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] ../../libparam/mod.pl disksim ioqueue.modspec indent disksim_ioqueue_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_ioqueue_param.o disksim_ioqueue_param.c ../../libparam/mod.pl disksim disk.modspec indent disksim_disk_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_disk_param.o disksim_disk_param.c disksim_disk_param.c: In function 'DISKSIM_DISK_MODEL_loader': disksim_disk_param.c:9:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] disksim_disk_param.c: In function 'DISKSIM_DISK_SCHEDULER_loader': disksim_disk_param.c:19:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] disksim_disk_param.c: In function 'DISKSIM_DISK_USE_SEPARATE_WRITE_SEGMENT_loader': disksim_disk_param.c:241:30: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] ../../libparam/mod.pl disksim simpledisk.modspec indent disksim_simpledisk_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_simpledisk_param.o disksim_simpledisk_param.c disksim_simpledisk_param.c: In function 'DISKSIM_SIMPLEDISK_SCHEDULER_loader': disksim_simpledisk_param.c:9:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] ../../libparam/mod.pl disksim device_stats.modspec indent disksim_device_stats_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_device_stats_param.o disksim_device_stats_param.c ../../libparam/mod.pl disksim bus_stats.modspec indent disksim_bus_stats_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_bus_stats_param.o disksim_bus_stats_param.c ../../libparam/mod.pl disksim ctlr_stats.modspec indent disksim_ctlr_stats_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_ctlr_stats_param.o disksim_ctlr_stats_param.c ../../libparam/mod.pl disksim iodriver_stats.modspec indent disksim_iodriver_stats_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_iodriver_stats_param.o disksim_iodriver_stats_param.c ../../libparam/mod.pl disksim pf_stats.modspec indent disksim_pf_stats_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_pf_stats_param.o disksim_pf_stats_param.c ../../libparam/mod.pl disksim global.modspec indent disksim_global_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_global_param.o disksim_global_param.c ../../libparam/mod.pl disksim stats.modspec indent disksim_stats_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_stats_param.o disksim_stats_param.c ../../libparam/mod.pl disksim syncset.modspec indent disksim_syncset_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_syncset_param.o disksim_syncset_param.c ../../libparam/mod.pl disksim synthgen.modspec indent disksim_synthgen_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_synthgen_param.o disksim_synthgen_param.c ../../libparam/mod.pl disksim synthio.modspec indent disksim_synthio_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_synthio_param.o disksim_synthio_param.c ../../libparam/mod.pl disksim logorg.modspec indent disksim_logorg_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_logorg_param.o disksim_logorg_param.c ../../libparam/mod.pl disksim pf.modspec indent disksim_pf_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_pf_param.o disksim_pf_param.c ../../libparam/mod.pl disksim cachemem.modspec indent disksim_cachemem_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_cachemem_param.o disksim_cachemem_param.c ../../libparam/mod.pl disksim cachedev.modspec indent disksim_cachedev_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_cachedev_param.o disksim_cachedev_param.c ../../libparam/mod.pl disksim device.modspec indent disksim_device_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_device_param.o disksim_device_param.c ../../libparam/mod.pl disksim iosim.modspec indent disksim_iosim_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_iosim_param.o disksim_iosim_param.c ../../libparam/mod.pl disksim iomap.modspec indent disksim_iomap_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_iomap_param.o disksim_iomap_param.c ../../libparam/make_modules_h.pl disksim *.modspec > modules.h make[2]: Leaving directory `/home/bpayne/disksim-4.0/src/modules' mkdir -p ../include/disksim/modules cp -pR modules/*.h ../include/disksim/modules cp disksim_interface.h ../include gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim.c -o disksim.o disksim.c: In function 'disksim_cleanup': disksim.c:1086:3: warning: implicit declaration of function 'iodriver_cleanup' [-Wimplicit-function-declaration] gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_intr.c -o disksim_intr.o gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_pfsim.c -o disksim_pfsim.o gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_pfdisp.c -o disksim_pfdisp.o gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_synthio.c -o disksim_synthio.o disksim_synthio.c: In function 'synthio_appendio': disksim_synthio.c:215:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_iotrace.c -o disksim_iotrace.o disksim_iotrace.c: In function 'iotrace_hpl_get_ioreq_event': disksim_iotrace.c:373:18: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_iosim.c -o disksim_iosim.o disksim_iosim.c: In function 'iosim_load_map': disksim_iosim.c:364:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] disksim_iosim.c: In function 'io_initialize': disksim_iosim.c:712:4: error: duplicate case value disksim_iosim.c:712:4: error: previously used here make[1]: *** [disksim_iosim.o] Error 1 make[1]: Leaving directory `/home/bpayne/disksim-4.0/src' make: *** [all] Error 2 Thank you, Ben Payne http://mst.edu/~bhpxc9/ Suite 450, Room S452 5520 Research Park Drive Catonsville, MD 21228-4870 Laboratory for Physical Sciences http://www.lps.umd.edu/ office: 443-654-7890 cell: 608-308-2413 _______________________________________________ Disksim-users mailing list Disksim-users at ece.cmu.edu https://sos.ece.cmu.edu/mailman/listinfo/disksim-users From bpayne at lps.umd.edu Wed Nov 7 08:59:58 2012 From: bpayne at lps.umd.edu (Payne, Benjamin) Date: Wed, 7 Nov 2012 08:59:58 -0500 Subject: [Disksim-users] FW: sqrt problem during make In-Reply-To: <509A6887.1090803@eecs.harvard.edu> References: <3E9C7E247905FE44A1556F1E7B959E7604C01D67E8@cec-exch.cec.lps.gov> <3E9C7E247905FE44A1556F1E7B959E7604C182B4C9@cec-exch.cec.lps.gov> <509A6887.1090803@eecs.harvard.edu> Message-ID: <3E9C7E247905FE44A1556F1E7B959E7604C182B4CB@cec-exch.cec.lps.gov> Thanks for the fix Peter. If this is all known, what is the route for getting the source code fixed? Kindly, Ben -----Original Message----- From: Peter Macko [mailto:pmacko at eecs.harvard.edu] Sent: Wednesday, November 07, 2012 8:56 AM To: Payne, Benjamin Cc: disksim-users at ece.cmu.edu Subject: Re: [Disksim-users] FW: sqrt problem during make I haven't used disksim in more than a year (so I am not an active user by any means), but your email prompted me to do some research about how I solved this. In memsmodel/Makefile, just change: mems_seektest: mems_seektest.o libmems_internals.a $(CC) -o $@ mems_seektest.o $(LDFLAGS) $(CFLAGS) -lmems_internals to: mems_seektest: mems_seektest.o libmems_internals.a $(CC) -o $@ mems_seektest.o $(CFLAGS) -lmems_internals $(LDFLAGS) This should hopefully fix the sqrt problem. (I am not sure if that's all you need, but see if this helps.) The duplicate case value is a result of a static assertion that checks to make sure that you are running on a 32-bit system. For 64-bit systems, you can get a patch from here: http://scobyseo.blogspot.com/2009/12/disksim-40-ssd-extention-64bit-patch.html The patch did not apply cleanly for me, so I had to apply it manually, and then it worked (plus you should feel free to ignore the ssdmodel part if you are not using the SSD extensions). Best, -Peter On 11/07/2012 08:38 AM, Payne, Benjamin wrote: > Hello, > > Komal Shah's screenshot is of the same problem I mentioned below and never received a reply on. > > The purpose of this email is to see if there are any developers or other active people reading this list: Are you here? > > Thanks, > > Ben > > -----Original Message----- > From: disksim-users-bounces at ece.cmu.edu > [mailto:disksim-users-bounces at ece.cmu.edu] On Behalf Of Payne, > Benjamin > Sent: Friday, November 02, 2012 12:37 PM > To: disksim-users at ece.cmu.edu > Subject: [Disksim-users] sqrt problem during make > > Hello, > > >From reading the list archives, I see the problem with sqrt being undefined during installation isn't new: > https://sos.ece.cmu.edu/pipermail/disksim-users/2011-December/000699.h > tml > http://cboard.cprogramming.com/c-programming/144182-gcc-compile-proble > m-link.html > > The details are below, but my question is on fixing this. Did I make a mistake during installation, or is this normal? If the error is normal, how can it be fixed? > > On a fresh installation of Ubuntu 12.04 64bit, I ran the following commands to get started with disksim: > > sudo apt-get install flex bison > wget http://www.pdl.cmu.edu/PDL-FTP/DriveChar/disksim-4.0.tar.gz > tar xzf disksim-4.0.tar.gz > cd disksim-4.0 > make > > The output from "make" is > > bpayne at bpayne-VirtualBox64:~/disksim-4.0$ make make -C libddbg > make[1]: Entering directory `/home/bpayne/disksim-4.0/libddbg' > mkdir -p include/libddbg lib > cp -p libddbg.h include/libddbg > cp -p libddbg.a lib > make[1]: Leaving directory `/home/bpayne/disksim-4.0/libddbg' > make -C libparam > make[1]: Entering directory `/home/bpayne/disksim-4.0/libparam' > mkdir -p lib include/libparam > cp -p libparam.a lib > cp -p bitvector.h libparam.h include/libparam > make[1]: Leaving directory `/home/bpayne/disksim-4.0/libparam' > make -C diskmodel > make[1]: Entering directory `/home/bpayne/disksim-4.0/diskmodel' > make -C tests > make[2]: Entering directory `/home/bpayne/disksim-4.0/diskmodel/tests' > make[2]: Nothing to be done for `all'. > make[2]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel/tests' > make[1]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel' > make -C memsmodel > make[1]: Entering directory `/home/bpayne/disksim-4.0/memsmodel' > gcc -Wall -Wno-unused -MD -o mems_seektest mems_seektest.o -lm -L. -g > -DASSERTS -I../src// -I../ -I../src//src -lmems_internals > ./libmems_internals.a(mems_piecewise_seek.o): In function `find_seek_time_piecewise': > /home/bpayne/disksim-4.0/memsmodel/mems_piecewise_seek.c:523: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_piecewise_seek.c:565: undefined reference to `sqrt' > ./libmems_internals.a(mems_hong_seek.o): In function `find_seek_time_hong_x': > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:78: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:80: undefined reference to `acos' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:94: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:96: undefined reference to `acos' > ./libmems_internals.a(mems_hong_seek.o): In function `find_seek_time_hong_y': > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:174: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:182: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:182: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:179: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:176: undefined reference to `asin' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:194: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:202: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:202: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:199: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:196: undefined reference to `asin' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:214: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:222: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:222: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:219: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:216: undefined reference to `asin' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:265: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:273: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:273: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:270: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:267: undefined reference to `asin' > collect2: ld returned 1 exit status > make[1]: *** [mems_seektest] Error 1 > make[1]: Leaving directory `/home/bpayne/disksim-4.0/memsmodel' > make: *** [all] Error 2 > > However, by running the following > > cd memsmodel > gcc -Wall -Wno-unused -MD -o mems_seektest mems_seektest.o -lm -L. -g -DASSERTS -I../src// -I../ -I../src//src -lmems_internals -lm cd .. > > and then trying make again, I get new output: > > bpayne at bpayne-VirtualBox64:~/disksim-4.0$ make make -C libddbg > make[1]: Entering directory `/home/bpayne/disksim-4.0/libddbg' > mkdir -p include/libddbg lib > cp -p libddbg.h include/libddbg > cp -p libddbg.a lib > make[1]: Leaving directory `/home/bpayne/disksim-4.0/libddbg' > make -C libparam > make[1]: Entering directory `/home/bpayne/disksim-4.0/libparam' > mkdir -p lib include/libparam > cp -p libparam.a lib > cp -p bitvector.h libparam.h include/libparam > make[1]: Leaving directory `/home/bpayne/disksim-4.0/libparam' > make -C diskmodel > make[1]: Entering directory `/home/bpayne/disksim-4.0/diskmodel' > make -C tests > make[2]: Entering directory `/home/bpayne/disksim-4.0/diskmodel/tests' > make[2]: Nothing to be done for `all'. > make[2]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel/tests' > make[1]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel' > make -C memsmodel > make[1]: Entering directory `/home/bpayne/disksim-4.0/memsmodel' > gcc -Wall -Wno-unused -MD -g -DASSERTS -I../src// -I../ -I../src//src -c -o mems_disksim.o mems_disksim.c > gcc -Wall -Wno-unused -MD -g -DASSERTS -I../src// -I../ -I../src//src -c -o mems_event.o mems_event.c > gcc -Wall -Wno-unused -MD -g -DASSERTS -I../src// -I../ -I../src//src -c -o mems_mapping.o mems_mapping.c > gcc -Wall -Wno-unused -MD -c -g -DASSERTS -I../src// -I../ > -I../src//src mems_buffer.c -o mems_buffer.o ar cru libmemsmodel.a > mems_disksim.o mems_event.o mems_mapping.o mems_internals.o > mems_piecewise_seek.o mems_hong_seek.o mems_buffer.o > modules/memsmodel_mems_param.o ranlib libmemsmodel.a mkdir -p lib cp > -p libmemsmodel.a lib > make[1]: Leaving directory `/home/bpayne/disksim-4.0/memsmodel' > make -C src > make[1]: Entering directory `/home/bpayne/disksim-4.0/src' > make -C modules > make[2]: Entering directory `/home/bpayne/disksim-4.0/src/modules' > ../../libparam/mod.pl disksim bus.modspec indent disksim_bus_param.c > || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_bus_param.o disksim_bus_param.c > ../../libparam/mod.pl disksim ctlr.modspec indent disksim_ctlr_param.c > || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_ctlr_param.o disksim_ctlr_param.c > disksim_ctlr_param.c: In function 'DISKSIM_CTLR_SCHEDULER_loader': > disksim_ctlr_param.c:64:24: warning: cast to pointer from integer of > different size [-Wint-to-pointer-cast] ../../libparam/mod.pl disksim > iodriver.modspec indent disksim_iodriver_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_iodriver_param.o disksim_iodriver_param.c > disksim_iodriver_param.c: In function 'DISKSIM_IODRIVER_SCHEDULER_loader': > disksim_iodriver_param.c:42:24: warning: cast to pointer from integer > of different size [-Wint-to-pointer-cast] ../../libparam/mod.pl > disksim ioqueue.modspec indent disksim_ioqueue_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_ioqueue_param.o disksim_ioqueue_param.c > ../../libparam/mod.pl disksim disk.modspec indent disksim_disk_param.c > || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_disk_param.o disksim_disk_param.c > disksim_disk_param.c: In function 'DISKSIM_DISK_MODEL_loader': > disksim_disk_param.c:9:24: warning: cast to pointer from integer of > different size [-Wint-to-pointer-cast] > disksim_disk_param.c: In function 'DISKSIM_DISK_SCHEDULER_loader': > disksim_disk_param.c:19:25: warning: cast to pointer from integer of > different size [-Wint-to-pointer-cast] > disksim_disk_param.c: In function 'DISKSIM_DISK_USE_SEPARATE_WRITE_SEGMENT_loader': > disksim_disk_param.c:241:30: warning: cast to pointer from integer of > different size [-Wint-to-pointer-cast] ../../libparam/mod.pl disksim > simpledisk.modspec indent disksim_simpledisk_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_simpledisk_param.o disksim_simpledisk_param.c > disksim_simpledisk_param.c: In function 'DISKSIM_SIMPLEDISK_SCHEDULER_loader': > disksim_simpledisk_param.c:9:24: warning: cast to pointer from integer > of different size [-Wint-to-pointer-cast] ../../libparam/mod.pl > disksim device_stats.modspec indent disksim_device_stats_param.c || > true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_device_stats_param.o disksim_device_stats_param.c > ../../libparam/mod.pl disksim bus_stats.modspec indent > disksim_bus_stats_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_bus_stats_param.o disksim_bus_stats_param.c > ../../libparam/mod.pl disksim ctlr_stats.modspec indent > disksim_ctlr_stats_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_ctlr_stats_param.o disksim_ctlr_stats_param.c > ../../libparam/mod.pl disksim iodriver_stats.modspec indent > disksim_iodriver_stats_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_iodriver_stats_param.o disksim_iodriver_stats_param.c > ../../libparam/mod.pl disksim pf_stats.modspec indent > disksim_pf_stats_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_pf_stats_param.o disksim_pf_stats_param.c > ../../libparam/mod.pl disksim global.modspec indent > disksim_global_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_global_param.o disksim_global_param.c > ../../libparam/mod.pl disksim stats.modspec indent > disksim_stats_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_stats_param.o disksim_stats_param.c > ../../libparam/mod.pl disksim syncset.modspec indent > disksim_syncset_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_syncset_param.o disksim_syncset_param.c > ../../libparam/mod.pl disksim synthgen.modspec indent > disksim_synthgen_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_synthgen_param.o disksim_synthgen_param.c > ../../libparam/mod.pl disksim synthio.modspec indent > disksim_synthio_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_synthio_param.o disksim_synthio_param.c > ../../libparam/mod.pl disksim logorg.modspec indent > disksim_logorg_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_logorg_param.o disksim_logorg_param.c > ../../libparam/mod.pl disksim pf.modspec indent disksim_pf_param.c || > true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_pf_param.o disksim_pf_param.c > ../../libparam/mod.pl disksim cachemem.modspec indent > disksim_cachemem_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_cachemem_param.o disksim_cachemem_param.c > ../../libparam/mod.pl disksim cachedev.modspec indent > disksim_cachedev_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_cachedev_param.o disksim_cachedev_param.c > ../../libparam/mod.pl disksim device.modspec indent > disksim_device_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_device_param.o disksim_device_param.c > ../../libparam/mod.pl disksim iosim.modspec indent > disksim_iosim_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_iosim_param.o disksim_iosim_param.c > ../../libparam/mod.pl disksim iomap.modspec indent > disksim_iomap_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_iomap_param.o disksim_iomap_param.c > ../../libparam/make_modules_h.pl disksim *.modspec > modules.h > make[2]: Leaving directory `/home/bpayne/disksim-4.0/src/modules' > mkdir -p ../include/disksim/modules > cp -pR modules/*.h ../include/disksim/modules cp disksim_interface.h ../include > gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim.c -o disksim.o > disksim.c: In function 'disksim_cleanup': > disksim.c:1086:3: warning: implicit declaration of function 'iodriver_cleanup' [-Wimplicit-function-declaration] > gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_intr.c -o disksim_intr.o > gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_pfsim.c -o disksim_pfsim.o > gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_pfdisp.c -o disksim_pfdisp.o > gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_synthio.c -o disksim_synthio.o > disksim_synthio.c: In function 'synthio_appendio': > disksim_synthio.c:215:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] > gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_iotrace.c -o disksim_iotrace.o > disksim_iotrace.c: In function 'iotrace_hpl_get_ioreq_event': > disksim_iotrace.c:373:18: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] > gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_iosim.c -o disksim_iosim.o > disksim_iosim.c: In function 'iosim_load_map': > disksim_iosim.c:364:17: warning: cast to pointer from integer of > different size [-Wint-to-pointer-cast] > disksim_iosim.c: In function 'io_initialize': > disksim_iosim.c:712:4: error: duplicate case value > disksim_iosim.c:712:4: error: previously used here > make[1]: *** [disksim_iosim.o] Error 1 > make[1]: Leaving directory `/home/bpayne/disksim-4.0/src' > make: *** [all] Error 2 > > > > Thank you, > > > Ben Payne > http://mst.edu/~bhpxc9/ > Suite 450, Room S452 > 5520 Research Park Drive > Catonsville, MD 21228-4870 > Laboratory for Physical Sciences > http://www.lps.umd.edu/ > office: 443-654-7890 > cell: 608-308-2413 > > > _______________________________________________ > Disksim-users mailing list > Disksim-users at ece.cmu.edu > https://sos.ece.cmu.edu/mailman/listinfo/disksim-users > _______________________________________________ > Disksim-users mailing list > Disksim-users at ece.cmu.edu > https://sos.ece.cmu.edu/mailman/listinfo/disksim-users From pmacko at eecs.harvard.edu Wed Nov 7 08:56:23 2012 From: pmacko at eecs.harvard.edu (Peter Macko) Date: Wed, 07 Nov 2012 08:56:23 -0500 Subject: [Disksim-users] FW: sqrt problem during make In-Reply-To: <3E9C7E247905FE44A1556F1E7B959E7604C182B4C9@cec-exch.cec.lps.gov> References: <3E9C7E247905FE44A1556F1E7B959E7604C01D67E8@cec-exch.cec.lps.gov> <3E9C7E247905FE44A1556F1E7B959E7604C182B4C9@cec-exch.cec.lps.gov> Message-ID: <509A6887.1090803@eecs.harvard.edu> I haven't used disksim in more than a year (so I am not an active user by any means), but your email prompted me to do some research about how I solved this. In memsmodel/Makefile, just change: mems_seektest: mems_seektest.o libmems_internals.a $(CC) -o $@ mems_seektest.o $(LDFLAGS) $(CFLAGS) -lmems_internals to: mems_seektest: mems_seektest.o libmems_internals.a $(CC) -o $@ mems_seektest.o $(CFLAGS) -lmems_internals $(LDFLAGS) This should hopefully fix the sqrt problem. (I am not sure if that's all you need, but see if this helps.) The duplicate case value is a result of a static assertion that checks to make sure that you are running on a 32-bit system. For 64-bit systems, you can get a patch from here: http://scobyseo.blogspot.com/2009/12/disksim-40-ssd-extention-64bit-patch.html The patch did not apply cleanly for me, so I had to apply it manually, and then it worked (plus you should feel free to ignore the ssdmodel part if you are not using the SSD extensions). Best, -Peter On 11/07/2012 08:38 AM, Payne, Benjamin wrote: > Hello, > > Komal Shah's screenshot is of the same problem I mentioned below and never received a reply on. > > The purpose of this email is to see if there are any developers or other active people reading this list: Are you here? > > Thanks, > > Ben > > -----Original Message----- > From: disksim-users-bounces at ece.cmu.edu [mailto:disksim-users-bounces at ece.cmu.edu] On Behalf Of Payne, Benjamin > Sent: Friday, November 02, 2012 12:37 PM > To: disksim-users at ece.cmu.edu > Subject: [Disksim-users] sqrt problem during make > > Hello, > > >From reading the list archives, I see the problem with sqrt being undefined during installation isn't new: > https://sos.ece.cmu.edu/pipermail/disksim-users/2011-December/000699.html > http://cboard.cprogramming.com/c-programming/144182-gcc-compile-problem-link.html > > The details are below, but my question is on fixing this. Did I make a mistake during installation, or is this normal? If the error is normal, how can it be fixed? > > On a fresh installation of Ubuntu 12.04 64bit, I ran the following commands to get started with disksim: > > sudo apt-get install flex bison > wget http://www.pdl.cmu.edu/PDL-FTP/DriveChar/disksim-4.0.tar.gz > tar xzf disksim-4.0.tar.gz > cd disksim-4.0 > make > > The output from "make" is > > bpayne at bpayne-VirtualBox64:~/disksim-4.0$ make make -C libddbg > make[1]: Entering directory `/home/bpayne/disksim-4.0/libddbg' > mkdir -p include/libddbg lib > cp -p libddbg.h include/libddbg > cp -p libddbg.a lib > make[1]: Leaving directory `/home/bpayne/disksim-4.0/libddbg' > make -C libparam > make[1]: Entering directory `/home/bpayne/disksim-4.0/libparam' > mkdir -p lib include/libparam > cp -p libparam.a lib > cp -p bitvector.h libparam.h include/libparam > make[1]: Leaving directory `/home/bpayne/disksim-4.0/libparam' > make -C diskmodel > make[1]: Entering directory `/home/bpayne/disksim-4.0/diskmodel' > make -C tests > make[2]: Entering directory `/home/bpayne/disksim-4.0/diskmodel/tests' > make[2]: Nothing to be done for `all'. > make[2]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel/tests' > make[1]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel' > make -C memsmodel > make[1]: Entering directory `/home/bpayne/disksim-4.0/memsmodel' > gcc -Wall -Wno-unused -MD -o mems_seektest mems_seektest.o -lm -L. -g -DASSERTS -I../src// -I../ -I../src//src -lmems_internals > ./libmems_internals.a(mems_piecewise_seek.o): In function `find_seek_time_piecewise': > /home/bpayne/disksim-4.0/memsmodel/mems_piecewise_seek.c:523: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_piecewise_seek.c:565: undefined reference to `sqrt' > ./libmems_internals.a(mems_hong_seek.o): In function `find_seek_time_hong_x': > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:78: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:80: undefined reference to `acos' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:94: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:96: undefined reference to `acos' > ./libmems_internals.a(mems_hong_seek.o): In function `find_seek_time_hong_y': > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:174: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:182: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:182: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:179: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:176: undefined reference to `asin' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:194: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:202: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:202: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:199: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:196: undefined reference to `asin' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:214: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:222: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:222: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:219: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:216: undefined reference to `asin' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:265: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:273: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:273: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:270: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:267: undefined reference to `asin' > collect2: ld returned 1 exit status > make[1]: *** [mems_seektest] Error 1 > make[1]: Leaving directory `/home/bpayne/disksim-4.0/memsmodel' > make: *** [all] Error 2 > > However, by running the following > > cd memsmodel > gcc -Wall -Wno-unused -MD -o mems_seektest mems_seektest.o -lm -L. -g -DASSERTS -I../src// -I../ -I../src//src -lmems_internals -lm cd .. > > and then trying make again, I get new output: > > bpayne at bpayne-VirtualBox64:~/disksim-4.0$ make make -C libddbg > make[1]: Entering directory `/home/bpayne/disksim-4.0/libddbg' > mkdir -p include/libddbg lib > cp -p libddbg.h include/libddbg > cp -p libddbg.a lib > make[1]: Leaving directory `/home/bpayne/disksim-4.0/libddbg' > make -C libparam > make[1]: Entering directory `/home/bpayne/disksim-4.0/libparam' > mkdir -p lib include/libparam > cp -p libparam.a lib > cp -p bitvector.h libparam.h include/libparam > make[1]: Leaving directory `/home/bpayne/disksim-4.0/libparam' > make -C diskmodel > make[1]: Entering directory `/home/bpayne/disksim-4.0/diskmodel' > make -C tests > make[2]: Entering directory `/home/bpayne/disksim-4.0/diskmodel/tests' > make[2]: Nothing to be done for `all'. > make[2]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel/tests' > make[1]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel' > make -C memsmodel > make[1]: Entering directory `/home/bpayne/disksim-4.0/memsmodel' > gcc -Wall -Wno-unused -MD -g -DASSERTS -I../src// -I../ -I../src//src -c -o mems_disksim.o mems_disksim.c > gcc -Wall -Wno-unused -MD -g -DASSERTS -I../src// -I../ -I../src//src -c -o mems_event.o mems_event.c > gcc -Wall -Wno-unused -MD -g -DASSERTS -I../src// -I../ -I../src//src -c -o mems_mapping.o mems_mapping.c > gcc -Wall -Wno-unused -MD -c -g -DASSERTS -I../src// -I../ -I../src//src mems_buffer.c -o mems_buffer.o ar cru libmemsmodel.a mems_disksim.o mems_event.o mems_mapping.o mems_internals.o mems_piecewise_seek.o mems_hong_seek.o mems_buffer.o modules/memsmodel_mems_param.o ranlib libmemsmodel.a mkdir -p lib cp -p libmemsmodel.a lib > make[1]: Leaving directory `/home/bpayne/disksim-4.0/memsmodel' > make -C src > make[1]: Entering directory `/home/bpayne/disksim-4.0/src' > make -C modules > make[2]: Entering directory `/home/bpayne/disksim-4.0/src/modules' > ../../libparam/mod.pl disksim bus.modspec indent disksim_bus_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_bus_param.o disksim_bus_param.c > ../../libparam/mod.pl disksim ctlr.modspec indent disksim_ctlr_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_ctlr_param.o disksim_ctlr_param.c > disksim_ctlr_param.c: In function 'DISKSIM_CTLR_SCHEDULER_loader': > disksim_ctlr_param.c:64:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] ../../libparam/mod.pl disksim iodriver.modspec indent disksim_iodriver_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_iodriver_param.o disksim_iodriver_param.c > disksim_iodriver_param.c: In function 'DISKSIM_IODRIVER_SCHEDULER_loader': > disksim_iodriver_param.c:42:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] ../../libparam/mod.pl disksim ioqueue.modspec indent disksim_ioqueue_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_ioqueue_param.o disksim_ioqueue_param.c > ../../libparam/mod.pl disksim disk.modspec indent disksim_disk_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_disk_param.o disksim_disk_param.c > disksim_disk_param.c: In function 'DISKSIM_DISK_MODEL_loader': > disksim_disk_param.c:9:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] > disksim_disk_param.c: In function 'DISKSIM_DISK_SCHEDULER_loader': > disksim_disk_param.c:19:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] > disksim_disk_param.c: In function 'DISKSIM_DISK_USE_SEPARATE_WRITE_SEGMENT_loader': > disksim_disk_param.c:241:30: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] ../../libparam/mod.pl disksim simpledisk.modspec indent disksim_simpledisk_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_simpledisk_param.o disksim_simpledisk_param.c > disksim_simpledisk_param.c: In function 'DISKSIM_SIMPLEDISK_SCHEDULER_loader': > disksim_simpledisk_param.c:9:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] ../../libparam/mod.pl disksim device_stats.modspec indent disksim_device_stats_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_device_stats_param.o disksim_device_stats_param.c > ../../libparam/mod.pl disksim bus_stats.modspec indent disksim_bus_stats_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_bus_stats_param.o disksim_bus_stats_param.c > ../../libparam/mod.pl disksim ctlr_stats.modspec indent disksim_ctlr_stats_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_ctlr_stats_param.o disksim_ctlr_stats_param.c > ../../libparam/mod.pl disksim iodriver_stats.modspec indent disksim_iodriver_stats_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_iodriver_stats_param.o disksim_iodriver_stats_param.c > ../../libparam/mod.pl disksim pf_stats.modspec indent disksim_pf_stats_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_pf_stats_param.o disksim_pf_stats_param.c > ../../libparam/mod.pl disksim global.modspec indent disksim_global_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_global_param.o disksim_global_param.c > ../../libparam/mod.pl disksim stats.modspec indent disksim_stats_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_stats_param.o disksim_stats_param.c > ../../libparam/mod.pl disksim syncset.modspec indent disksim_syncset_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_syncset_param.o disksim_syncset_param.c > ../../libparam/mod.pl disksim synthgen.modspec indent disksim_synthgen_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_synthgen_param.o disksim_synthgen_param.c > ../../libparam/mod.pl disksim synthio.modspec indent disksim_synthio_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_synthio_param.o disksim_synthio_param.c > ../../libparam/mod.pl disksim logorg.modspec indent disksim_logorg_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_logorg_param.o disksim_logorg_param.c > ../../libparam/mod.pl disksim pf.modspec indent disksim_pf_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_pf_param.o disksim_pf_param.c > ../../libparam/mod.pl disksim cachemem.modspec indent disksim_cachemem_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_cachemem_param.o disksim_cachemem_param.c > ../../libparam/mod.pl disksim cachedev.modspec indent disksim_cachedev_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_cachedev_param.o disksim_cachedev_param.c > ../../libparam/mod.pl disksim device.modspec indent disksim_device_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_device_param.o disksim_device_param.c > ../../libparam/mod.pl disksim iosim.modspec indent disksim_iosim_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_iosim_param.o disksim_iosim_param.c > ../../libparam/mod.pl disksim iomap.modspec indent disksim_iomap_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_iomap_param.o disksim_iomap_param.c > ../../libparam/make_modules_h.pl disksim *.modspec > modules.h > make[2]: Leaving directory `/home/bpayne/disksim-4.0/src/modules' > mkdir -p ../include/disksim/modules > cp -pR modules/*.h ../include/disksim/modules cp disksim_interface.h ../include > gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim.c -o disksim.o > disksim.c: In function 'disksim_cleanup': > disksim.c:1086:3: warning: implicit declaration of function 'iodriver_cleanup' [-Wimplicit-function-declaration] > gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_intr.c -o disksim_intr.o > gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_pfsim.c -o disksim_pfsim.o > gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_pfdisp.c -o disksim_pfdisp.o > gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_synthio.c -o disksim_synthio.o > disksim_synthio.c: In function 'synthio_appendio': > disksim_synthio.c:215:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] > gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_iotrace.c -o disksim_iotrace.o > disksim_iotrace.c: In function 'iotrace_hpl_get_ioreq_event': > disksim_iotrace.c:373:18: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] > gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_iosim.c -o disksim_iosim.o > disksim_iosim.c: In function 'iosim_load_map': > disksim_iosim.c:364:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] > disksim_iosim.c: In function 'io_initialize': > disksim_iosim.c:712:4: error: duplicate case value > disksim_iosim.c:712:4: error: previously used here > make[1]: *** [disksim_iosim.o] Error 1 > make[1]: Leaving directory `/home/bpayne/disksim-4.0/src' > make: *** [all] Error 2 > > > > Thank you, > > > Ben Payne > http://mst.edu/~bhpxc9/ > Suite 450, Room S452 > 5520 Research Park Drive > Catonsville, MD 21228-4870 > Laboratory for Physical Sciences > http://www.lps.umd.edu/ > office: 443-654-7890 > cell: 608-308-2413 > > > _______________________________________________ > Disksim-users mailing list > Disksim-users at ece.cmu.edu > https://sos.ece.cmu.edu/mailman/listinfo/disksim-users > _______________________________________________ > Disksim-users mailing list > Disksim-users at ece.cmu.edu > https://sos.ece.cmu.edu/mailman/listinfo/disksim-users From pmacko at eecs.harvard.edu Wed Nov 7 09:37:38 2012 From: pmacko at eecs.harvard.edu (Peter Macko) Date: Wed, 07 Nov 2012 09:37:38 -0500 Subject: [Disksim-users] FW: sqrt problem during make In-Reply-To: <509A6887.1090803@eecs.harvard.edu> References: <3E9C7E247905FE44A1556F1E7B959E7604C01D67E8@cec-exch.cec.lps.gov> <3E9C7E247905FE44A1556F1E7B959E7604C182B4C9@cec-exch.cec.lps.gov> <509A6887.1090803@eecs.harvard.edu> Message-ID: <509A7232.60909@eecs.harvard.edu> Also, I forgot to mention that there is also a DiskSim-only patch without the SSD modules: http://scobyseo.blogspot.com/2010/03/disksim-40-64bit-patch.html Best, -Peter On 11/07/2012 08:56 AM, Peter Macko wrote: > I haven't used disksim in more than a year (so I am not an active user > by any means), but your email prompted me to do some research about > how I solved this. > > In memsmodel/Makefile, just change: > > mems_seektest: mems_seektest.o libmems_internals.a > $(CC) -o $@ mems_seektest.o $(LDFLAGS) $(CFLAGS) -lmems_internals > > to: > > mems_seektest: mems_seektest.o libmems_internals.a > $(CC) -o $@ mems_seektest.o $(CFLAGS) -lmems_internals $(LDFLAGS) > > This should hopefully fix the sqrt problem. (I am not sure if that's > all you need, but see if this helps.) > > The duplicate case value is a result of a static assertion that checks > to make sure that you are running on a 32-bit system. For 64-bit > systems, you can get a patch from here: > http://scobyseo.blogspot.com/2009/12/disksim-40-ssd-extention-64bit-patch.html > > The patch did not apply cleanly for me, so I had to apply it manually, > and then it worked (plus you should feel free to ignore the ssdmodel > part if you are not using the SSD extensions). > > Best, > -Peter > > > On 11/07/2012 08:38 AM, Payne, Benjamin wrote: >> Hello, >> >> Komal Shah's screenshot is of the same problem I mentioned below and >> never received a reply on. >> >> The purpose of this email is to see if there are any developers or >> other active people reading this list: Are you here? >> >> Thanks, >> >> Ben >> >> -----Original Message----- >> From: disksim-users-bounces at ece.cmu.edu >> [mailto:disksim-users-bounces at ece.cmu.edu] On Behalf Of Payne, Benjamin >> Sent: Friday, November 02, 2012 12:37 PM >> To: disksim-users at ece.cmu.edu >> Subject: [Disksim-users] sqrt problem during make >> >> Hello, >> >> >From reading the list archives, I see the problem with sqrt being >> undefined during installation isn't new: >> https://sos.ece.cmu.edu/pipermail/disksim-users/2011-December/000699.html >> >> http://cboard.cprogramming.com/c-programming/144182-gcc-compile-problem-link.html >> >> >> The details are below, but my question is on fixing this. Did I make >> a mistake during installation, or is this normal? If the error is >> normal, how can it be fixed? >> >> On a fresh installation of Ubuntu 12.04 64bit, I ran the following >> commands to get started with disksim: >> >> sudo apt-get install flex bison >> wget http://www.pdl.cmu.edu/PDL-FTP/DriveChar/disksim-4.0.tar.gz >> tar xzf disksim-4.0.tar.gz >> cd disksim-4.0 >> make >> >> The output from "make" is >> >> bpayne at bpayne-VirtualBox64:~/disksim-4.0$ make make -C libddbg >> make[1]: Entering directory `/home/bpayne/disksim-4.0/libddbg' >> mkdir -p include/libddbg lib >> cp -p libddbg.h include/libddbg >> cp -p libddbg.a lib >> make[1]: Leaving directory `/home/bpayne/disksim-4.0/libddbg' >> make -C libparam >> make[1]: Entering directory `/home/bpayne/disksim-4.0/libparam' >> mkdir -p lib include/libparam >> cp -p libparam.a lib >> cp -p bitvector.h libparam.h include/libparam >> make[1]: Leaving directory `/home/bpayne/disksim-4.0/libparam' >> make -C diskmodel >> make[1]: Entering directory `/home/bpayne/disksim-4.0/diskmodel' >> make -C tests >> make[2]: Entering directory `/home/bpayne/disksim-4.0/diskmodel/tests' >> make[2]: Nothing to be done for `all'. >> make[2]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel/tests' >> make[1]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel' >> make -C memsmodel >> make[1]: Entering directory `/home/bpayne/disksim-4.0/memsmodel' >> gcc -Wall -Wno-unused -MD -o mems_seektest mems_seektest.o -lm -L. -g >> -DASSERTS -I../src// -I../ -I../src//src -lmems_internals >> ./libmems_internals.a(mems_piecewise_seek.o): In function >> `find_seek_time_piecewise': >> /home/bpayne/disksim-4.0/memsmodel/mems_piecewise_seek.c:523: >> undefined reference to `sqrt' >> /home/bpayne/disksim-4.0/memsmodel/mems_piecewise_seek.c:565: >> undefined reference to `sqrt' >> ./libmems_internals.a(mems_hong_seek.o): In function >> `find_seek_time_hong_x': >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:78: undefined >> reference to `sqrt' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:80: undefined >> reference to `acos' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:94: undefined >> reference to `sqrt' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:96: undefined >> reference to `acos' >> ./libmems_internals.a(mems_hong_seek.o): In function >> `find_seek_time_hong_y': >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:174: undefined >> reference to `sqrt' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:182: undefined >> reference to `sqrt' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:182: undefined >> reference to `sqrt' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:179: undefined >> reference to `sqrt' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:176: undefined >> reference to `asin' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:194: undefined >> reference to `sqrt' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:202: undefined >> reference to `sqrt' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:202: undefined >> reference to `sqrt' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:199: undefined >> reference to `sqrt' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:196: undefined >> reference to `asin' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:214: undefined >> reference to `sqrt' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:222: undefined >> reference to `sqrt' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:222: undefined >> reference to `sqrt' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:219: undefined >> reference to `sqrt' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:216: undefined >> reference to `asin' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:265: undefined >> reference to `sqrt' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:273: undefined >> reference to `sqrt' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:273: undefined >> reference to `sqrt' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:270: undefined >> reference to `sqrt' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:267: undefined >> reference to `asin' >> collect2: ld returned 1 exit status >> make[1]: *** [mems_seektest] Error 1 >> make[1]: Leaving directory `/home/bpayne/disksim-4.0/memsmodel' >> make: *** [all] Error 2 >> >> However, by running the following >> >> cd memsmodel >> gcc -Wall -Wno-unused -MD -o mems_seektest mems_seektest.o -lm -L. -g >> -DASSERTS -I../src// -I../ -I../src//src -lmems_internals -lm cd .. >> >> and then trying make again, I get new output: >> >> bpayne at bpayne-VirtualBox64:~/disksim-4.0$ make make -C libddbg >> make[1]: Entering directory `/home/bpayne/disksim-4.0/libddbg' >> mkdir -p include/libddbg lib >> cp -p libddbg.h include/libddbg >> cp -p libddbg.a lib >> make[1]: Leaving directory `/home/bpayne/disksim-4.0/libddbg' >> make -C libparam >> make[1]: Entering directory `/home/bpayne/disksim-4.0/libparam' >> mkdir -p lib include/libparam >> cp -p libparam.a lib >> cp -p bitvector.h libparam.h include/libparam >> make[1]: Leaving directory `/home/bpayne/disksim-4.0/libparam' >> make -C diskmodel >> make[1]: Entering directory `/home/bpayne/disksim-4.0/diskmodel' >> make -C tests >> make[2]: Entering directory `/home/bpayne/disksim-4.0/diskmodel/tests' >> make[2]: Nothing to be done for `all'. >> make[2]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel/tests' >> make[1]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel' >> make -C memsmodel >> make[1]: Entering directory `/home/bpayne/disksim-4.0/memsmodel' >> gcc -Wall -Wno-unused -MD -g -DASSERTS -I../src// -I../ >> -I../src//src -c -o mems_disksim.o mems_disksim.c >> gcc -Wall -Wno-unused -MD -g -DASSERTS -I../src// -I../ >> -I../src//src -c -o mems_event.o mems_event.c >> gcc -Wall -Wno-unused -MD -g -DASSERTS -I../src// -I../ >> -I../src//src -c -o mems_mapping.o mems_mapping.c >> gcc -Wall -Wno-unused -MD -c -g -DASSERTS -I../src// -I../ >> -I../src//src mems_buffer.c -o mems_buffer.o ar cru libmemsmodel.a >> mems_disksim.o mems_event.o mems_mapping.o mems_internals.o >> mems_piecewise_seek.o mems_hong_seek.o mems_buffer.o >> modules/memsmodel_mems_param.o ranlib libmemsmodel.a mkdir -p lib cp >> -p libmemsmodel.a lib >> make[1]: Leaving directory `/home/bpayne/disksim-4.0/memsmodel' >> make -C src >> make[1]: Entering directory `/home/bpayne/disksim-4.0/src' >> make -C modules >> make[2]: Entering directory `/home/bpayne/disksim-4.0/src/modules' >> ../../libparam/mod.pl disksim bus.modspec indent disksim_bus_param.c >> || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include >> -I../../diskmodel/include -I.. -c -o disksim_bus_param.o >> disksim_bus_param.c >> ../../libparam/mod.pl disksim ctlr.modspec indent >> disksim_ctlr_param.c || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include >> -I../../diskmodel/include -I.. -c -o disksim_ctlr_param.o >> disksim_ctlr_param.c >> disksim_ctlr_param.c: In function 'DISKSIM_CTLR_SCHEDULER_loader': >> disksim_ctlr_param.c:64:24: warning: cast to pointer from integer of >> different size [-Wint-to-pointer-cast] ../../libparam/mod.pl disksim >> iodriver.modspec indent disksim_iodriver_param.c || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include >> -I../../diskmodel/include -I.. -c -o disksim_iodriver_param.o >> disksim_iodriver_param.c >> disksim_iodriver_param.c: In function >> 'DISKSIM_IODRIVER_SCHEDULER_loader': >> disksim_iodriver_param.c:42:24: warning: cast to pointer from integer >> of different size [-Wint-to-pointer-cast] ../../libparam/mod.pl >> disksim ioqueue.modspec indent disksim_ioqueue_param.c || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include >> -I../../diskmodel/include -I.. -c -o disksim_ioqueue_param.o >> disksim_ioqueue_param.c >> ../../libparam/mod.pl disksim disk.modspec indent >> disksim_disk_param.c || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include >> -I../../diskmodel/include -I.. -c -o disksim_disk_param.o >> disksim_disk_param.c >> disksim_disk_param.c: In function 'DISKSIM_DISK_MODEL_loader': >> disksim_disk_param.c:9:24: warning: cast to pointer from integer of >> different size [-Wint-to-pointer-cast] >> disksim_disk_param.c: In function 'DISKSIM_DISK_SCHEDULER_loader': >> disksim_disk_param.c:19:25: warning: cast to pointer from integer of >> different size [-Wint-to-pointer-cast] >> disksim_disk_param.c: In function >> 'DISKSIM_DISK_USE_SEPARATE_WRITE_SEGMENT_loader': >> disksim_disk_param.c:241:30: warning: cast to pointer from integer of >> different size [-Wint-to-pointer-cast] ../../libparam/mod.pl disksim >> simpledisk.modspec indent disksim_simpledisk_param.c || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include >> -I../../diskmodel/include -I.. -c -o disksim_simpledisk_param.o >> disksim_simpledisk_param.c >> disksim_simpledisk_param.c: In function >> 'DISKSIM_SIMPLEDISK_SCHEDULER_loader': >> disksim_simpledisk_param.c:9:24: warning: cast to pointer from >> integer of different size [-Wint-to-pointer-cast] >> ../../libparam/mod.pl disksim device_stats.modspec indent >> disksim_device_stats_param.c || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include >> -I../../diskmodel/include -I.. -c -o disksim_device_stats_param.o >> disksim_device_stats_param.c >> ../../libparam/mod.pl disksim bus_stats.modspec indent >> disksim_bus_stats_param.c || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include >> -I../../diskmodel/include -I.. -c -o disksim_bus_stats_param.o >> disksim_bus_stats_param.c >> ../../libparam/mod.pl disksim ctlr_stats.modspec indent >> disksim_ctlr_stats_param.c || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include >> -I../../diskmodel/include -I.. -c -o disksim_ctlr_stats_param.o >> disksim_ctlr_stats_param.c >> ../../libparam/mod.pl disksim iodriver_stats.modspec indent >> disksim_iodriver_stats_param.c || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include >> -I../../diskmodel/include -I.. -c -o disksim_iodriver_stats_param.o >> disksim_iodriver_stats_param.c >> ../../libparam/mod.pl disksim pf_stats.modspec indent >> disksim_pf_stats_param.c || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include >> -I../../diskmodel/include -I.. -c -o disksim_pf_stats_param.o >> disksim_pf_stats_param.c >> ../../libparam/mod.pl disksim global.modspec indent >> disksim_global_param.c || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include >> -I../../diskmodel/include -I.. -c -o disksim_global_param.o >> disksim_global_param.c >> ../../libparam/mod.pl disksim stats.modspec indent >> disksim_stats_param.c || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include >> -I../../diskmodel/include -I.. -c -o disksim_stats_param.o >> disksim_stats_param.c >> ../../libparam/mod.pl disksim syncset.modspec indent >> disksim_syncset_param.c || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include >> -I../../diskmodel/include -I.. -c -o disksim_syncset_param.o >> disksim_syncset_param.c >> ../../libparam/mod.pl disksim synthgen.modspec indent >> disksim_synthgen_param.c || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include >> -I../../diskmodel/include -I.. -c -o disksim_synthgen_param.o >> disksim_synthgen_param.c >> ../../libparam/mod.pl disksim synthio.modspec indent >> disksim_synthio_param.c || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include >> -I../../diskmodel/include -I.. -c -o disksim_synthio_param.o >> disksim_synthio_param.c >> ../../libparam/mod.pl disksim logorg.modspec indent >> disksim_logorg_param.c || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include >> -I../../diskmodel/include -I.. -c -o disksim_logorg_param.o >> disksim_logorg_param.c >> ../../libparam/mod.pl disksim pf.modspec indent disksim_pf_param.c || >> true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include >> -I../../diskmodel/include -I.. -c -o disksim_pf_param.o >> disksim_pf_param.c >> ../../libparam/mod.pl disksim cachemem.modspec indent >> disksim_cachemem_param.c || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include >> -I../../diskmodel/include -I.. -c -o disksim_cachemem_param.o >> disksim_cachemem_param.c >> ../../libparam/mod.pl disksim cachedev.modspec indent >> disksim_cachedev_param.c || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include >> -I../../diskmodel/include -I.. -c -o disksim_cachedev_param.o >> disksim_cachedev_param.c >> ../../libparam/mod.pl disksim device.modspec indent >> disksim_device_param.c || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include >> -I../../diskmodel/include -I.. -c -o disksim_device_param.o >> disksim_device_param.c >> ../../libparam/mod.pl disksim iosim.modspec indent >> disksim_iosim_param.c || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include >> -I../../diskmodel/include -I.. -c -o disksim_iosim_param.o >> disksim_iosim_param.c >> ../../libparam/mod.pl disksim iomap.modspec indent >> disksim_iomap_param.c || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include >> -I../../diskmodel/include -I.. -c -o disksim_iomap_param.o >> disksim_iomap_param.c >> ../../libparam/make_modules_h.pl disksim *.modspec > modules.h >> make[2]: Leaving directory `/home/bpayne/disksim-4.0/src/modules' >> mkdir -p ../include/disksim/modules >> cp -pR modules/*.h ../include/disksim/modules cp disksim_interface.h >> ../include >> gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include >> -I../libparam/include -I../libddbg/include -g -DASSERTS >> -I../memsmodel/include -D_INLINE disksim.c -o disksim.o >> disksim.c: In function 'disksim_cleanup': >> disksim.c:1086:3: warning: implicit declaration of function >> 'iodriver_cleanup' [-Wimplicit-function-declaration] >> gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include >> -I../libparam/include -I../libddbg/include -g -DASSERTS >> -I../memsmodel/include -D_INLINE disksim_intr.c -o disksim_intr.o >> gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include >> -I../libparam/include -I../libddbg/include -g -DASSERTS >> -I../memsmodel/include -D_INLINE disksim_pfsim.c -o disksim_pfsim.o >> gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include >> -I../libparam/include -I../libddbg/include -g -DASSERTS >> -I../memsmodel/include -D_INLINE disksim_pfdisp.c -o disksim_pfdisp.o >> gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include >> -I../libparam/include -I../libddbg/include -g -DASSERTS >> -I../memsmodel/include -D_INLINE disksim_synthio.c -o disksim_synthio.o >> disksim_synthio.c: In function 'synthio_appendio': >> disksim_synthio.c:215:15: warning: cast to pointer from integer of >> different size [-Wint-to-pointer-cast] >> gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include >> -I../libparam/include -I../libddbg/include -g -DASSERTS >> -I../memsmodel/include -D_INLINE disksim_iotrace.c -o disksim_iotrace.o >> disksim_iotrace.c: In function 'iotrace_hpl_get_ioreq_event': >> disksim_iotrace.c:373:18: warning: cast to pointer from integer of >> different size [-Wint-to-pointer-cast] >> gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include >> -I../libparam/include -I../libddbg/include -g -DASSERTS >> -I../memsmodel/include -D_INLINE disksim_iosim.c -o disksim_iosim.o >> disksim_iosim.c: In function 'iosim_load_map': >> disksim_iosim.c:364:17: warning: cast to pointer from integer of >> different size [-Wint-to-pointer-cast] >> disksim_iosim.c: In function 'io_initialize': >> disksim_iosim.c:712:4: error: duplicate case value >> disksim_iosim.c:712:4: error: previously used here >> make[1]: *** [disksim_iosim.o] Error 1 >> make[1]: Leaving directory `/home/bpayne/disksim-4.0/src' >> make: *** [all] Error 2 >> >> >> >> Thank you, >> >> >> Ben Payne >> http://mst.edu/~bhpxc9/ >> Suite 450, Room S452 >> 5520 Research Park Drive >> Catonsville, MD 21228-4870 >> Laboratory for Physical Sciences >> http://www.lps.umd.edu/ >> office: 443-654-7890 >> cell: 608-308-2413 >> >> >> _______________________________________________ >> Disksim-users mailing list >> Disksim-users at ece.cmu.edu >> https://sos.ece.cmu.edu/mailman/listinfo/disksim-users >> _______________________________________________ >> Disksim-users mailing list >> Disksim-users at ece.cmu.edu >> https://sos.ece.cmu.edu/mailman/listinfo/disksim-users > > _______________________________________________ > Disksim-users mailing list > Disksim-users at ece.cmu.edu > https://sos.ece.cmu.edu/mailman/listinfo/disksim-users From bpayne at lps.umd.edu Wed Nov 7 16:32:49 2012 From: bpayne at lps.umd.edu (Payne, Benjamin) Date: Wed, 7 Nov 2012 16:32:49 -0500 Subject: [Disksim-users] FW: sqrt problem during make In-Reply-To: <3E9C7E247905FE44A1556F1E7B959E7604C182B4CB@cec-exch.cec.lps.gov> References: <3E9C7E247905FE44A1556F1E7B959E7604C01D67E8@cec-exch.cec.lps.gov> <3E9C7E247905FE44A1556F1E7B959E7604C182B4C9@cec-exch.cec.lps.gov> <509A6887.1090803@eecs.harvard.edu> <3E9C7E247905FE44A1556F1E7B959E7604C182B4CB@cec-exch.cec.lps.gov> Message-ID: <3E9C7E247905FE44A1556F1E7B959E7604C182B4E7@cec-exch.cec.lps.gov> Hello again, I finally got around to testing Peter's suggestion of moving "$(LDFLAGS)" to the end of mems_seektest in memsmodel/Makefile Unfortunately this doesn't get me any further than the other method I tried previously, > cd memsmodel > gcc -Wall -Wno-unused -MD -o mems_seektest mems_seektest.o -lm -L. -g -DASSERTS -I../src// -I../ -I../src//src -lmems_internals -lm cd .. Here's the full story of what I did: sudo apt-get install flex bison cd wget http://www.pdl.cmu.edu/PDL-FTP/DriveChar/disksim-4.0.tar.gz tar xzf disksim-4.0.tar.gz cd disksim-4.0 # running "make" at this point yields the " undefined reference to `sqrt' " problem gedit memsmodel/Makefile # change mems_seektest: mems_seektest.o libmems_internals.a $(CC) -o $@ mems_seektest.o $(LDFLAGS) $(CFLAGS) -lmems_internals # to mems_seektest: mems_seektest.o libmems_internals.a $(CC) -o $@ mems_seektest.o $(CFLAGS) -lmems_internals $(LDFLAGS) make #output: bpayne at bpayne-VirtualBox64:~/disksim-4.0$ make make -C libddbg make[1]: Entering directory `/home/bpayne/disksim-4.0/libddbg' cc -g -I../libparam -c -o ddbg_assert.o ddbg_assert.c cc -g -I../libparam -c -o ddbg_trace.o ddbg_trace.c ar cru libddbg.a ddbg_assert.o ddbg_trace.o mkdir -p include/libddbg lib cp -p libddbg.h include/libddbg cp -p libddbg.a lib make[1]: Leaving directory `/home/bpayne/disksim-4.0/libddbg' make -C libparam make[1]: Entering directory `/home/bpayne/disksim-4.0/libparam' cc -g -I../libddbg/include -Wall -c -o util.o util.c bison -plibparam --defines libparam.y cc -g -I../libddbg/include -Wall -c -o libparam.tab.o libparam.tab.c libparam.tab.c: In function 'libparamparse': libparam.tab.c:1375:7: warning: implicit declaration of function 'libparamlex' [-Wimplicit-function-declaration] libparam.tab.c:1998:9: warning: passing argument 1 of 'libparamerror' discards 'const' qualifier from pointer target type [enabled by default] libparam.y:41:6: note: expected 'char *' but argument is of type 'const char *' flex -Plibparam libparam.lex cc -g -I../libddbg/include -Wall -c -o lex.libparam.o lex.libparam.c libparam.lex: In function 'libparamlex': libparam.lex:124:15: warning: variable 'base' set but not used [-Wunused-but-set-variable] libparam.lex: At top level: lex.libparam.c:1460:17: warning: 'yyunput' defined but not used [-Wunused-function] lex.libparam.c:1505:16: warning: 'input' defined but not used [-Wunused-function] ar cru libparam.a util.o libparam.tab.o lex.libparam.o mkdir -p lib include/libparam cp -p libparam.a lib cp -p bitvector.h libparam.h include/libparam make[1]: Leaving directory `/home/bpayne/disksim-4.0/libparam' make -C diskmodel make[1]: Entering directory `/home/bpayne/disksim-4.0/diskmodel' make -C modules make[2]: Entering directory `/home/bpayne/disksim-4.0/diskmodel/modules' ../../libparam/mod.pl dm disk.modspec indent dm_disk_param.c 2>/dev/null >/dev/null || true cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/include -c -o dm_disk_param.o dm_disk_param.c ../../libparam/mod.pl dm mech_g1.modspec indent dm_mech_g1_param.c 2>/dev/null >/dev/null || true cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/include -c -o dm_mech_g1_param.o dm_mech_g1_param.c ../../libparam/mod.pl dm layout_g1.modspec indent dm_layout_g1_param.c 2>/dev/null >/dev/null || true cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/include -c -o dm_layout_g1_param.o dm_layout_g1_param.c ../../libparam/mod.pl dm layout_g1_zone.modspec indent dm_layout_g1_zone_param.c 2>/dev/null >/dev/null || true cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/include -c -o dm_layout_g1_zone_param.o dm_layout_g1_zone_param.c ../../libparam/mod.pl dm layout_g2.modspec indent dm_layout_g2_param.c 2>/dev/null >/dev/null || true cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/include -c -o dm_layout_g2_param.o dm_layout_g2_param.c ../../libparam/mod.pl dm layout_g2_zone.modspec indent dm_layout_g2_zone_param.c 2>/dev/null >/dev/null || true cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/include -c -o dm_layout_g2_zone_param.o dm_layout_g2_zone_param.c ../../libparam/mod.pl dm layout_g4.modspec indent dm_layout_g4_param.c 2>/dev/null >/dev/null || true cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/include -c -o dm_layout_g4_param.o dm_layout_g4_param.c ../../libparam/make_modules_h.pl dm *.modspec > modules.h make[2]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel/modules' mkdir -p include/diskmodel/modules cp -p dm.h dm_types.h dm_config.h marshal.h include/diskmodel cp -p modules/*.h include/diskmodel/modules gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE -Wall -Wshadow -Wno-unused -MD -c -o mech_g1_seektime.o mech_g1_seektime.c gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE -Wall -Wshadow -Wno-unused -MD -c -o mech_g1.o mech_g1.c gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE -Wall -Wshadow -Wno-unused -MD -c -o layout_g1.o layout_g1.c layout_g1.c: In function 'g1_st_pbn': layout_g1.c:184:3: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] layout_g1.c: In function 'g1_ptol_nosparing': layout_g1.c:492:3: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] layout_g1.c: In function 'g1_ptol_sectpertrackspare': layout_g1.c:531:3: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] layout_g1.c: In function 'g1_ptol_sectperrangespare': layout_g1.c:702:3: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] layout_g1.c: In function 'g1_ptol_sectperzonespare': layout_g1.c:779:3: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] layout_g1.c: In function 'g1_ptol_trackspare': layout_g1.c:851:3: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] layout_g1.c: In function 'g1_get_zone': layout_g1.c:1941:5: warning: 'z' is used uninitialized in this function [-Wuninitialized] gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE -Wall -Wshadow -Wno-unused -MD -c -o sqrt.o sqrt.c gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE -Wall -Wshadow -Wno-unused -MD -c -o marshal.o marshal.c gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE -Wall -Wshadow -Wno-unused -MD -c -o layout_g2.o layout_g2.c layout_g2.c: In function 'st_pbn': layout_g2.c:251:3: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] layout_g2.c: At top level: layout_g2.c:480:3: warning: initialization from incompatible pointer type [enabled by default] layout_g2.c:480:3: warning: (near initialization for 'layout_g2.dm_get_track_boundaries') [enabled by default] gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE -Wall -Wshadow -Wno-unused -MD -c -o layout_g4.o layout_g4.c gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE -Wall -Wshadow -Wno-unused -MD -c -o mech_g1_load.o mech_g1_load.c mech_g1_load.c: In function 'dm_mech_g1_seek_init': mech_g1_load.c:323:9: warning: format '%lld' expects argument of type 'long long int', but argument 3 has type 'dm_time_t' [-Wformat] mech_g1_load.c:323:9: warning: format '%lld' expects argument of type 'long long int', but argument 4 has type 'dm_time_t' [-Wformat] mech_g1_load.c:323:9: warning: format '%lld' expects argument of type 'long long int', but argument 5 has type 'dm_time_t' [-Wformat] gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE -Wall -Wshadow -Wno-unused -MD -c -o layout_g1_load.o layout_g1_load.c gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE -Wall -Wshadow -Wno-unused -MD -c -o dm_load.o dm_load.c gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE -Wall -Wshadow -Wno-unused -MD -c -o convert.o convert.c gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE -Wall -Wshadow -Wno-unused -MD -c -o layout_g2_load.o layout_g2_load.c gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE -Wall -Wshadow -Wno-unused -MD -c -o layout_g4_load.o layout_g4_load.c make -C modules make[2]: Entering directory `/home/bpayne/disksim-4.0/diskmodel/modules' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel/modules' Linking libdiskmodel.a modules/*.o mech_g1_load.o layout_g1_load.o dm_load.o convert.o layout_g2_load.o layout_g4_load.o ar cru libdiskmodel.a mech_g1_seektime.o mech_g1.o layout_g1.o sqrt.o marshal.o layout_g2.o layout_g4.o modules/*.o mech_g1_load.o layout_g1_load.o dm_load.o convert.o layout_g2_load.o layout_g4_load.o mkdir -p lib cp -p libdiskmodel.a lib make -C tests make[2]: Entering directory `/home/bpayne/disksim-4.0/diskmodel/tests' cc -g -I../../diskmodel/include -I../../libparam/include -I../../libddbg/include -c -o driver.o driver.c cc -g -I../../diskmodel/include -I../../libparam/include -I../../libddbg/include -o layout_simple layout_simple.c driver.o -L../../diskmodel/lib -ldiskmodel -L../../libparam/lib -lparam -L../../libddbg/lib -lddbg cc -g -I../../diskmodel/include -I../../libparam/include -I../../libddbg/include -o layout_simple_0t layout_simple_0t.c driver.o -L../../diskmodel/lib -ldiskmodel -L../../libparam/lib -lparam -L../../libddbg/lib -lddbg cc -g -I../../diskmodel/include -I../../libparam/include -I../../libddbg/include -o layout_track layout_track.c driver.o -L../../diskmodel/lib -ldiskmodel -L../../libparam/lib -lparam -L../../libddbg/lib -lddbg cc -g -I../../diskmodel/include -I../../libparam/include -I../../libddbg/include -o layout_raw layout_raw.c driver.o -L../../diskmodel/lib -ldiskmodel -L../../libparam/lib -lparam -L../../libddbg/lib -lddbg cc -g -I../../diskmodel/include -I../../libparam/include -I../../libddbg/include -o layout_bogon layout_bogon.c driver.o -L../../diskmodel/lib -ldiskmodel -L../../libparam/lib -lparam -L../../libddbg/lib -lddbg cc -g -I../../diskmodel/include -I../../libparam/include -I../../libddbg/include -o layout_skew layout_skew.c driver.o -L../../diskmodel/lib -ldiskmodel -L../../libparam/lib -lparam -L../../libddbg/lib -lddbg cc -g -I../../diskmodel/include -I../../libparam/include -I../../libddbg/include -o mech_seek mech_seek.c driver.o -L../../diskmodel/lib -ldiskmodel -L../../libparam/lib -lparam -L../../libddbg/lib -lddbg rm driver.o make[2]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel/tests' make[1]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel' make -C memsmodel make[1]: Entering directory `/home/bpayne/disksim-4.0/memsmodel' make -C modules make[2]: Entering directory `/home/bpayne/disksim-4.0/memsmodel/modules' ../../libparam/mod.pl memsmodel mems.modspec indent memsmodel_mems_param.c || true /bin/sh: 1: indent: not found cc -g -I../../src// -I../../libddbg/include -I../../libparam/include -I../../memsmodel/include -I.. -c -o memsmodel_mems_param.o memsmodel_mems_param.c memsmodel_mems_param.c: In function 'MEMSMODEL_MEMS_SCHEDULER_loader': memsmodel_mems_param.c:9:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] ../../libparam/make_modules_h.pl memsmodel *.modspec > modules.h make[2]: Leaving directory `/home/bpayne/disksim-4.0/memsmodel/modules' mkdir -p include/memsmodel/modules cp -p mems_disksim.h mems_internals.h mems_mapping.h \ mems_piecewise_seek.h mems_global.h mems_buffer.h include/memsmodel cp -p modules/*.h include/memsmodel/modules gcc -Wall -Wno-unused -MD -c -g -DASSERTS -I../src// -I../ -I../src//src mems_seektest.c -o mems_seektest.o gcc -Wall -Wno-unused -MD -c -g -DASSERTS -I../src// -I../ -I../src//src mems_internals.c -o mems_internals.o gcc -Wall -Wno-unused -MD -c -g -DASSERTS -I../src// -I../ -I../src//src mems_piecewise_seek.c -o mems_piecewise_seek.o gcc -Wall -Wno-unused -MD -c -g -DASSERTS -I../src// -I../ -I../src//src mems_hong_seek.c -o mems_hong_seek.o ar cru libmems_internals.a mems_internals.o mems_piecewise_seek.o mems_hong_seek.o ranlib libmems_internals.a mkdir -p lib cp -p libmems_internals.a lib gcc -Wall -Wno-unused -MD -o mems_seektest mems_seektest.o -g -DASSERTS -I../src// -I../ -I../src//src -lmems_internals -lm -L. gcc -Wall -Wno-unused -MD -g -DASSERTS -I../src// -I../ -I../src//src -c -o mems_disksim.o mems_disksim.c gcc -Wall -Wno-unused -MD -g -DASSERTS -I../src// -I../ -I../src//src -c -o mems_event.o mems_event.c gcc -Wall -Wno-unused -MD -g -DASSERTS -I../src// -I../ -I../src//src -c -o mems_mapping.o mems_mapping.c gcc -Wall -Wno-unused -MD -c -g -DASSERTS -I../src// -I../ -I../src//src mems_buffer.c -o mems_buffer.o ar cru libmemsmodel.a mems_disksim.o mems_event.o mems_mapping.o mems_internals.o mems_piecewise_seek.o mems_hong_seek.o mems_buffer.o modules/memsmodel_mems_param.o ranlib libmemsmodel.a mkdir -p lib cp -p libmemsmodel.a lib make[1]: Leaving directory `/home/bpayne/disksim-4.0/memsmodel' make -C src make[1]: Entering directory `/home/bpayne/disksim-4.0/src' make -C modules make[2]: Entering directory `/home/bpayne/disksim-4.0/src/modules' ../../libparam/mod.pl disksim bus.modspec indent disksim_bus_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_bus_param.o disksim_bus_param.c ../../libparam/mod.pl disksim ctlr.modspec indent disksim_ctlr_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_ctlr_param.o disksim_ctlr_param.c disksim_ctlr_param.c: In function 'DISKSIM_CTLR_SCHEDULER_loader': disksim_ctlr_param.c:64:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] ../../libparam/mod.pl disksim iodriver.modspec indent disksim_iodriver_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_iodriver_param.o disksim_iodriver_param.c disksim_iodriver_param.c: In function 'DISKSIM_IODRIVER_SCHEDULER_loader': disksim_iodriver_param.c:42:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] ../../libparam/mod.pl disksim ioqueue.modspec indent disksim_ioqueue_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_ioqueue_param.o disksim_ioqueue_param.c ../../libparam/mod.pl disksim disk.modspec indent disksim_disk_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_disk_param.o disksim_disk_param.c disksim_disk_param.c: In function 'DISKSIM_DISK_MODEL_loader': disksim_disk_param.c:9:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] disksim_disk_param.c: In function 'DISKSIM_DISK_SCHEDULER_loader': disksim_disk_param.c:19:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] disksim_disk_param.c: In function 'DISKSIM_DISK_USE_SEPARATE_WRITE_SEGMENT_loader': disksim_disk_param.c:241:30: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] ../../libparam/mod.pl disksim simpledisk.modspec indent disksim_simpledisk_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_simpledisk_param.o disksim_simpledisk_param.c disksim_simpledisk_param.c: In function 'DISKSIM_SIMPLEDISK_SCHEDULER_loader': disksim_simpledisk_param.c:9:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] ../../libparam/mod.pl disksim device_stats.modspec indent disksim_device_stats_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_device_stats_param.o disksim_device_stats_param.c ../../libparam/mod.pl disksim bus_stats.modspec indent disksim_bus_stats_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_bus_stats_param.o disksim_bus_stats_param.c ../../libparam/mod.pl disksim ctlr_stats.modspec indent disksim_ctlr_stats_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_ctlr_stats_param.o disksim_ctlr_stats_param.c ../../libparam/mod.pl disksim iodriver_stats.modspec indent disksim_iodriver_stats_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_iodriver_stats_param.o disksim_iodriver_stats_param.c ../../libparam/mod.pl disksim pf_stats.modspec indent disksim_pf_stats_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_pf_stats_param.o disksim_pf_stats_param.c ../../libparam/mod.pl disksim global.modspec indent disksim_global_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_global_param.o disksim_global_param.c ../../libparam/mod.pl disksim stats.modspec indent disksim_stats_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_stats_param.o disksim_stats_param.c ../../libparam/mod.pl disksim syncset.modspec indent disksim_syncset_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_syncset_param.o disksim_syncset_param.c ../../libparam/mod.pl disksim synthgen.modspec indent disksim_synthgen_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_synthgen_param.o disksim_synthgen_param.c ../../libparam/mod.pl disksim synthio.modspec indent disksim_synthio_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_synthio_param.o disksim_synthio_param.c ../../libparam/mod.pl disksim logorg.modspec indent disksim_logorg_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_logorg_param.o disksim_logorg_param.c ../../libparam/mod.pl disksim pf.modspec indent disksim_pf_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_pf_param.o disksim_pf_param.c ../../libparam/mod.pl disksim cachemem.modspec indent disksim_cachemem_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_cachemem_param.o disksim_cachemem_param.c ../../libparam/mod.pl disksim cachedev.modspec indent disksim_cachedev_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_cachedev_param.o disksim_cachedev_param.c ../../libparam/mod.pl disksim device.modspec indent disksim_device_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_device_param.o disksim_device_param.c ../../libparam/mod.pl disksim iosim.modspec indent disksim_iosim_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_iosim_param.o disksim_iosim_param.c ../../libparam/mod.pl disksim iomap.modspec indent disksim_iomap_param.c || true /bin/sh: 1: indent: not found cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_iomap_param.o disksim_iomap_param.c ../../libparam/make_modules_h.pl disksim *.modspec > modules.h make[2]: Leaving directory `/home/bpayne/disksim-4.0/src/modules' mkdir -p ../include/disksim/modules cp -pR modules/*.h ../include/disksim/modules cp disksim_interface.h ../include gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim.c -o disksim.o disksim.c: In function 'disksim_cleanup': disksim.c:1086:3: warning: implicit declaration of function 'iodriver_cleanup' [-Wimplicit-function-declaration] gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_intr.c -o disksim_intr.o gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_pfsim.c -o disksim_pfsim.o gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_pfdisp.c -o disksim_pfdisp.o gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_synthio.c -o disksim_synthio.o disksim_synthio.c: In function 'synthio_appendio': disksim_synthio.c:215:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_iotrace.c -o disksim_iotrace.o disksim_iotrace.c: In function 'iotrace_hpl_get_ioreq_event': disksim_iotrace.c:373:18: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_iosim.c -o disksim_iosim.o disksim_iosim.c: In function 'iosim_load_map': disksim_iosim.c:364:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] disksim_iosim.c: In function 'io_initialize': disksim_iosim.c:712:4: error: duplicate case value disksim_iosim.c:712:4: error: previously used here make[1]: *** [disksim_iosim.o] Error 1 make[1]: Leaving directory `/home/bpayne/disksim-4.0/src' make: *** [all] Error 2 -----Original Message----- From: disksim-users-bounces at ece.cmu.edu [mailto:disksim-users-bounces at ece.cmu.edu] On Behalf Of Payne, Benjamin Sent: Wednesday, November 07, 2012 9:00 AM To: disksim-users at ece.cmu.edu Subject: Re: [Disksim-users] FW: sqrt problem during make Thanks for the fix Peter. If this is all known, what is the route for getting the source code fixed? Kindly, Ben -----Original Message----- From: Peter Macko [mailto:pmacko at eecs.harvard.edu] Sent: Wednesday, November 07, 2012 8:56 AM To: Payne, Benjamin Cc: disksim-users at ece.cmu.edu Subject: Re: [Disksim-users] FW: sqrt problem during make I haven't used disksim in more than a year (so I am not an active user by any means), but your email prompted me to do some research about how I solved this. In memsmodel/Makefile, just change: mems_seektest: mems_seektest.o libmems_internals.a $(CC) -o $@ mems_seektest.o $(LDFLAGS) $(CFLAGS) -lmems_internals to: mems_seektest: mems_seektest.o libmems_internals.a $(CC) -o $@ mems_seektest.o $(CFLAGS) -lmems_internals $(LDFLAGS) This should hopefully fix the sqrt problem. (I am not sure if that's all you need, but see if this helps.) The duplicate case value is a result of a static assertion that checks to make sure that you are running on a 32-bit system. For 64-bit systems, you can get a patch from here: http://scobyseo.blogspot.com/2009/12/disksim-40-ssd-extention-64bit-patch.html The patch did not apply cleanly for me, so I had to apply it manually, and then it worked (plus you should feel free to ignore the ssdmodel part if you are not using the SSD extensions). Best, -Peter On 11/07/2012 08:38 AM, Payne, Benjamin wrote: > Hello, > > Komal Shah's screenshot is of the same problem I mentioned below and never received a reply on. > > The purpose of this email is to see if there are any developers or other active people reading this list: Are you here? > > Thanks, > > Ben > > -----Original Message----- > From: disksim-users-bounces at ece.cmu.edu > [mailto:disksim-users-bounces at ece.cmu.edu] On Behalf Of Payne, > Benjamin > Sent: Friday, November 02, 2012 12:37 PM > To: disksim-users at ece.cmu.edu > Subject: [Disksim-users] sqrt problem during make > > Hello, > > >From reading the list archives, I see the problem with sqrt being undefined during installation isn't new: > https://sos.ece.cmu.edu/pipermail/disksim-users/2011-December/000699.h > tml > http://cboard.cprogramming.com/c-programming/144182-gcc-compile-proble > m-link.html > > The details are below, but my question is on fixing this. Did I make a mistake during installation, or is this normal? If the error is normal, how can it be fixed? > > On a fresh installation of Ubuntu 12.04 64bit, I ran the following commands to get started with disksim: > > sudo apt-get install flex bison > wget http://www.pdl.cmu.edu/PDL-FTP/DriveChar/disksim-4.0.tar.gz > tar xzf disksim-4.0.tar.gz > cd disksim-4.0 > make > > The output from "make" is > > bpayne at bpayne-VirtualBox64:~/disksim-4.0$ make make -C libddbg > make[1]: Entering directory `/home/bpayne/disksim-4.0/libddbg' > mkdir -p include/libddbg lib > cp -p libddbg.h include/libddbg > cp -p libddbg.a lib > make[1]: Leaving directory `/home/bpayne/disksim-4.0/libddbg' > make -C libparam > make[1]: Entering directory `/home/bpayne/disksim-4.0/libparam' > mkdir -p lib include/libparam > cp -p libparam.a lib > cp -p bitvector.h libparam.h include/libparam > make[1]: Leaving directory `/home/bpayne/disksim-4.0/libparam' > make -C diskmodel > make[1]: Entering directory `/home/bpayne/disksim-4.0/diskmodel' > make -C tests > make[2]: Entering directory `/home/bpayne/disksim-4.0/diskmodel/tests' > make[2]: Nothing to be done for `all'. > make[2]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel/tests' > make[1]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel' > make -C memsmodel > make[1]: Entering directory `/home/bpayne/disksim-4.0/memsmodel' > gcc -Wall -Wno-unused -MD -o mems_seektest mems_seektest.o -lm -L. -g > -DASSERTS -I../src// -I../ -I../src//src -lmems_internals > ./libmems_internals.a(mems_piecewise_seek.o): In function `find_seek_time_piecewise': > /home/bpayne/disksim-4.0/memsmodel/mems_piecewise_seek.c:523: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_piecewise_seek.c:565: undefined reference to `sqrt' > ./libmems_internals.a(mems_hong_seek.o): In function `find_seek_time_hong_x': > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:78: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:80: undefined reference to `acos' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:94: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:96: undefined reference to `acos' > ./libmems_internals.a(mems_hong_seek.o): In function `find_seek_time_hong_y': > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:174: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:182: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:182: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:179: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:176: undefined reference to `asin' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:194: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:202: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:202: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:199: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:196: undefined reference to `asin' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:214: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:222: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:222: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:219: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:216: undefined reference to `asin' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:265: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:273: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:273: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:270: undefined reference to `sqrt' > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:267: undefined reference to `asin' > collect2: ld returned 1 exit status > make[1]: *** [mems_seektest] Error 1 > make[1]: Leaving directory `/home/bpayne/disksim-4.0/memsmodel' > make: *** [all] Error 2 > > However, by running the following > > cd memsmodel > gcc -Wall -Wno-unused -MD -o mems_seektest mems_seektest.o -lm -L. -g -DASSERTS -I../src// -I../ -I../src//src -lmems_internals -lm cd .. > > and then trying make again, I get new output: > > bpayne at bpayne-VirtualBox64:~/disksim-4.0$ make make -C libddbg > make[1]: Entering directory `/home/bpayne/disksim-4.0/libddbg' > mkdir -p include/libddbg lib > cp -p libddbg.h include/libddbg > cp -p libddbg.a lib > make[1]: Leaving directory `/home/bpayne/disksim-4.0/libddbg' > make -C libparam > make[1]: Entering directory `/home/bpayne/disksim-4.0/libparam' > mkdir -p lib include/libparam > cp -p libparam.a lib > cp -p bitvector.h libparam.h include/libparam > make[1]: Leaving directory `/home/bpayne/disksim-4.0/libparam' > make -C diskmodel > make[1]: Entering directory `/home/bpayne/disksim-4.0/diskmodel' > make -C tests > make[2]: Entering directory `/home/bpayne/disksim-4.0/diskmodel/tests' > make[2]: Nothing to be done for `all'. > make[2]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel/tests' > make[1]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel' > make -C memsmodel > make[1]: Entering directory `/home/bpayne/disksim-4.0/memsmodel' > gcc -Wall -Wno-unused -MD -g -DASSERTS -I../src// -I../ -I../src//src -c -o mems_disksim.o mems_disksim.c > gcc -Wall -Wno-unused -MD -g -DASSERTS -I../src// -I../ -I../src//src -c -o mems_event.o mems_event.c > gcc -Wall -Wno-unused -MD -g -DASSERTS -I../src// -I../ -I../src//src -c -o mems_mapping.o mems_mapping.c > gcc -Wall -Wno-unused -MD -c -g -DASSERTS -I../src// -I../ > -I../src//src mems_buffer.c -o mems_buffer.o ar cru libmemsmodel.a > mems_disksim.o mems_event.o mems_mapping.o mems_internals.o > mems_piecewise_seek.o mems_hong_seek.o mems_buffer.o > modules/memsmodel_mems_param.o ranlib libmemsmodel.a mkdir -p lib cp > -p libmemsmodel.a lib > make[1]: Leaving directory `/home/bpayne/disksim-4.0/memsmodel' > make -C src > make[1]: Entering directory `/home/bpayne/disksim-4.0/src' > make -C modules > make[2]: Entering directory `/home/bpayne/disksim-4.0/src/modules' > ../../libparam/mod.pl disksim bus.modspec indent disksim_bus_param.c > || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_bus_param.o disksim_bus_param.c > ../../libparam/mod.pl disksim ctlr.modspec indent disksim_ctlr_param.c > || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_ctlr_param.o disksim_ctlr_param.c > disksim_ctlr_param.c: In function 'DISKSIM_CTLR_SCHEDULER_loader': > disksim_ctlr_param.c:64:24: warning: cast to pointer from integer of > different size [-Wint-to-pointer-cast] ../../libparam/mod.pl disksim > iodriver.modspec indent disksim_iodriver_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_iodriver_param.o disksim_iodriver_param.c > disksim_iodriver_param.c: In function 'DISKSIM_IODRIVER_SCHEDULER_loader': > disksim_iodriver_param.c:42:24: warning: cast to pointer from integer > of different size [-Wint-to-pointer-cast] ../../libparam/mod.pl > disksim ioqueue.modspec indent disksim_ioqueue_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_ioqueue_param.o disksim_ioqueue_param.c > ../../libparam/mod.pl disksim disk.modspec indent disksim_disk_param.c > || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_disk_param.o disksim_disk_param.c > disksim_disk_param.c: In function 'DISKSIM_DISK_MODEL_loader': > disksim_disk_param.c:9:24: warning: cast to pointer from integer of > different size [-Wint-to-pointer-cast] > disksim_disk_param.c: In function 'DISKSIM_DISK_SCHEDULER_loader': > disksim_disk_param.c:19:25: warning: cast to pointer from integer of > different size [-Wint-to-pointer-cast] > disksim_disk_param.c: In function 'DISKSIM_DISK_USE_SEPARATE_WRITE_SEGMENT_loader': > disksim_disk_param.c:241:30: warning: cast to pointer from integer of > different size [-Wint-to-pointer-cast] ../../libparam/mod.pl disksim > simpledisk.modspec indent disksim_simpledisk_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_simpledisk_param.o disksim_simpledisk_param.c > disksim_simpledisk_param.c: In function 'DISKSIM_SIMPLEDISK_SCHEDULER_loader': > disksim_simpledisk_param.c:9:24: warning: cast to pointer from integer > of different size [-Wint-to-pointer-cast] ../../libparam/mod.pl > disksim device_stats.modspec indent disksim_device_stats_param.c || > true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_device_stats_param.o disksim_device_stats_param.c > ../../libparam/mod.pl disksim bus_stats.modspec indent > disksim_bus_stats_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_bus_stats_param.o disksim_bus_stats_param.c > ../../libparam/mod.pl disksim ctlr_stats.modspec indent > disksim_ctlr_stats_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_ctlr_stats_param.o disksim_ctlr_stats_param.c > ../../libparam/mod.pl disksim iodriver_stats.modspec indent > disksim_iodriver_stats_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_iodriver_stats_param.o disksim_iodriver_stats_param.c > ../../libparam/mod.pl disksim pf_stats.modspec indent > disksim_pf_stats_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_pf_stats_param.o disksim_pf_stats_param.c > ../../libparam/mod.pl disksim global.modspec indent > disksim_global_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_global_param.o disksim_global_param.c > ../../libparam/mod.pl disksim stats.modspec indent > disksim_stats_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_stats_param.o disksim_stats_param.c > ../../libparam/mod.pl disksim syncset.modspec indent > disksim_syncset_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_syncset_param.o disksim_syncset_param.c > ../../libparam/mod.pl disksim synthgen.modspec indent > disksim_synthgen_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_synthgen_param.o disksim_synthgen_param.c > ../../libparam/mod.pl disksim synthio.modspec indent > disksim_synthio_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_synthio_param.o disksim_synthio_param.c > ../../libparam/mod.pl disksim logorg.modspec indent > disksim_logorg_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_logorg_param.o disksim_logorg_param.c > ../../libparam/mod.pl disksim pf.modspec indent disksim_pf_param.c || > true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_pf_param.o disksim_pf_param.c > ../../libparam/mod.pl disksim cachemem.modspec indent > disksim_cachemem_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_cachemem_param.o disksim_cachemem_param.c > ../../libparam/mod.pl disksim cachedev.modspec indent > disksim_cachedev_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_cachedev_param.o disksim_cachedev_param.c > ../../libparam/mod.pl disksim device.modspec indent > disksim_device_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_device_param.o disksim_device_param.c > ../../libparam/mod.pl disksim iosim.modspec indent > disksim_iosim_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_iosim_param.o disksim_iosim_param.c > ../../libparam/mod.pl disksim iomap.modspec indent > disksim_iomap_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_iomap_param.o disksim_iomap_param.c > ../../libparam/make_modules_h.pl disksim *.modspec > modules.h > make[2]: Leaving directory `/home/bpayne/disksim-4.0/src/modules' > mkdir -p ../include/disksim/modules > cp -pR modules/*.h ../include/disksim/modules cp disksim_interface.h ../include > gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim.c -o disksim.o > disksim.c: In function 'disksim_cleanup': > disksim.c:1086:3: warning: implicit declaration of function 'iodriver_cleanup' [-Wimplicit-function-declaration] > gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_intr.c -o disksim_intr.o > gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_pfsim.c -o disksim_pfsim.o > gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_pfdisp.c -o disksim_pfdisp.o > gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_synthio.c -o disksim_synthio.o > disksim_synthio.c: In function 'synthio_appendio': > disksim_synthio.c:215:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] > gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_iotrace.c -o disksim_iotrace.o > disksim_iotrace.c: In function 'iotrace_hpl_get_ioreq_event': > disksim_iotrace.c:373:18: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] > gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_iosim.c -o disksim_iosim.o > disksim_iosim.c: In function 'iosim_load_map': > disksim_iosim.c:364:17: warning: cast to pointer from integer of > different size [-Wint-to-pointer-cast] > disksim_iosim.c: In function 'io_initialize': > disksim_iosim.c:712:4: error: duplicate case value > disksim_iosim.c:712:4: error: previously used here > make[1]: *** [disksim_iosim.o] Error 1 > make[1]: Leaving directory `/home/bpayne/disksim-4.0/src' > make: *** [all] Error 2 > > > > Thank you, > > > Ben Payne > http://mst.edu/~bhpxc9/ > Suite 450, Room S452 > 5520 Research Park Drive > Catonsville, MD 21228-4870 > Laboratory for Physical Sciences > http://www.lps.umd.edu/ > office: 443-654-7890 > cell: 608-308-2413 > > > _______________________________________________ > Disksim-users mailing list > Disksim-users at ece.cmu.edu > https://sos.ece.cmu.edu/mailman/listinfo/disksim-users > _______________________________________________ > Disksim-users mailing list > Disksim-users at ece.cmu.edu > https://sos.ece.cmu.edu/mailman/listinfo/disksim-users _______________________________________________ Disksim-users mailing list Disksim-users at ece.cmu.edu https://sos.ece.cmu.edu/mailman/listinfo/disksim-users From pmacko at eecs.harvard.edu Wed Nov 7 16:35:24 2012 From: pmacko at eecs.harvard.edu (Peter Macko) Date: Wed, 07 Nov 2012 16:35:24 -0500 Subject: [Disksim-users] FW: sqrt problem during make In-Reply-To: <3E9C7E247905FE44A1556F1E7B959E7604C182B4E7@cec-exch.cec.lps.gov> References: <3E9C7E247905FE44A1556F1E7B959E7604C01D67E8@cec-exch.cec.lps.gov> <3E9C7E247905FE44A1556F1E7B959E7604C182B4C9@cec-exch.cec.lps.gov> <509A6887.1090803@eecs.harvard.edu> <3E9C7E247905FE44A1556F1E7B959E7604C182B4CB@cec-exch.cec.lps.gov> <3E9C7E247905FE44A1556F1E7B959E7604C182B4E7@cec-exch.cec.lps.gov> Message-ID: <509AD41C.1080009@eecs.harvard.edu> Did you apply the 64-bit patch? That's what you need to do to get further after making this one fix to the Makefile. -Peter On 11/07/2012 04:32 PM, Payne, Benjamin wrote: > Hello again, > > I finally got around to testing Peter's suggestion of moving "$(LDFLAGS)" to the end of mems_seektest in memsmodel/Makefile > Unfortunately this doesn't get me any further than the other method I tried previously, >> cd memsmodel >> gcc -Wall -Wno-unused -MD -o mems_seektest mems_seektest.o -lm -L. -g -DASSERTS -I../src// -I../ -I../src//src -lmems_internals -lm cd .. > Here's the full story of what I did: > > sudo apt-get install flex bison > cd > wget http://www.pdl.cmu.edu/PDL-FTP/DriveChar/disksim-4.0.tar.gz > tar xzf disksim-4.0.tar.gz > cd disksim-4.0 > # running "make" at this point yields the " undefined reference to `sqrt' " problem > gedit memsmodel/Makefile > # change > mems_seektest: mems_seektest.o libmems_internals.a > $(CC) -o $@ mems_seektest.o $(LDFLAGS) $(CFLAGS) -lmems_internals > # to > mems_seektest: mems_seektest.o libmems_internals.a > $(CC) -o $@ mems_seektest.o $(CFLAGS) -lmems_internals $(LDFLAGS) > make > > #output: > > > bpayne at bpayne-VirtualBox64:~/disksim-4.0$ make > make -C libddbg > make[1]: Entering directory `/home/bpayne/disksim-4.0/libddbg' > cc -g -I../libparam -c -o ddbg_assert.o ddbg_assert.c > cc -g -I../libparam -c -o ddbg_trace.o ddbg_trace.c > ar cru libddbg.a ddbg_assert.o ddbg_trace.o > mkdir -p include/libddbg lib > cp -p libddbg.h include/libddbg > cp -p libddbg.a lib > make[1]: Leaving directory `/home/bpayne/disksim-4.0/libddbg' > make -C libparam > make[1]: Entering directory `/home/bpayne/disksim-4.0/libparam' > cc -g -I../libddbg/include -Wall -c -o util.o util.c > bison -plibparam --defines libparam.y > cc -g -I../libddbg/include -Wall -c -o libparam.tab.o libparam.tab.c > libparam.tab.c: In function 'libparamparse': > libparam.tab.c:1375:7: warning: implicit declaration of function 'libparamlex' [-Wimplicit-function-declaration] > libparam.tab.c:1998:9: warning: passing argument 1 of 'libparamerror' discards 'const' qualifier from pointer target type [enabled by default] > libparam.y:41:6: note: expected 'char *' but argument is of type 'const char *' > flex -Plibparam libparam.lex > cc -g -I../libddbg/include -Wall -c -o lex.libparam.o lex.libparam.c > libparam.lex: In function 'libparamlex': > libparam.lex:124:15: warning: variable 'base' set but not used [-Wunused-but-set-variable] > libparam.lex: At top level: > lex.libparam.c:1460:17: warning: 'yyunput' defined but not used [-Wunused-function] > lex.libparam.c:1505:16: warning: 'input' defined but not used [-Wunused-function] > ar cru libparam.a util.o libparam.tab.o lex.libparam.o > mkdir -p lib include/libparam > cp -p libparam.a lib > cp -p bitvector.h libparam.h include/libparam > make[1]: Leaving directory `/home/bpayne/disksim-4.0/libparam' > make -C diskmodel > make[1]: Entering directory `/home/bpayne/disksim-4.0/diskmodel' > make -C modules > make[2]: Entering directory `/home/bpayne/disksim-4.0/diskmodel/modules' > ../../libparam/mod.pl dm disk.modspec > indent dm_disk_param.c 2>/dev/null >/dev/null || true > cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/include -c -o dm_disk_param.o dm_disk_param.c > ../../libparam/mod.pl dm mech_g1.modspec > indent dm_mech_g1_param.c 2>/dev/null >/dev/null || true > cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/include -c -o dm_mech_g1_param.o dm_mech_g1_param.c > ../../libparam/mod.pl dm layout_g1.modspec > indent dm_layout_g1_param.c 2>/dev/null >/dev/null || true > cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/include -c -o dm_layout_g1_param.o dm_layout_g1_param.c > ../../libparam/mod.pl dm layout_g1_zone.modspec > indent dm_layout_g1_zone_param.c 2>/dev/null >/dev/null || true > cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/include -c -o dm_layout_g1_zone_param.o dm_layout_g1_zone_param.c > ../../libparam/mod.pl dm layout_g2.modspec > indent dm_layout_g2_param.c 2>/dev/null >/dev/null || true > cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/include -c -o dm_layout_g2_param.o dm_layout_g2_param.c > ../../libparam/mod.pl dm layout_g2_zone.modspec > indent dm_layout_g2_zone_param.c 2>/dev/null >/dev/null || true > cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/include -c -o dm_layout_g2_zone_param.o dm_layout_g2_zone_param.c > ../../libparam/mod.pl dm layout_g4.modspec > indent dm_layout_g4_param.c 2>/dev/null >/dev/null || true > cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/include -c -o dm_layout_g4_param.o dm_layout_g4_param.c > ../../libparam/make_modules_h.pl dm *.modspec > modules.h > make[2]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel/modules' > mkdir -p include/diskmodel/modules > cp -p dm.h dm_types.h dm_config.h marshal.h include/diskmodel > cp -p modules/*.h include/diskmodel/modules > gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE -Wall -Wshadow -Wno-unused -MD -c -o mech_g1_seektime.o mech_g1_seektime.c > gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE -Wall -Wshadow -Wno-unused -MD -c -o mech_g1.o mech_g1.c > gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE -Wall -Wshadow -Wno-unused -MD -c -o layout_g1.o layout_g1.c > layout_g1.c: In function 'g1_st_pbn': > layout_g1.c:184:3: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] > layout_g1.c: In function 'g1_ptol_nosparing': > layout_g1.c:492:3: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] > layout_g1.c: In function 'g1_ptol_sectpertrackspare': > layout_g1.c:531:3: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] > layout_g1.c: In function 'g1_ptol_sectperrangespare': > layout_g1.c:702:3: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] > layout_g1.c: In function 'g1_ptol_sectperzonespare': > layout_g1.c:779:3: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] > layout_g1.c: In function 'g1_ptol_trackspare': > layout_g1.c:851:3: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] > layout_g1.c: In function 'g1_get_zone': > layout_g1.c:1941:5: warning: 'z' is used uninitialized in this function [-Wuninitialized] > gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE -Wall -Wshadow -Wno-unused -MD -c -o sqrt.o sqrt.c > gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE -Wall -Wshadow -Wno-unused -MD -c -o marshal.o marshal.c > gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE -Wall -Wshadow -Wno-unused -MD -c -o layout_g2.o layout_g2.c > layout_g2.c: In function 'st_pbn': > layout_g2.c:251:3: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] > layout_g2.c: At top level: > layout_g2.c:480:3: warning: initialization from incompatible pointer type [enabled by default] > layout_g2.c:480:3: warning: (near initialization for 'layout_g2.dm_get_track_boundaries') [enabled by default] > gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE -Wall -Wshadow -Wno-unused -MD -c -o layout_g4.o layout_g4.c > gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE -Wall -Wshadow -Wno-unused -MD -c -o mech_g1_load.o mech_g1_load.c > mech_g1_load.c: In function 'dm_mech_g1_seek_init': > mech_g1_load.c:323:9: warning: format '%lld' expects argument of type 'long long int', but argument 3 has type 'dm_time_t' [-Wformat] > mech_g1_load.c:323:9: warning: format '%lld' expects argument of type 'long long int', but argument 4 has type 'dm_time_t' [-Wformat] > mech_g1_load.c:323:9: warning: format '%lld' expects argument of type 'long long int', but argument 5 has type 'dm_time_t' [-Wformat] > gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE -Wall -Wshadow -Wno-unused -MD -c -o layout_g1_load.o layout_g1_load.c > gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE -Wall -Wshadow -Wno-unused -MD -c -o dm_load.o dm_load.c > gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE -Wall -Wshadow -Wno-unused -MD -c -o convert.o convert.c > gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE -Wall -Wshadow -Wno-unused -MD -c -o layout_g2_load.o layout_g2_load.c > gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE -Wall -Wshadow -Wno-unused -MD -c -o layout_g4_load.o layout_g4_load.c > make -C modules > make[2]: Entering directory `/home/bpayne/disksim-4.0/diskmodel/modules' > make[2]: Nothing to be done for `all'. > make[2]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel/modules' > Linking libdiskmodel.a modules/*.o mech_g1_load.o layout_g1_load.o dm_load.o convert.o layout_g2_load.o layout_g4_load.o > ar cru libdiskmodel.a mech_g1_seektime.o mech_g1.o layout_g1.o sqrt.o marshal.o layout_g2.o layout_g4.o modules/*.o mech_g1_load.o layout_g1_load.o dm_load.o convert.o layout_g2_load.o layout_g4_load.o > mkdir -p lib > cp -p libdiskmodel.a lib > make -C tests > make[2]: Entering directory `/home/bpayne/disksim-4.0/diskmodel/tests' > cc -g -I../../diskmodel/include -I../../libparam/include -I../../libddbg/include -c -o driver.o driver.c > cc -g -I../../diskmodel/include -I../../libparam/include -I../../libddbg/include -o layout_simple layout_simple.c driver.o -L../../diskmodel/lib -ldiskmodel -L../../libparam/lib -lparam -L../../libddbg/lib -lddbg > cc -g -I../../diskmodel/include -I../../libparam/include -I../../libddbg/include -o layout_simple_0t layout_simple_0t.c driver.o -L../../diskmodel/lib -ldiskmodel -L../../libparam/lib -lparam -L../../libddbg/lib -lddbg > cc -g -I../../diskmodel/include -I../../libparam/include -I../../libddbg/include -o layout_track layout_track.c driver.o -L../../diskmodel/lib -ldiskmodel -L../../libparam/lib -lparam -L../../libddbg/lib -lddbg > cc -g -I../../diskmodel/include -I../../libparam/include -I../../libddbg/include -o layout_raw layout_raw.c driver.o -L../../diskmodel/lib -ldiskmodel -L../../libparam/lib -lparam -L../../libddbg/lib -lddbg > cc -g -I../../diskmodel/include -I../../libparam/include -I../../libddbg/include -o layout_bogon layout_bogon.c driver.o -L../../diskmodel/lib -ldiskmodel -L../../libparam/lib -lparam -L../../libddbg/lib -lddbg > cc -g -I../../diskmodel/include -I../../libparam/include -I../../libddbg/include -o layout_skew layout_skew.c driver.o -L../../diskmodel/lib -ldiskmodel -L../../libparam/lib -lparam -L../../libddbg/lib -lddbg > cc -g -I../../diskmodel/include -I../../libparam/include -I../../libddbg/include -o mech_seek mech_seek.c driver.o -L../../diskmodel/lib -ldiskmodel -L../../libparam/lib -lparam -L../../libddbg/lib -lddbg > rm driver.o > make[2]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel/tests' > make[1]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel' > make -C memsmodel > make[1]: Entering directory `/home/bpayne/disksim-4.0/memsmodel' > make -C modules > make[2]: Entering directory `/home/bpayne/disksim-4.0/memsmodel/modules' > ../../libparam/mod.pl memsmodel mems.modspec > indent memsmodel_mems_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../src// -I../../libddbg/include -I../../libparam/include -I../../memsmodel/include -I.. -c -o memsmodel_mems_param.o memsmodel_mems_param.c > memsmodel_mems_param.c: In function 'MEMSMODEL_MEMS_SCHEDULER_loader': > memsmodel_mems_param.c:9:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] > ../../libparam/make_modules_h.pl memsmodel *.modspec > modules.h > make[2]: Leaving directory `/home/bpayne/disksim-4.0/memsmodel/modules' > mkdir -p include/memsmodel/modules > cp -p mems_disksim.h mems_internals.h mems_mapping.h \ > mems_piecewise_seek.h mems_global.h mems_buffer.h include/memsmodel > cp -p modules/*.h include/memsmodel/modules > gcc -Wall -Wno-unused -MD -c -g -DASSERTS -I../src// -I../ -I../src//src mems_seektest.c -o mems_seektest.o > gcc -Wall -Wno-unused -MD -c -g -DASSERTS -I../src// -I../ -I../src//src mems_internals.c -o mems_internals.o > gcc -Wall -Wno-unused -MD -c -g -DASSERTS -I../src// -I../ -I../src//src mems_piecewise_seek.c -o mems_piecewise_seek.o > gcc -Wall -Wno-unused -MD -c -g -DASSERTS -I../src// -I../ -I../src//src mems_hong_seek.c -o mems_hong_seek.o > ar cru libmems_internals.a mems_internals.o mems_piecewise_seek.o mems_hong_seek.o > ranlib libmems_internals.a > mkdir -p lib > cp -p libmems_internals.a lib > gcc -Wall -Wno-unused -MD -o mems_seektest mems_seektest.o -g -DASSERTS -I../src// -I../ -I../src//src -lmems_internals -lm -L. > gcc -Wall -Wno-unused -MD -g -DASSERTS -I../src// -I../ -I../src//src -c -o mems_disksim.o mems_disksim.c > gcc -Wall -Wno-unused -MD -g -DASSERTS -I../src// -I../ -I../src//src -c -o mems_event.o mems_event.c > gcc -Wall -Wno-unused -MD -g -DASSERTS -I../src// -I../ -I../src//src -c -o mems_mapping.o mems_mapping.c > gcc -Wall -Wno-unused -MD -c -g -DASSERTS -I../src// -I../ -I../src//src mems_buffer.c -o mems_buffer.o > ar cru libmemsmodel.a mems_disksim.o mems_event.o mems_mapping.o mems_internals.o mems_piecewise_seek.o mems_hong_seek.o mems_buffer.o modules/memsmodel_mems_param.o > ranlib libmemsmodel.a > mkdir -p lib > cp -p libmemsmodel.a lib > make[1]: Leaving directory `/home/bpayne/disksim-4.0/memsmodel' > make -C src > make[1]: Entering directory `/home/bpayne/disksim-4.0/src' > make -C modules > make[2]: Entering directory `/home/bpayne/disksim-4.0/src/modules' > ../../libparam/mod.pl disksim bus.modspec > indent disksim_bus_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_bus_param.o disksim_bus_param.c > ../../libparam/mod.pl disksim ctlr.modspec > indent disksim_ctlr_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_ctlr_param.o disksim_ctlr_param.c > disksim_ctlr_param.c: In function 'DISKSIM_CTLR_SCHEDULER_loader': > disksim_ctlr_param.c:64:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] > ../../libparam/mod.pl disksim iodriver.modspec > indent disksim_iodriver_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_iodriver_param.o disksim_iodriver_param.c > disksim_iodriver_param.c: In function 'DISKSIM_IODRIVER_SCHEDULER_loader': > disksim_iodriver_param.c:42:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] > ../../libparam/mod.pl disksim ioqueue.modspec > indent disksim_ioqueue_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_ioqueue_param.o disksim_ioqueue_param.c > ../../libparam/mod.pl disksim disk.modspec > indent disksim_disk_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_disk_param.o disksim_disk_param.c > disksim_disk_param.c: In function 'DISKSIM_DISK_MODEL_loader': > disksim_disk_param.c:9:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] > disksim_disk_param.c: In function 'DISKSIM_DISK_SCHEDULER_loader': > disksim_disk_param.c:19:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] > disksim_disk_param.c: In function 'DISKSIM_DISK_USE_SEPARATE_WRITE_SEGMENT_loader': > disksim_disk_param.c:241:30: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] > ../../libparam/mod.pl disksim simpledisk.modspec > indent disksim_simpledisk_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_simpledisk_param.o disksim_simpledisk_param.c > disksim_simpledisk_param.c: In function 'DISKSIM_SIMPLEDISK_SCHEDULER_loader': > disksim_simpledisk_param.c:9:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] > ../../libparam/mod.pl disksim device_stats.modspec > indent disksim_device_stats_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_device_stats_param.o disksim_device_stats_param.c > ../../libparam/mod.pl disksim bus_stats.modspec > indent disksim_bus_stats_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_bus_stats_param.o disksim_bus_stats_param.c > ../../libparam/mod.pl disksim ctlr_stats.modspec > indent disksim_ctlr_stats_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_ctlr_stats_param.o disksim_ctlr_stats_param.c > ../../libparam/mod.pl disksim iodriver_stats.modspec > indent disksim_iodriver_stats_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_iodriver_stats_param.o disksim_iodriver_stats_param.c > ../../libparam/mod.pl disksim pf_stats.modspec > indent disksim_pf_stats_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_pf_stats_param.o disksim_pf_stats_param.c > ../../libparam/mod.pl disksim global.modspec > indent disksim_global_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_global_param.o disksim_global_param.c > ../../libparam/mod.pl disksim stats.modspec > indent disksim_stats_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_stats_param.o disksim_stats_param.c > ../../libparam/mod.pl disksim syncset.modspec > indent disksim_syncset_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_syncset_param.o disksim_syncset_param.c > ../../libparam/mod.pl disksim synthgen.modspec > indent disksim_synthgen_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_synthgen_param.o disksim_synthgen_param.c > ../../libparam/mod.pl disksim synthio.modspec > indent disksim_synthio_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_synthio_param.o disksim_synthio_param.c > ../../libparam/mod.pl disksim logorg.modspec > indent disksim_logorg_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_logorg_param.o disksim_logorg_param.c > ../../libparam/mod.pl disksim pf.modspec > indent disksim_pf_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_pf_param.o disksim_pf_param.c > ../../libparam/mod.pl disksim cachemem.modspec > indent disksim_cachemem_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_cachemem_param.o disksim_cachemem_param.c > ../../libparam/mod.pl disksim cachedev.modspec > indent disksim_cachedev_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_cachedev_param.o disksim_cachedev_param.c > ../../libparam/mod.pl disksim device.modspec > indent disksim_device_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_device_param.o disksim_device_param.c > ../../libparam/mod.pl disksim iosim.modspec > indent disksim_iosim_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_iosim_param.o disksim_iosim_param.c > ../../libparam/mod.pl disksim iomap.modspec > indent disksim_iomap_param.c || true > /bin/sh: 1: indent: not found > cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_iomap_param.o disksim_iomap_param.c > ../../libparam/make_modules_h.pl disksim *.modspec > modules.h > make[2]: Leaving directory `/home/bpayne/disksim-4.0/src/modules' > mkdir -p ../include/disksim/modules > cp -pR modules/*.h ../include/disksim/modules > cp disksim_interface.h ../include > gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim.c -o disksim.o > disksim.c: In function 'disksim_cleanup': > disksim.c:1086:3: warning: implicit declaration of function 'iodriver_cleanup' [-Wimplicit-function-declaration] > gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_intr.c -o disksim_intr.o > gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_pfsim.c -o disksim_pfsim.o > gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_pfdisp.c -o disksim_pfdisp.o > gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_synthio.c -o disksim_synthio.o > disksim_synthio.c: In function 'synthio_appendio': > disksim_synthio.c:215:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] > gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_iotrace.c -o disksim_iotrace.o > disksim_iotrace.c: In function 'iotrace_hpl_get_ioreq_event': > disksim_iotrace.c:373:18: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] > gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_iosim.c -o disksim_iosim.o > disksim_iosim.c: In function 'iosim_load_map': > disksim_iosim.c:364:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] > disksim_iosim.c: In function 'io_initialize': > disksim_iosim.c:712:4: error: duplicate case value > disksim_iosim.c:712:4: error: previously used here > make[1]: *** [disksim_iosim.o] Error 1 > make[1]: Leaving directory `/home/bpayne/disksim-4.0/src' > make: *** [all] Error 2 > > > > -----Original Message----- > From: disksim-users-bounces at ece.cmu.edu [mailto:disksim-users-bounces at ece.cmu.edu] On Behalf Of Payne, Benjamin > Sent: Wednesday, November 07, 2012 9:00 AM > To: disksim-users at ece.cmu.edu > Subject: Re: [Disksim-users] FW: sqrt problem during make > > Thanks for the fix Peter. > > If this is all known, what is the route for getting the source code fixed? > > Kindly, > > > Ben > > -----Original Message----- > From: Peter Macko [mailto:pmacko at eecs.harvard.edu] > Sent: Wednesday, November 07, 2012 8:56 AM > To: Payne, Benjamin > Cc: disksim-users at ece.cmu.edu > Subject: Re: [Disksim-users] FW: sqrt problem during make > > I haven't used disksim in more than a year (so I am not an active user by any means), but your email prompted me to do some research about how I solved this. > > In memsmodel/Makefile, just change: > > mems_seektest: mems_seektest.o libmems_internals.a > $(CC) -o $@ mems_seektest.o $(LDFLAGS) $(CFLAGS) -lmems_internals > > to: > > mems_seektest: mems_seektest.o libmems_internals.a > $(CC) -o $@ mems_seektest.o $(CFLAGS) -lmems_internals $(LDFLAGS) > > This should hopefully fix the sqrt problem. (I am not sure if that's all you need, but see if this helps.) > > The duplicate case value is a result of a static assertion that checks to make sure that you are running on a 32-bit system. For 64-bit systems, you can get a patch from here: > http://scobyseo.blogspot.com/2009/12/disksim-40-ssd-extention-64bit-patch.html > The patch did not apply cleanly for me, so I had to apply it manually, and then it worked (plus you should feel free to ignore the ssdmodel part if you are not using the SSD extensions). > > Best, > -Peter > > > On 11/07/2012 08:38 AM, Payne, Benjamin wrote: >> Hello, >> >> Komal Shah's screenshot is of the same problem I mentioned below and never received a reply on. >> >> The purpose of this email is to see if there are any developers or other active people reading this list: Are you here? >> >> Thanks, >> >> Ben >> >> -----Original Message----- >> From: disksim-users-bounces at ece.cmu.edu >> [mailto:disksim-users-bounces at ece.cmu.edu] On Behalf Of Payne, >> Benjamin >> Sent: Friday, November 02, 2012 12:37 PM >> To: disksim-users at ece.cmu.edu >> Subject: [Disksim-users] sqrt problem during make >> >> Hello, >> >> >From reading the list archives, I see the problem with sqrt being undefined during installation isn't new: >> https://sos.ece.cmu.edu/pipermail/disksim-users/2011-December/000699.h >> tml >> http://cboard.cprogramming.com/c-programming/144182-gcc-compile-proble >> m-link.html >> >> The details are below, but my question is on fixing this. Did I make a mistake during installation, or is this normal? If the error is normal, how can it be fixed? >> >> On a fresh installation of Ubuntu 12.04 64bit, I ran the following commands to get started with disksim: >> >> sudo apt-get install flex bison >> wget http://www.pdl.cmu.edu/PDL-FTP/DriveChar/disksim-4.0.tar.gz >> tar xzf disksim-4.0.tar.gz >> cd disksim-4.0 >> make >> >> The output from "make" is >> >> bpayne at bpayne-VirtualBox64:~/disksim-4.0$ make make -C libddbg >> make[1]: Entering directory `/home/bpayne/disksim-4.0/libddbg' >> mkdir -p include/libddbg lib >> cp -p libddbg.h include/libddbg >> cp -p libddbg.a lib >> make[1]: Leaving directory `/home/bpayne/disksim-4.0/libddbg' >> make -C libparam >> make[1]: Entering directory `/home/bpayne/disksim-4.0/libparam' >> mkdir -p lib include/libparam >> cp -p libparam.a lib >> cp -p bitvector.h libparam.h include/libparam >> make[1]: Leaving directory `/home/bpayne/disksim-4.0/libparam' >> make -C diskmodel >> make[1]: Entering directory `/home/bpayne/disksim-4.0/diskmodel' >> make -C tests >> make[2]: Entering directory `/home/bpayne/disksim-4.0/diskmodel/tests' >> make[2]: Nothing to be done for `all'. >> make[2]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel/tests' >> make[1]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel' >> make -C memsmodel >> make[1]: Entering directory `/home/bpayne/disksim-4.0/memsmodel' >> gcc -Wall -Wno-unused -MD -o mems_seektest mems_seektest.o -lm -L. -g >> -DASSERTS -I../src// -I../ -I../src//src -lmems_internals >> ./libmems_internals.a(mems_piecewise_seek.o): In function `find_seek_time_piecewise': >> /home/bpayne/disksim-4.0/memsmodel/mems_piecewise_seek.c:523: undefined reference to `sqrt' >> /home/bpayne/disksim-4.0/memsmodel/mems_piecewise_seek.c:565: undefined reference to `sqrt' >> ./libmems_internals.a(mems_hong_seek.o): In function `find_seek_time_hong_x': >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:78: undefined reference to `sqrt' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:80: undefined reference to `acos' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:94: undefined reference to `sqrt' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:96: undefined reference to `acos' >> ./libmems_internals.a(mems_hong_seek.o): In function `find_seek_time_hong_y': >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:174: undefined reference to `sqrt' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:182: undefined reference to `sqrt' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:182: undefined reference to `sqrt' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:179: undefined reference to `sqrt' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:176: undefined reference to `asin' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:194: undefined reference to `sqrt' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:202: undefined reference to `sqrt' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:202: undefined reference to `sqrt' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:199: undefined reference to `sqrt' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:196: undefined reference to `asin' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:214: undefined reference to `sqrt' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:222: undefined reference to `sqrt' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:222: undefined reference to `sqrt' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:219: undefined reference to `sqrt' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:216: undefined reference to `asin' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:265: undefined reference to `sqrt' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:273: undefined reference to `sqrt' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:273: undefined reference to `sqrt' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:270: undefined reference to `sqrt' >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:267: undefined reference to `asin' >> collect2: ld returned 1 exit status >> make[1]: *** [mems_seektest] Error 1 >> make[1]: Leaving directory `/home/bpayne/disksim-4.0/memsmodel' >> make: *** [all] Error 2 >> >> However, by running the following >> >> cd memsmodel >> gcc -Wall -Wno-unused -MD -o mems_seektest mems_seektest.o -lm -L. -g -DASSERTS -I../src// -I../ -I../src//src -lmems_internals -lm cd .. >> >> and then trying make again, I get new output: >> >> bpayne at bpayne-VirtualBox64:~/disksim-4.0$ make make -C libddbg >> make[1]: Entering directory `/home/bpayne/disksim-4.0/libddbg' >> mkdir -p include/libddbg lib >> cp -p libddbg.h include/libddbg >> cp -p libddbg.a lib >> make[1]: Leaving directory `/home/bpayne/disksim-4.0/libddbg' >> make -C libparam >> make[1]: Entering directory `/home/bpayne/disksim-4.0/libparam' >> mkdir -p lib include/libparam >> cp -p libparam.a lib >> cp -p bitvector.h libparam.h include/libparam >> make[1]: Leaving directory `/home/bpayne/disksim-4.0/libparam' >> make -C diskmodel >> make[1]: Entering directory `/home/bpayne/disksim-4.0/diskmodel' >> make -C tests >> make[2]: Entering directory `/home/bpayne/disksim-4.0/diskmodel/tests' >> make[2]: Nothing to be done for `all'. >> make[2]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel/tests' >> make[1]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel' >> make -C memsmodel >> make[1]: Entering directory `/home/bpayne/disksim-4.0/memsmodel' >> gcc -Wall -Wno-unused -MD -g -DASSERTS -I../src// -I../ -I../src//src -c -o mems_disksim.o mems_disksim.c >> gcc -Wall -Wno-unused -MD -g -DASSERTS -I../src// -I../ -I../src//src -c -o mems_event.o mems_event.c >> gcc -Wall -Wno-unused -MD -g -DASSERTS -I../src// -I../ -I../src//src -c -o mems_mapping.o mems_mapping.c >> gcc -Wall -Wno-unused -MD -c -g -DASSERTS -I../src// -I../ >> -I../src//src mems_buffer.c -o mems_buffer.o ar cru libmemsmodel.a >> mems_disksim.o mems_event.o mems_mapping.o mems_internals.o >> mems_piecewise_seek.o mems_hong_seek.o mems_buffer.o >> modules/memsmodel_mems_param.o ranlib libmemsmodel.a mkdir -p lib cp >> -p libmemsmodel.a lib >> make[1]: Leaving directory `/home/bpayne/disksim-4.0/memsmodel' >> make -C src >> make[1]: Entering directory `/home/bpayne/disksim-4.0/src' >> make -C modules >> make[2]: Entering directory `/home/bpayne/disksim-4.0/src/modules' >> ../../libparam/mod.pl disksim bus.modspec indent disksim_bus_param.c >> || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_bus_param.o disksim_bus_param.c >> ../../libparam/mod.pl disksim ctlr.modspec indent disksim_ctlr_param.c >> || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_ctlr_param.o disksim_ctlr_param.c >> disksim_ctlr_param.c: In function 'DISKSIM_CTLR_SCHEDULER_loader': >> disksim_ctlr_param.c:64:24: warning: cast to pointer from integer of >> different size [-Wint-to-pointer-cast] ../../libparam/mod.pl disksim >> iodriver.modspec indent disksim_iodriver_param.c || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_iodriver_param.o disksim_iodriver_param.c >> disksim_iodriver_param.c: In function 'DISKSIM_IODRIVER_SCHEDULER_loader': >> disksim_iodriver_param.c:42:24: warning: cast to pointer from integer >> of different size [-Wint-to-pointer-cast] ../../libparam/mod.pl >> disksim ioqueue.modspec indent disksim_ioqueue_param.c || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_ioqueue_param.o disksim_ioqueue_param.c >> ../../libparam/mod.pl disksim disk.modspec indent disksim_disk_param.c >> || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_disk_param.o disksim_disk_param.c >> disksim_disk_param.c: In function 'DISKSIM_DISK_MODEL_loader': >> disksim_disk_param.c:9:24: warning: cast to pointer from integer of >> different size [-Wint-to-pointer-cast] >> disksim_disk_param.c: In function 'DISKSIM_DISK_SCHEDULER_loader': >> disksim_disk_param.c:19:25: warning: cast to pointer from integer of >> different size [-Wint-to-pointer-cast] >> disksim_disk_param.c: In function 'DISKSIM_DISK_USE_SEPARATE_WRITE_SEGMENT_loader': >> disksim_disk_param.c:241:30: warning: cast to pointer from integer of >> different size [-Wint-to-pointer-cast] ../../libparam/mod.pl disksim >> simpledisk.modspec indent disksim_simpledisk_param.c || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_simpledisk_param.o disksim_simpledisk_param.c >> disksim_simpledisk_param.c: In function 'DISKSIM_SIMPLEDISK_SCHEDULER_loader': >> disksim_simpledisk_param.c:9:24: warning: cast to pointer from integer >> of different size [-Wint-to-pointer-cast] ../../libparam/mod.pl >> disksim device_stats.modspec indent disksim_device_stats_param.c || >> true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_device_stats_param.o disksim_device_stats_param.c >> ../../libparam/mod.pl disksim bus_stats.modspec indent >> disksim_bus_stats_param.c || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_bus_stats_param.o disksim_bus_stats_param.c >> ../../libparam/mod.pl disksim ctlr_stats.modspec indent >> disksim_ctlr_stats_param.c || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_ctlr_stats_param.o disksim_ctlr_stats_param.c >> ../../libparam/mod.pl disksim iodriver_stats.modspec indent >> disksim_iodriver_stats_param.c || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_iodriver_stats_param.o disksim_iodriver_stats_param.c >> ../../libparam/mod.pl disksim pf_stats.modspec indent >> disksim_pf_stats_param.c || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_pf_stats_param.o disksim_pf_stats_param.c >> ../../libparam/mod.pl disksim global.modspec indent >> disksim_global_param.c || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_global_param.o disksim_global_param.c >> ../../libparam/mod.pl disksim stats.modspec indent >> disksim_stats_param.c || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_stats_param.o disksim_stats_param.c >> ../../libparam/mod.pl disksim syncset.modspec indent >> disksim_syncset_param.c || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_syncset_param.o disksim_syncset_param.c >> ../../libparam/mod.pl disksim synthgen.modspec indent >> disksim_synthgen_param.c || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_synthgen_param.o disksim_synthgen_param.c >> ../../libparam/mod.pl disksim synthio.modspec indent >> disksim_synthio_param.c || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_synthio_param.o disksim_synthio_param.c >> ../../libparam/mod.pl disksim logorg.modspec indent >> disksim_logorg_param.c || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_logorg_param.o disksim_logorg_param.c >> ../../libparam/mod.pl disksim pf.modspec indent disksim_pf_param.c || >> true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_pf_param.o disksim_pf_param.c >> ../../libparam/mod.pl disksim cachemem.modspec indent >> disksim_cachemem_param.c || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_cachemem_param.o disksim_cachemem_param.c >> ../../libparam/mod.pl disksim cachedev.modspec indent >> disksim_cachedev_param.c || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_cachedev_param.o disksim_cachedev_param.c >> ../../libparam/mod.pl disksim device.modspec indent >> disksim_device_param.c || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_device_param.o disksim_device_param.c >> ../../libparam/mod.pl disksim iosim.modspec indent >> disksim_iosim_param.c || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_iosim_param.o disksim_iosim_param.c >> ../../libparam/mod.pl disksim iomap.modspec indent >> disksim_iomap_param.c || true >> /bin/sh: 1: indent: not found >> cc -g -I../../libddbg/include -I../../libparam/include -I../../diskmodel/include -I.. -c -o disksim_iomap_param.o disksim_iomap_param.c >> ../../libparam/make_modules_h.pl disksim *.modspec > modules.h >> make[2]: Leaving directory `/home/bpayne/disksim-4.0/src/modules' >> mkdir -p ../include/disksim/modules >> cp -pR modules/*.h ../include/disksim/modules cp disksim_interface.h ../include >> gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim.c -o disksim.o >> disksim.c: In function 'disksim_cleanup': >> disksim.c:1086:3: warning: implicit declaration of function 'iodriver_cleanup' [-Wimplicit-function-declaration] >> gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_intr.c -o disksim_intr.o >> gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_pfsim.c -o disksim_pfsim.o >> gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_pfdisp.c -o disksim_pfdisp.o >> gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_synthio.c -o disksim_synthio.o >> disksim_synthio.c: In function 'synthio_appendio': >> disksim_synthio.c:215:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] >> gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_iotrace.c -o disksim_iotrace.o >> disksim_iotrace.c: In function 'iotrace_hpl_get_ioreq_event': >> disksim_iotrace.c:373:18: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] >> gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include -I../libparam/include -I../libddbg/include -g -DASSERTS -I../memsmodel/include -D_INLINE disksim_iosim.c -o disksim_iosim.o >> disksim_iosim.c: In function 'iosim_load_map': >> disksim_iosim.c:364:17: warning: cast to pointer from integer of >> different size [-Wint-to-pointer-cast] >> disksim_iosim.c: In function 'io_initialize': >> disksim_iosim.c:712:4: error: duplicate case value >> disksim_iosim.c:712:4: error: previously used here >> make[1]: *** [disksim_iosim.o] Error 1 >> make[1]: Leaving directory `/home/bpayne/disksim-4.0/src' >> make: *** [all] Error 2 >> >> >> >> Thank you, >> >> >> Ben Payne >> http://mst.edu/~bhpxc9/ >> Suite 450, Room S452 >> 5520 Research Park Drive >> Catonsville, MD 21228-4870 >> Laboratory for Physical Sciences >> http://www.lps.umd.edu/ >> office: 443-654-7890 >> cell: 608-308-2413 >> >> >> _______________________________________________ >> Disksim-users mailing list >> Disksim-users at ece.cmu.edu >> https://sos.ece.cmu.edu/mailman/listinfo/disksim-users >> _______________________________________________ >> Disksim-users mailing list >> Disksim-users at ece.cmu.edu >> https://sos.ece.cmu.edu/mailman/listinfo/disksim-users > _______________________________________________ > Disksim-users mailing list > Disksim-users at ece.cmu.edu > https://sos.ece.cmu.edu/mailman/listinfo/disksim-users > _______________________________________________ > Disksim-users mailing list > Disksim-users at ece.cmu.edu > https://sos.ece.cmu.edu/mailman/listinfo/disksim-users From shahkomal786 at gmail.com Thu Nov 8 02:09:05 2012 From: shahkomal786 at gmail.com (Komal Shah) Date: Wed, 7 Nov 2012 23:09:05 -0800 Subject: [Disksim-users] Disksim-users Digest, Vol 84, Issue 4 In-Reply-To: References: Message-ID: Peter, Thanks for your prompt reply. But unfortunately this does not solve the entire problem. Please find the attached screen shot of the errors. Thanks, Komal. On Wed, Nov 7, 2012 at 6:38 AM, wrote: > Send Disksim-users mailing list submissions to > disksim-users at ece.cmu.edu > > To subscribe or unsubscribe via the World Wide Web, visit > https://sos.ece.cmu.edu/mailman/listinfo/disksim-users > or, via email, send a message with subject or body 'help' to > disksim-users-request at ece.cmu.edu > > You can reach the person managing the list at > disksim-users-owner at ece.cmu.edu > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of Disksim-users digest..." > > > Today's Topics: > > 1. Re: FW: sqrt problem during make (Peter Macko) > 2. Re: FW: sqrt problem during make (Peter Macko) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Wed, 07 Nov 2012 08:56:23 -0500 > From: Peter Macko > Subject: Re: [Disksim-users] FW: sqrt problem during make > To: "Payne, Benjamin" > Cc: "disksim-users at ece.cmu.edu" > Message-ID: <509A6887.1090803 at eecs.harvard.edu> > Content-Type: text/plain; charset=ISO-8859-1; format=flowed > > I haven't used disksim in more than a year (so I am not an active user > by any means), but your email prompted me to do some research about how > I solved this. > > In memsmodel/Makefile, just change: > > mems_seektest: mems_seektest.o libmems_internals.a > $(CC) -o $@ mems_seektest.o $(LDFLAGS) $(CFLAGS) -lmems_internals > > to: > > mems_seektest: mems_seektest.o libmems_internals.a > $(CC) -o $@ mems_seektest.o $(CFLAGS) -lmems_internals $(LDFLAGS) > > This should hopefully fix the sqrt problem. (I am not sure if that's all > you need, but see if this helps.) > > The duplicate case value is a result of a static assertion that checks > to make sure that you are running on a 32-bit system. For 64-bit > systems, you can get a patch from here: > > http://scobyseo.blogspot.com/2009/12/disksim-40-ssd-extention-64bit-patch.html > The patch did not apply cleanly for me, so I had to apply it manually, > and then it worked (plus you should feel free to ignore the ssdmodel > part if you are not using the SSD extensions). > > Best, > -Peter > > > On 11/07/2012 08:38 AM, Payne, Benjamin wrote: > > Hello, > > > > Komal Shah's screenshot is of the same problem I mentioned below and > never received a reply on. > > > > The purpose of this email is to see if there are any developers or other > active people reading this list: Are you here? > > > > Thanks, > > > > Ben > > > > -----Original Message----- > > From: disksim-users-bounces at ece.cmu.edu [mailto: > disksim-users-bounces at ece.cmu.edu] On Behalf Of Payne, Benjamin > > Sent: Friday, November 02, 2012 12:37 PM > > To: disksim-users at ece.cmu.edu > > Subject: [Disksim-users] sqrt problem during make > > > > Hello, > > > > >From reading the list archives, I see the problem with sqrt being > undefined during installation isn't new: > > > https://sos.ece.cmu.edu/pipermail/disksim-users/2011-December/000699.html > > > http://cboard.cprogramming.com/c-programming/144182-gcc-compile-problem-link.html > > > > The details are below, but my question is on fixing this. Did I make a > mistake during installation, or is this normal? If the error is normal, how > can it be fixed? > > > > On a fresh installation of Ubuntu 12.04 64bit, I ran the following > commands to get started with disksim: > > > > sudo apt-get install flex bison > > wget http://www.pdl.cmu.edu/PDL-FTP/DriveChar/disksim-4.0.tar.gz > > tar xzf disksim-4.0.tar.gz > > cd disksim-4.0 > > make > > > > The output from "make" is > > > > bpayne at bpayne-VirtualBox64:~/disksim-4.0$ make make -C libddbg > > make[1]: Entering directory `/home/bpayne/disksim-4.0/libddbg' > > mkdir -p include/libddbg lib > > cp -p libddbg.h include/libddbg > > cp -p libddbg.a lib > > make[1]: Leaving directory `/home/bpayne/disksim-4.0/libddbg' > > make -C libparam > > make[1]: Entering directory `/home/bpayne/disksim-4.0/libparam' > > mkdir -p lib include/libparam > > cp -p libparam.a lib > > cp -p bitvector.h libparam.h include/libparam > > make[1]: Leaving directory `/home/bpayne/disksim-4.0/libparam' > > make -C diskmodel > > make[1]: Entering directory `/home/bpayne/disksim-4.0/diskmodel' > > make -C tests > > make[2]: Entering directory `/home/bpayne/disksim-4.0/diskmodel/tests' > > make[2]: Nothing to be done for `all'. > > make[2]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel/tests' > > make[1]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel' > > make -C memsmodel > > make[1]: Entering directory `/home/bpayne/disksim-4.0/memsmodel' > > gcc -Wall -Wno-unused -MD -o mems_seektest mems_seektest.o -lm -L. -g > -DASSERTS -I../src// -I../ -I../src//src -lmems_internals > > ./libmems_internals.a(mems_piecewise_seek.o): In function > `find_seek_time_piecewise': > > /home/bpayne/disksim-4.0/memsmodel/mems_piecewise_seek.c:523: undefined > reference to `sqrt' > > /home/bpayne/disksim-4.0/memsmodel/mems_piecewise_seek.c:565: undefined > reference to `sqrt' > > ./libmems_internals.a(mems_hong_seek.o): In function > `find_seek_time_hong_x': > > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:78: undefined > reference to `sqrt' > > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:80: undefined > reference to `acos' > > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:94: undefined > reference to `sqrt' > > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:96: undefined > reference to `acos' > > ./libmems_internals.a(mems_hong_seek.o): In function > `find_seek_time_hong_y': > > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:174: undefined > reference to `sqrt' > > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:182: undefined > reference to `sqrt' > > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:182: undefined > reference to `sqrt' > > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:179: undefined > reference to `sqrt' > > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:176: undefined > reference to `asin' > > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:194: undefined > reference to `sqrt' > > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:202: undefined > reference to `sqrt' > > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:202: undefined > reference to `sqrt' > > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:199: undefined > reference to `sqrt' > > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:196: undefined > reference to `asin' > > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:214: undefined > reference to `sqrt' > > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:222: undefined > reference to `sqrt' > > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:222: undefined > reference to `sqrt' > > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:219: undefined > reference to `sqrt' > > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:216: undefined > reference to `asin' > > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:265: undefined > reference to `sqrt' > > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:273: undefined > reference to `sqrt' > > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:273: undefined > reference to `sqrt' > > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:270: undefined > reference to `sqrt' > > /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:267: undefined > reference to `asin' > > collect2: ld returned 1 exit status > > make[1]: *** [mems_seektest] Error 1 > > make[1]: Leaving directory `/home/bpayne/disksim-4.0/memsmodel' > > make: *** [all] Error 2 > > > > However, by running the following > > > > cd memsmodel > > gcc -Wall -Wno-unused -MD -o mems_seektest mems_seektest.o -lm -L. -g > -DASSERTS -I../src// -I../ -I../src//src -lmems_internals -lm cd .. > > > > and then trying make again, I get new output: > > > > bpayne at bpayne-VirtualBox64:~/disksim-4.0$ make make -C libddbg > > make[1]: Entering directory `/home/bpayne/disksim-4.0/libddbg' > > mkdir -p include/libddbg lib > > cp -p libddbg.h include/libddbg > > cp -p libddbg.a lib > > make[1]: Leaving directory `/home/bpayne/disksim-4.0/libddbg' > > make -C libparam > > make[1]: Entering directory `/home/bpayne/disksim-4.0/libparam' > > mkdir -p lib include/libparam > > cp -p libparam.a lib > > cp -p bitvector.h libparam.h include/libparam > > make[1]: Leaving directory `/home/bpayne/disksim-4.0/libparam' > > make -C diskmodel > > make[1]: Entering directory `/home/bpayne/disksim-4.0/diskmodel' > > make -C tests > > make[2]: Entering directory `/home/bpayne/disksim-4.0/diskmodel/tests' > > make[2]: Nothing to be done for `all'. > > make[2]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel/tests' > > make[1]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel' > > make -C memsmodel > > make[1]: Entering directory `/home/bpayne/disksim-4.0/memsmodel' > > gcc -Wall -Wno-unused -MD -g -DASSERTS -I../src// -I../ -I../src//src > -c -o mems_disksim.o mems_disksim.c > > gcc -Wall -Wno-unused -MD -g -DASSERTS -I../src// -I../ -I../src//src > -c -o mems_event.o mems_event.c > > gcc -Wall -Wno-unused -MD -g -DASSERTS -I../src// -I../ -I../src//src > -c -o mems_mapping.o mems_mapping.c > > gcc -Wall -Wno-unused -MD -c -g -DASSERTS -I../src// -I../ > -I../src//src mems_buffer.c -o mems_buffer.o ar cru libmemsmodel.a > mems_disksim.o mems_event.o mems_mapping.o mems_internals.o > mems_piecewise_seek.o mems_hong_seek.o mems_buffer.o > modules/memsmodel_mems_param.o ranlib libmemsmodel.a mkdir -p lib cp -p > libmemsmodel.a lib > > make[1]: Leaving directory `/home/bpayne/disksim-4.0/memsmodel' > > make -C src > > make[1]: Entering directory `/home/bpayne/disksim-4.0/src' > > make -C modules > > make[2]: Entering directory `/home/bpayne/disksim-4.0/src/modules' > > ../../libparam/mod.pl disksim bus.modspec indent disksim_bus_param.c || > true > > /bin/sh: 1: indent: not found > > cc -g -I../../libddbg/include -I../../libparam/include > -I../../diskmodel/include -I.. -c -o disksim_bus_param.o > disksim_bus_param.c > > ../../libparam/mod.pl disksim ctlr.modspec indent disksim_ctlr_param.c > || true > > /bin/sh: 1: indent: not found > > cc -g -I../../libddbg/include -I../../libparam/include > -I../../diskmodel/include -I.. -c -o disksim_ctlr_param.o > disksim_ctlr_param.c > > disksim_ctlr_param.c: In function 'DISKSIM_CTLR_SCHEDULER_loader': > > disksim_ctlr_param.c:64:24: warning: cast to pointer from integer of > different size [-Wint-to-pointer-cast] ../../libparam/mod.pl disksim > iodriver.modspec indent disksim_iodriver_param.c || true > > /bin/sh: 1: indent: not found > > cc -g -I../../libddbg/include -I../../libparam/include > -I../../diskmodel/include -I.. -c -o disksim_iodriver_param.o > disksim_iodriver_param.c > > disksim_iodriver_param.c: In function > 'DISKSIM_IODRIVER_SCHEDULER_loader': > > disksim_iodriver_param.c:42:24: warning: cast to pointer from integer of > different size [-Wint-to-pointer-cast] ../../libparam/mod.pl disksim > ioqueue.modspec indent disksim_ioqueue_param.c || true > > /bin/sh: 1: indent: not found > > cc -g -I../../libddbg/include -I../../libparam/include > -I../../diskmodel/include -I.. -c -o disksim_ioqueue_param.o > disksim_ioqueue_param.c > > ../../libparam/mod.pl disksim disk.modspec indent disksim_disk_param.c > || true > > /bin/sh: 1: indent: not found > > cc -g -I../../libddbg/include -I../../libparam/include > -I../../diskmodel/include -I.. -c -o disksim_disk_param.o > disksim_disk_param.c > > disksim_disk_param.c: In function 'DISKSIM_DISK_MODEL_loader': > > disksim_disk_param.c:9:24: warning: cast to pointer from integer of > different size [-Wint-to-pointer-cast] > > disksim_disk_param.c: In function 'DISKSIM_DISK_SCHEDULER_loader': > > disksim_disk_param.c:19:25: warning: cast to pointer from integer of > different size [-Wint-to-pointer-cast] > > disksim_disk_param.c: In function > 'DISKSIM_DISK_USE_SEPARATE_WRITE_SEGMENT_loader': > > disksim_disk_param.c:241:30: warning: cast to pointer from integer of > different size [-Wint-to-pointer-cast] ../../libparam/mod.pl disksim > simpledisk.modspec indent disksim_simpledisk_param.c || true > > /bin/sh: 1: indent: not found > > cc -g -I../../libddbg/include -I../../libparam/include > -I../../diskmodel/include -I.. -c -o disksim_simpledisk_param.o > disksim_simpledisk_param.c > > disksim_simpledisk_param.c: In function > 'DISKSIM_SIMPLEDISK_SCHEDULER_loader': > > disksim_simpledisk_param.c:9:24: warning: cast to pointer from integer > of different size [-Wint-to-pointer-cast] ../../libparam/mod.pl disksim > device_stats.modspec indent disksim_device_stats_param.c || true > > /bin/sh: 1: indent: not found > > cc -g -I../../libddbg/include -I../../libparam/include > -I../../diskmodel/include -I.. -c -o disksim_device_stats_param.o > disksim_device_stats_param.c > > ../../libparam/mod.pl disksim bus_stats.modspec indent > disksim_bus_stats_param.c || true > > /bin/sh: 1: indent: not found > > cc -g -I../../libddbg/include -I../../libparam/include > -I../../diskmodel/include -I.. -c -o disksim_bus_stats_param.o > disksim_bus_stats_param.c > > ../../libparam/mod.pl disksim ctlr_stats.modspec indent > disksim_ctlr_stats_param.c || true > > /bin/sh: 1: indent: not found > > cc -g -I../../libddbg/include -I../../libparam/include > -I../../diskmodel/include -I.. -c -o disksim_ctlr_stats_param.o > disksim_ctlr_stats_param.c > > ../../libparam/mod.pl disksim iodriver_stats.modspec indent > disksim_iodriver_stats_param.c || true > > /bin/sh: 1: indent: not found > > cc -g -I../../libddbg/include -I../../libparam/include > -I../../diskmodel/include -I.. -c -o disksim_iodriver_stats_param.o > disksim_iodriver_stats_param.c > > ../../libparam/mod.pl disksim pf_stats.modspec indent > disksim_pf_stats_param.c || true > > /bin/sh: 1: indent: not found > > cc -g -I../../libddbg/include -I../../libparam/include > -I../../diskmodel/include -I.. -c -o disksim_pf_stats_param.o > disksim_pf_stats_param.c > > ../../libparam/mod.pl disksim global.modspec indent > disksim_global_param.c || true > > /bin/sh: 1: indent: not found > > cc -g -I../../libddbg/include -I../../libparam/include > -I../../diskmodel/include -I.. -c -o disksim_global_param.o > disksim_global_param.c > > ../../libparam/mod.pl disksim stats.modspec indent > disksim_stats_param.c || true > > /bin/sh: 1: indent: not found > > cc -g -I../../libddbg/include -I../../libparam/include > -I../../diskmodel/include -I.. -c -o disksim_stats_param.o > disksim_stats_param.c > > ../../libparam/mod.pl disksim syncset.modspec indent > disksim_syncset_param.c || true > > /bin/sh: 1: indent: not found > > cc -g -I../../libddbg/include -I../../libparam/include > -I../../diskmodel/include -I.. -c -o disksim_syncset_param.o > disksim_syncset_param.c > > ../../libparam/mod.pl disksim synthgen.modspec indent > disksim_synthgen_param.c || true > > /bin/sh: 1: indent: not found > > cc -g -I../../libddbg/include -I../../libparam/include > -I../../diskmodel/include -I.. -c -o disksim_synthgen_param.o > disksim_synthgen_param.c > > ../../libparam/mod.pl disksim synthio.modspec indent > disksim_synthio_param.c || true > > /bin/sh: 1: indent: not found > > cc -g -I../../libddbg/include -I../../libparam/include > -I../../diskmodel/include -I.. -c -o disksim_synthio_param.o > disksim_synthio_param.c > > ../../libparam/mod.pl disksim logorg.modspec indent > disksim_logorg_param.c || true > > /bin/sh: 1: indent: not found > > cc -g -I../../libddbg/include -I../../libparam/include > -I../../diskmodel/include -I.. -c -o disksim_logorg_param.o > disksim_logorg_param.c > > ../../libparam/mod.pl disksim pf.modspec indent disksim_pf_param.c || > true > > /bin/sh: 1: indent: not found > > cc -g -I../../libddbg/include -I../../libparam/include > -I../../diskmodel/include -I.. -c -o disksim_pf_param.o disksim_pf_param.c > > ../../libparam/mod.pl disksim cachemem.modspec indent > disksim_cachemem_param.c || true > > /bin/sh: 1: indent: not found > > cc -g -I../../libddbg/include -I../../libparam/include > -I../../diskmodel/include -I.. -c -o disksim_cachemem_param.o > disksim_cachemem_param.c > > ../../libparam/mod.pl disksim cachedev.modspec indent > disksim_cachedev_param.c || true > > /bin/sh: 1: indent: not found > > cc -g -I../../libddbg/include -I../../libparam/include > -I../../diskmodel/include -I.. -c -o disksim_cachedev_param.o > disksim_cachedev_param.c > > ../../libparam/mod.pl disksim device.modspec indent > disksim_device_param.c || true > > /bin/sh: 1: indent: not found > > cc -g -I../../libddbg/include -I../../libparam/include > -I../../diskmodel/include -I.. -c -o disksim_device_param.o > disksim_device_param.c > > ../../libparam/mod.pl disksim iosim.modspec indent > disksim_iosim_param.c || true > > /bin/sh: 1: indent: not found > > cc -g -I../../libddbg/include -I../../libparam/include > -I../../diskmodel/include -I.. -c -o disksim_iosim_param.o > disksim_iosim_param.c > > ../../libparam/mod.pl disksim iomap.modspec indent > disksim_iomap_param.c || true > > /bin/sh: 1: indent: not found > > cc -g -I../../libddbg/include -I../../libparam/include > -I../../diskmodel/include -I.. -c -o disksim_iomap_param.o > disksim_iomap_param.c > > ../../libparam/make_modules_h.pl disksim *.modspec > modules.h > > make[2]: Leaving directory `/home/bpayne/disksim-4.0/src/modules' > > mkdir -p ../include/disksim/modules > > cp -pR modules/*.h ../include/disksim/modules cp disksim_interface.h > ../include > > gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include > -I../libparam/include -I../libddbg/include -g -DASSERTS > -I../memsmodel/include -D_INLINE disksim.c -o disksim.o > > disksim.c: In function 'disksim_cleanup': > > disksim.c:1086:3: warning: implicit declaration of function > 'iodriver_cleanup' [-Wimplicit-function-declaration] > > gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include > -I../libparam/include -I../libddbg/include -g -DASSERTS > -I../memsmodel/include -D_INLINE disksim_intr.c -o disksim_intr.o > > gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include > -I../libparam/include -I../libddbg/include -g -DASSERTS > -I../memsmodel/include -D_INLINE disksim_pfsim.c -o disksim_pfsim.o > > gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include > -I../libparam/include -I../libddbg/include -g -DASSERTS > -I../memsmodel/include -D_INLINE disksim_pfdisp.c -o disksim_pfdisp.o > > gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include > -I../libparam/include -I../libddbg/include -g -DASSERTS > -I../memsmodel/include -D_INLINE disksim_synthio.c -o disksim_synthio.o > > disksim_synthio.c: In function 'synthio_appendio': > > disksim_synthio.c:215:15: warning: cast to pointer from integer of > different size [-Wint-to-pointer-cast] > > gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include > -I../libparam/include -I../libddbg/include -g -DASSERTS > -I../memsmodel/include -D_INLINE disksim_iotrace.c -o disksim_iotrace.o > > disksim_iotrace.c: In function 'iotrace_hpl_get_ioreq_event': > > disksim_iotrace.c:373:18: warning: cast to pointer from integer of > different size [-Wint-to-pointer-cast] > > gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include > -I../libparam/include -I../libddbg/include -g -DASSERTS > -I../memsmodel/include -D_INLINE disksim_iosim.c -o disksim_iosim.o > > disksim_iosim.c: In function 'iosim_load_map': > > disksim_iosim.c:364:17: warning: cast to pointer from integer of > different size [-Wint-to-pointer-cast] > > disksim_iosim.c: In function 'io_initialize': > > disksim_iosim.c:712:4: error: duplicate case value > > disksim_iosim.c:712:4: error: previously used here > > make[1]: *** [disksim_iosim.o] Error 1 > > make[1]: Leaving directory `/home/bpayne/disksim-4.0/src' > > make: *** [all] Error 2 > > > > > > > > Thank you, > > > > > > Ben Payne > > http://mst.edu/~bhpxc9/ > > Suite 450, Room S452 > > 5520 Research Park Drive > > Catonsville, MD 21228-4870 > > Laboratory for Physical Sciences > > http://www.lps.umd.edu/ > > office: 443-654-7890 > > cell: 608-308-2413 > > > > > > _______________________________________________ > > Disksim-users mailing list > > Disksim-users at ece.cmu.edu > > https://sos.ece.cmu.edu/mailman/listinfo/disksim-users > > _______________________________________________ > > Disksim-users mailing list > > Disksim-users at ece.cmu.edu > > https://sos.ece.cmu.edu/mailman/listinfo/disksim-users > > > > ------------------------------ > > Message: 2 > Date: Wed, 07 Nov 2012 09:37:38 -0500 > From: Peter Macko > Subject: Re: [Disksim-users] FW: sqrt problem during make > To: "Payne, Benjamin" > Cc: "disksim-users at ece.cmu.edu" > Message-ID: <509A7232.60909 at eecs.harvard.edu> > Content-Type: text/plain; charset=ISO-8859-1; format=flowed > > Also, I forgot to mention that there is also a DiskSim-only patch > without the SSD modules: > http://scobyseo.blogspot.com/2010/03/disksim-40-64bit-patch.html > > Best, > -Peter > > > On 11/07/2012 08:56 AM, Peter Macko wrote: > > I haven't used disksim in more than a year (so I am not an active user > > by any means), but your email prompted me to do some research about > > how I solved this. > > > > In memsmodel/Makefile, just change: > > > > mems_seektest: mems_seektest.o libmems_internals.a > > $(CC) -o $@ mems_seektest.o $(LDFLAGS) $(CFLAGS) -lmems_internals > > > > to: > > > > mems_seektest: mems_seektest.o libmems_internals.a > > $(CC) -o $@ mems_seektest.o $(CFLAGS) -lmems_internals $(LDFLAGS) > > > > This should hopefully fix the sqrt problem. (I am not sure if that's > > all you need, but see if this helps.) > > > > The duplicate case value is a result of a static assertion that checks > > to make sure that you are running on a 32-bit system. For 64-bit > > systems, you can get a patch from here: > > > http://scobyseo.blogspot.com/2009/12/disksim-40-ssd-extention-64bit-patch.html > > > > The patch did not apply cleanly for me, so I had to apply it manually, > > and then it worked (plus you should feel free to ignore the ssdmodel > > part if you are not using the SSD extensions). > > > > Best, > > -Peter > > > > > > On 11/07/2012 08:38 AM, Payne, Benjamin wrote: > >> Hello, > >> > >> Komal Shah's screenshot is of the same problem I mentioned below and > >> never received a reply on. > >> > >> The purpose of this email is to see if there are any developers or > >> other active people reading this list: Are you here? > >> > >> Thanks, > >> > >> Ben > >> > >> -----Original Message----- > >> From: disksim-users-bounces at ece.cmu.edu > >> [mailto:disksim-users-bounces at ece.cmu.edu] On Behalf Of Payne, Benjamin > >> Sent: Friday, November 02, 2012 12:37 PM > >> To: disksim-users at ece.cmu.edu > >> Subject: [Disksim-users] sqrt problem during make > >> > >> Hello, > >> > >> >From reading the list archives, I see the problem with sqrt being > >> undefined during installation isn't new: > >> > https://sos.ece.cmu.edu/pipermail/disksim-users/2011-December/000699.html > >> > >> > http://cboard.cprogramming.com/c-programming/144182-gcc-compile-problem-link.html > >> > >> > >> The details are below, but my question is on fixing this. Did I make > >> a mistake during installation, or is this normal? If the error is > >> normal, how can it be fixed? > >> > >> On a fresh installation of Ubuntu 12.04 64bit, I ran the following > >> commands to get started with disksim: > >> > >> sudo apt-get install flex bison > >> wget http://www.pdl.cmu.edu/PDL-FTP/DriveChar/disksim-4.0.tar.gz > >> tar xzf disksim-4.0.tar.gz > >> cd disksim-4.0 > >> make > >> > >> The output from "make" is > >> > >> bpayne at bpayne-VirtualBox64:~/disksim-4.0$ make make -C libddbg > >> make[1]: Entering directory `/home/bpayne/disksim-4.0/libddbg' > >> mkdir -p include/libddbg lib > >> cp -p libddbg.h include/libddbg > >> cp -p libddbg.a lib > >> make[1]: Leaving directory `/home/bpayne/disksim-4.0/libddbg' > >> make -C libparam > >> make[1]: Entering directory `/home/bpayne/disksim-4.0/libparam' > >> mkdir -p lib include/libparam > >> cp -p libparam.a lib > >> cp -p bitvector.h libparam.h include/libparam > >> make[1]: Leaving directory `/home/bpayne/disksim-4.0/libparam' > >> make -C diskmodel > >> make[1]: Entering directory `/home/bpayne/disksim-4.0/diskmodel' > >> make -C tests > >> make[2]: Entering directory `/home/bpayne/disksim-4.0/diskmodel/tests' > >> make[2]: Nothing to be done for `all'. > >> make[2]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel/tests' > >> make[1]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel' > >> make -C memsmodel > >> make[1]: Entering directory `/home/bpayne/disksim-4.0/memsmodel' > >> gcc -Wall -Wno-unused -MD -o mems_seektest mems_seektest.o -lm -L. -g > >> -DASSERTS -I../src// -I../ -I../src//src -lmems_internals > >> ./libmems_internals.a(mems_piecewise_seek.o): In function > >> `find_seek_time_piecewise': > >> /home/bpayne/disksim-4.0/memsmodel/mems_piecewise_seek.c:523: > >> undefined reference to `sqrt' > >> /home/bpayne/disksim-4.0/memsmodel/mems_piecewise_seek.c:565: > >> undefined reference to `sqrt' > >> ./libmems_internals.a(mems_hong_seek.o): In function > >> `find_seek_time_hong_x': > >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:78: undefined > >> reference to `sqrt' > >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:80: undefined > >> reference to `acos' > >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:94: undefined > >> reference to `sqrt' > >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:96: undefined > >> reference to `acos' > >> ./libmems_internals.a(mems_hong_seek.o): In function > >> `find_seek_time_hong_y': > >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:174: undefined > >> reference to `sqrt' > >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:182: undefined > >> reference to `sqrt' > >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:182: undefined > >> reference to `sqrt' > >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:179: undefined > >> reference to `sqrt' > >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:176: undefined > >> reference to `asin' > >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:194: undefined > >> reference to `sqrt' > >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:202: undefined > >> reference to `sqrt' > >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:202: undefined > >> reference to `sqrt' > >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:199: undefined > >> reference to `sqrt' > >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:196: undefined > >> reference to `asin' > >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:214: undefined > >> reference to `sqrt' > >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:222: undefined > >> reference to `sqrt' > >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:222: undefined > >> reference to `sqrt' > >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:219: undefined > >> reference to `sqrt' > >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:216: undefined > >> reference to `asin' > >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:265: undefined > >> reference to `sqrt' > >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:273: undefined > >> reference to `sqrt' > >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:273: undefined > >> reference to `sqrt' > >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:270: undefined > >> reference to `sqrt' > >> /home/bpayne/disksim-4.0/memsmodel/mems_hong_seek.c:267: undefined > >> reference to `asin' > >> collect2: ld returned 1 exit status > >> make[1]: *** [mems_seektest] Error 1 > >> make[1]: Leaving directory `/home/bpayne/disksim-4.0/memsmodel' > >> make: *** [all] Error 2 > >> > >> However, by running the following > >> > >> cd memsmodel > >> gcc -Wall -Wno-unused -MD -o mems_seektest mems_seektest.o -lm -L. -g > >> -DASSERTS -I../src// -I../ -I../src//src -lmems_internals -lm cd .. > >> > >> and then trying make again, I get new output: > >> > >> bpayne at bpayne-VirtualBox64:~/disksim-4.0$ make make -C libddbg > >> make[1]: Entering directory `/home/bpayne/disksim-4.0/libddbg' > >> mkdir -p include/libddbg lib > >> cp -p libddbg.h include/libddbg > >> cp -p libddbg.a lib > >> make[1]: Leaving directory `/home/bpayne/disksim-4.0/libddbg' > >> make -C libparam > >> make[1]: Entering directory `/home/bpayne/disksim-4.0/libparam' > >> mkdir -p lib include/libparam > >> cp -p libparam.a lib > >> cp -p bitvector.h libparam.h include/libparam > >> make[1]: Leaving directory `/home/bpayne/disksim-4.0/libparam' > >> make -C diskmodel > >> make[1]: Entering directory `/home/bpayne/disksim-4.0/diskmodel' > >> make -C tests > >> make[2]: Entering directory `/home/bpayne/disksim-4.0/diskmodel/tests' > >> make[2]: Nothing to be done for `all'. > >> make[2]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel/tests' > >> make[1]: Leaving directory `/home/bpayne/disksim-4.0/diskmodel' > >> make -C memsmodel > >> make[1]: Entering directory `/home/bpayne/disksim-4.0/memsmodel' > >> gcc -Wall -Wno-unused -MD -g -DASSERTS -I../src// -I../ > >> -I../src//src -c -o mems_disksim.o mems_disksim.c > >> gcc -Wall -Wno-unused -MD -g -DASSERTS -I../src// -I../ > >> -I../src//src -c -o mems_event.o mems_event.c > >> gcc -Wall -Wno-unused -MD -g -DASSERTS -I../src// -I../ > >> -I../src//src -c -o mems_mapping.o mems_mapping.c > >> gcc -Wall -Wno-unused -MD -c -g -DASSERTS -I../src// -I../ > >> -I../src//src mems_buffer.c -o mems_buffer.o ar cru libmemsmodel.a > >> mems_disksim.o mems_event.o mems_mapping.o mems_internals.o > >> mems_piecewise_seek.o mems_hong_seek.o mems_buffer.o > >> modules/memsmodel_mems_param.o ranlib libmemsmodel.a mkdir -p lib cp > >> -p libmemsmodel.a lib > >> make[1]: Leaving directory `/home/bpayne/disksim-4.0/memsmodel' > >> make -C src > >> make[1]: Entering directory `/home/bpayne/disksim-4.0/src' > >> make -C modules > >> make[2]: Entering directory `/home/bpayne/disksim-4.0/src/modules' > >> ../../libparam/mod.pl disksim bus.modspec indent disksim_bus_param.c > >> || true > >> /bin/sh: 1: indent: not found > >> cc -g -I../../libddbg/include -I../../libparam/include > >> -I../../diskmodel/include -I.. -c -o disksim_bus_param.o > >> disksim_bus_param.c > >> ../../libparam/mod.pl disksim ctlr.modspec indent > >> disksim_ctlr_param.c || true > >> /bin/sh: 1: indent: not found > >> cc -g -I../../libddbg/include -I../../libparam/include > >> -I../../diskmodel/include -I.. -c -o disksim_ctlr_param.o > >> disksim_ctlr_param.c > >> disksim_ctlr_param.c: In function 'DISKSIM_CTLR_SCHEDULER_loader': > >> disksim_ctlr_param.c:64:24: warning: cast to pointer from integer of > >> different size [-Wint-to-pointer-cast] ../../libparam/mod.pl disksim > >> iodriver.modspec indent disksim_iodriver_param.c || true > >> /bin/sh: 1: indent: not found > >> cc -g -I../../libddbg/include -I../../libparam/include > >> -I../../diskmodel/include -I.. -c -o disksim_iodriver_param.o > >> disksim_iodriver_param.c > >> disksim_iodriver_param.c: In function > >> 'DISKSIM_IODRIVER_SCHEDULER_loader': > >> disksim_iodriver_param.c:42:24: warning: cast to pointer from integer > >> of different size [-Wint-to-pointer-cast] ../../libparam/mod.pl > >> disksim ioqueue.modspec indent disksim_ioqueue_param.c || true > >> /bin/sh: 1: indent: not found > >> cc -g -I../../libddbg/include -I../../libparam/include > >> -I../../diskmodel/include -I.. -c -o disksim_ioqueue_param.o > >> disksim_ioqueue_param.c > >> ../../libparam/mod.pl disksim disk.modspec indent > >> disksim_disk_param.c || true > >> /bin/sh: 1: indent: not found > >> cc -g -I../../libddbg/include -I../../libparam/include > >> -I../../diskmodel/include -I.. -c -o disksim_disk_param.o > >> disksim_disk_param.c > >> disksim_disk_param.c: In function 'DISKSIM_DISK_MODEL_loader': > >> disksim_disk_param.c:9:24: warning: cast to pointer from integer of > >> different size [-Wint-to-pointer-cast] > >> disksim_disk_param.c: In function 'DISKSIM_DISK_SCHEDULER_loader': > >> disksim_disk_param.c:19:25: warning: cast to pointer from integer of > >> different size [-Wint-to-pointer-cast] > >> disksim_disk_param.c: In function > >> 'DISKSIM_DISK_USE_SEPARATE_WRITE_SEGMENT_loader': > >> disksim_disk_param.c:241:30: warning: cast to pointer from integer of > >> different size [-Wint-to-pointer-cast] ../../libparam/mod.pl disksim > >> simpledisk.modspec indent disksim_simpledisk_param.c || true > >> /bin/sh: 1: indent: not found > >> cc -g -I../../libddbg/include -I../../libparam/include > >> -I../../diskmodel/include -I.. -c -o disksim_simpledisk_param.o > >> disksim_simpledisk_param.c > >> disksim_simpledisk_param.c: In function > >> 'DISKSIM_SIMPLEDISK_SCHEDULER_loader': > >> disksim_simpledisk_param.c:9:24: warning: cast to pointer from > >> integer of different size [-Wint-to-pointer-cast] > >> ../../libparam/mod.pl disksim device_stats.modspec indent > >> disksim_device_stats_param.c || true > >> /bin/sh: 1: indent: not found > >> cc -g -I../../libddbg/include -I../../libparam/include > >> -I../../diskmodel/include -I.. -c -o disksim_device_stats_param.o > >> disksim_device_stats_param.c > >> ../../libparam/mod.pl disksim bus_stats.modspec indent > >> disksim_bus_stats_param.c || true > >> /bin/sh: 1: indent: not found > >> cc -g -I../../libddbg/include -I../../libparam/include > >> -I../../diskmodel/include -I.. -c -o disksim_bus_stats_param.o > >> disksim_bus_stats_param.c > >> ../../libparam/mod.pl disksim ctlr_stats.modspec indent > >> disksim_ctlr_stats_param.c || true > >> /bin/sh: 1: indent: not found > >> cc -g -I../../libddbg/include -I../../libparam/include > >> -I../../diskmodel/include -I.. -c -o disksim_ctlr_stats_param.o > >> disksim_ctlr_stats_param.c > >> ../../libparam/mod.pl disksim iodriver_stats.modspec indent > >> disksim_iodriver_stats_param.c || true > >> /bin/sh: 1: indent: not found > >> cc -g -I../../libddbg/include -I../../libparam/include > >> -I../../diskmodel/include -I.. -c -o disksim_iodriver_stats_param.o > >> disksim_iodriver_stats_param.c > >> ../../libparam/mod.pl disksim pf_stats.modspec indent > >> disksim_pf_stats_param.c || true > >> /bin/sh: 1: indent: not found > >> cc -g -I../../libddbg/include -I../../libparam/include > >> -I../../diskmodel/include -I.. -c -o disksim_pf_stats_param.o > >> disksim_pf_stats_param.c > >> ../../libparam/mod.pl disksim global.modspec indent > >> disksim_global_param.c || true > >> /bin/sh: 1: indent: not found > >> cc -g -I../../libddbg/include -I../../libparam/include > >> -I../../diskmodel/include -I.. -c -o disksim_global_param.o > >> disksim_global_param.c > >> ../../libparam/mod.pl disksim stats.modspec indent > >> disksim_stats_param.c || true > >> /bin/sh: 1: indent: not found > >> cc -g -I../../libddbg/include -I../../libparam/include > >> -I../../diskmodel/include -I.. -c -o disksim_stats_param.o > >> disksim_stats_param.c > >> ../../libparam/mod.pl disksim syncset.modspec indent > >> disksim_syncset_param.c || true > >> /bin/sh: 1: indent: not found > >> cc -g -I../../libddbg/include -I../../libparam/include > >> -I../../diskmodel/include -I.. -c -o disksim_syncset_param.o > >> disksim_syncset_param.c > >> ../../libparam/mod.pl disksim synthgen.modspec indent > >> disksim_synthgen_param.c || true > >> /bin/sh: 1: indent: not found > >> cc -g -I../../libddbg/include -I../../libparam/include > >> -I../../diskmodel/include -I.. -c -o disksim_synthgen_param.o > >> disksim_synthgen_param.c > >> ../../libparam/mod.pl disksim synthio.modspec indent > >> disksim_synthio_param.c || true > >> /bin/sh: 1: indent: not found > >> cc -g -I../../libddbg/include -I../../libparam/include > >> -I../../diskmodel/include -I.. -c -o disksim_synthio_param.o > >> disksim_synthio_param.c > >> ../../libparam/mod.pl disksim logorg.modspec indent > >> disksim_logorg_param.c || true > >> /bin/sh: 1: indent: not found > >> cc -g -I../../libddbg/include -I../../libparam/include > >> -I../../diskmodel/include -I.. -c -o disksim_logorg_param.o > >> disksim_logorg_param.c > >> ../../libparam/mod.pl disksim pf.modspec indent disksim_pf_param.c || > >> true > >> /bin/sh: 1: indent: not found > >> cc -g -I../../libddbg/include -I../../libparam/include > >> -I../../diskmodel/include -I.. -c -o disksim_pf_param.o > >> disksim_pf_param.c > >> ../../libparam/mod.pl disksim cachemem.modspec indent > >> disksim_cachemem_param.c || true > >> /bin/sh: 1: indent: not found > >> cc -g -I../../libddbg/include -I../../libparam/include > >> -I../../diskmodel/include -I.. -c -o disksim_cachemem_param.o > >> disksim_cachemem_param.c > >> ../../libparam/mod.pl disksim cachedev.modspec indent > >> disksim_cachedev_param.c || true > >> /bin/sh: 1: indent: not found > >> cc -g -I../../libddbg/include -I../../libparam/include > >> -I../../diskmodel/include -I.. -c -o disksim_cachedev_param.o > >> disksim_cachedev_param.c > >> ../../libparam/mod.pl disksim device.modspec indent > >> disksim_device_param.c || true > >> /bin/sh: 1: indent: not found > >> cc -g -I../../libddbg/include -I../../libparam/include > >> -I../../diskmodel/include -I.. -c -o disksim_device_param.o > >> disksim_device_param.c > >> ../../libparam/mod.pl disksim iosim.modspec indent > >> disksim_iosim_param.c || true > >> /bin/sh: 1: indent: not found > >> cc -g -I../../libddbg/include -I../../libparam/include > >> -I../../diskmodel/include -I.. -c -o disksim_iosim_param.o > >> disksim_iosim_param.c > >> ../../libparam/mod.pl disksim iomap.modspec indent > >> disksim_iomap_param.c || true > >> /bin/sh: 1: indent: not found > >> cc -g -I../../libddbg/include -I../../libparam/include > >> -I../../diskmodel/include -I.. -c -o disksim_iomap_param.o > >> disksim_iomap_param.c > >> ../../libparam/make_modules_h.pl disksim *.modspec > modules.h > >> make[2]: Leaving directory `/home/bpayne/disksim-4.0/src/modules' > >> mkdir -p ../include/disksim/modules > >> cp -pR modules/*.h ../include/disksim/modules cp disksim_interface.h > >> ../include > >> gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include > >> -I../libparam/include -I../libddbg/include -g -DASSERTS > >> -I../memsmodel/include -D_INLINE disksim.c -o disksim.o > >> disksim.c: In function 'disksim_cleanup': > >> disksim.c:1086:3: warning: implicit declaration of function > >> 'iodriver_cleanup' [-Wimplicit-function-declaration] > >> gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include > >> -I../libparam/include -I../libddbg/include -g -DASSERTS > >> -I../memsmodel/include -D_INLINE disksim_intr.c -o disksim_intr.o > >> gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include > >> -I../libparam/include -I../libddbg/include -g -DASSERTS > >> -I../memsmodel/include -D_INLINE disksim_pfsim.c -o disksim_pfsim.o > >> gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include > >> -I../libparam/include -I../libddbg/include -g -DASSERTS > >> -I../memsmodel/include -D_INLINE disksim_pfdisp.c -o disksim_pfdisp.o > >> gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include > >> -I../libparam/include -I../libddbg/include -g -DASSERTS > >> -I../memsmodel/include -D_INLINE disksim_synthio.c -o disksim_synthio.o > >> disksim_synthio.c: In function 'synthio_appendio': > >> disksim_synthio.c:215:15: warning: cast to pointer from integer of > >> different size [-Wint-to-pointer-cast] > >> gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include > >> -I../libparam/include -I../libddbg/include -g -DASSERTS > >> -I../memsmodel/include -D_INLINE disksim_iotrace.c -o disksim_iotrace.o > >> disksim_iotrace.c: In function 'iotrace_hpl_get_ioreq_event': > >> disksim_iotrace.c:373:18: warning: cast to pointer from integer of > >> different size [-Wint-to-pointer-cast] > >> gcc -Wall -Wno-unused -MD -c -I. -I../diskmodel/include > >> -I../libparam/include -I../libddbg/include -g -DASSERTS > >> -I../memsmodel/include -D_INLINE disksim_iosim.c -o disksim_iosim.o > >> disksim_iosim.c: In function 'iosim_load_map': > >> disksim_iosim.c:364:17: warning: cast to pointer from integer of > >> different size [-Wint-to-pointer-cast] > >> disksim_iosim.c: In function 'io_initialize': > >> disksim_iosim.c:712:4: error: duplicate case value > >> disksim_iosim.c:712:4: error: previously used here > >> make[1]: *** [disksim_iosim.o] Error 1 > >> make[1]: Leaving directory `/home/bpayne/disksim-4.0/src' > >> make: *** [all] Error 2 > >> > >> > >> > >> Thank you, > >> > >> > >> Ben Payne > >> http://mst.edu/~bhpxc9/ > >> Suite 450, Room S452 > >> 5520 Research Park Drive > >> Catonsville, MD 21228-4870 > >> Laboratory for Physical Sciences > >> http://www.lps.umd.edu/ > >> office: 443-654-7890 > >> cell: 608-308-2413 > >> > >> > >> _______________________________________________ > >> Disksim-users mailing list > >> Disksim-users at ece.cmu.edu > >> https://sos.ece.cmu.edu/mailman/listinfo/disksim-users > >> _______________________________________________ > >> Disksim-users mailing list > >> Disksim-users at ece.cmu.edu > >> https://sos.ece.cmu.edu/mailman/listinfo/disksim-users > > > > _______________________________________________ > > Disksim-users mailing list > > Disksim-users at ece.cmu.edu > > https://sos.ece.cmu.edu/mailman/listinfo/disksim-users > > > > ------------------------------ > > _______________________________________________ > Disksim-users mailing list > Disksim-users at ece.cmu.edu > https://sos.ece.cmu.edu/mailman/listinfo/disksim-users > > > End of Disksim-users Digest, Vol 84, Issue 4 > ******************************************** > -- Thanks, Komal Shah. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Error2.png Type: image/png Size: 373501 bytes Desc: not available URL: From abdul.arfan at gmail.com Wed Nov 21 23:36:20 2012 From: abdul.arfan at gmail.com (Abdul Arfan) Date: Thu, 22 Nov 2012 13:36:20 +0900 Subject: [Disksim-users] Simulation stopped because of saturation Message-ID: Dear Disksim users, I tried to run disksim simulator with a trace file but sometime there is a problem like this: simulation stopped because of saturation. What can I do to fix this kind of problem? -- Abdul Arfan (+82 10 4449 6652) http://arfan86.blogspot.com From chensinhome at gmail.com Mon Nov 26 03:40:50 2012 From: chensinhome at gmail.com (=?Big5?B?q0inu7Ov?=) Date: Mon, 26 Nov 2012 16:40:50 +0800 Subject: [Disksim-users] Disksim-users Digest, Vol 84, Issue 8 In-Reply-To: References: Message-ID: 2012/11/23 > I tried to run disksim simulator with a trace file but sometime there > is a problem like this: > simulation stopped because of saturation. > > What can I do to fix this kind of problem > 1. enlarge the request arrival interval 2. speedup your deice 3. increase device queue lengh -------------- next part -------------- An HTML attachment was scrubbed... URL: From askool99 at hotmail.com Thu Nov 29 01:13:33 2012 From: askool99 at hotmail.com (askool xu) Date: Thu, 29 Nov 2012 06:13:33 +0000 Subject: [Disksim-users] About G4 Layout Message-ID: Hi All, Is there any document to explain the G4 layout in details? I tried to figure it out. but the code always confused me. Thanks! -------------- next part -------------- An HTML attachment was scrubbed... URL: From askool99 at hotmail.com Thu Nov 29 01:17:21 2012 From: askool99 at hotmail.com (askool xu) Date: Thu, 29 Nov 2012 06:17:21 +0000 Subject: [Disksim-users] About Seek curve Message-ID: Hi All,For the modern disk, the seek curves for read and write are different, i.e., there is around 5% difference. However, in disksim, only one curve is supported. Any part to change?Thanks,William Smith -------------- next part -------------- An HTML attachment was scrubbed... URL: From haghdoost at gmail.com Fri Nov 30 22:33:08 2012 From: haghdoost at gmail.com (Alireza Haghdoost) Date: Fri, 30 Nov 2012 21:33:08 -0600 Subject: [Disksim-users] Simulation stopped because of saturation In-Reply-To: References: Message-ID: you need to increase saturation limit. double check the mailing list archive please. On Wed, Nov 21, 2012 at 10:36 PM, Abdul Arfan wrote: > Dear Disksim users, > > I tried to run disksim simulator with a trace file but sometime there > is a problem like this: > simulation stopped because of saturation. > > What can I do to fix this kind of problem? > > -- > Abdul Arfan (+82 10 4449 6652) > http://arfan86.blogspot.com > _______________________________________________ > Disksim-users mailing list > Disksim-users at ece.cmu.edu > https://sos.ece.cmu.edu/mailman/listinfo/disksim-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From askool99 at hotmail.com Fri Nov 30 23:56:24 2012 From: askool99 at hotmail.com (askool) Date: Sat, 1 Dec 2012 12:56:24 +0800 Subject: [Disksim-users] recruitment of volunteers for code analysis Message-ID: Dear all, It is no doubt that Disks is one of the most accuracy storage device simulators. However, it lacks of documentation on the code, although it is essential for those developers. Hence, I try to recruit some volunteers to do the code analysis. It would be a dirty job. But if one person only takes charge of 2-4 source files, it would not be so heavy. I will divide the codes into several parts according to HDD structure. 2-4 persons will look into one part. If you are interested in it, please reply me to askool99 at hotmail.com. My target is 10-20 persons. If so, I will send the volunteers some outline structures, and assign the task according to your interest. All the very best! -------------- next part -------------- An HTML attachment was scrubbed... URL: