<div dir="ltr"><div><div><div><div><div><div>Καλησπέρα σας,<br><br></div>Κατ&#39; αρχήν να επισημάνω πως έχω σχετικά παλιό υπολογιστή (διπύρηνο αλλά των <b>32 bit</b>).<br><br></div>Επίσης για λόγους που έχουν να κάνουν με δουλειά έχω μείνει εσκεμμένα στην έκδοση <b>11.04 (natty)</b> του Ubuntu με έκδοση πυρήνα <b>2.6.38-16-generic</b> και δεν έχω μεταβεί σε κάποια νεότερη.<br><br></div>Αυτά τα χαρακτηριστικά είναι λογικά η πηγή των δεινών μου...<br><br></div>Κατ&#39; αρχήν η εγκατάσταση του PIN ολοκληρώθηκε κανονικά (για να το επιβεβαιώσω χρειάστηκε να εκτελέσω το pin με το παράδειγμα παραλλαγμένο ως &quot;<i>./pin.sh <b>-injection child</b> -t ./source/tools/ManualExamples/<b>obj-ia32/inscount0.so -o ls.inscount0.output</b> -- /bin/ls -aF</i>&quot;).<br><br></div>Κατόπιν, με την εκτέλεση της εντολής &quot;<u>sudo apt-get update</u>&quot; έλαβα κάποια αποτελέσματα του στιλ:<br><br><i>Err <a href="http://gr.archive.ubuntu.com">http://gr.archive.ubuntu.com</a> natty/main Sources<br>  404  Not Found<br><br>Err <a href="http://security.ubuntu.com">http://security.ubuntu.com</a> natty-security/restricted Sources<br>  404  Not Found [IP: 2001:67c:1560:8001::11 80]<br><br>W: Failed to fetch <a href="http://http//download.virtualbox.org/virtualbox/debian/dists/natty/InRelease">http://http//download.virtualbox.org/virtualbox/debian/dists/natty/InRelease</a></i>  κλπ.<br><br><br></div><div>Προχωρώντας στην επόμενη εντολή &quot;<u>sudo apt-get install make g++ libx11-dev libxext-dev libxaw7 \<br>x11proto-xext-dev libglu1-mesa-dev libxi-dev libxmu-dev</u>&quot;<br><br>μετά από κάποιες σωστές εγκαταστάσεις έλαβα τις παρακάτω επισημάνσεις:<br><br><i>You might want to run &#39;apt-get -f install&#39; to correct these:<br>The following packages have unmet dependencies:<br> libglu1-mesa-dev : Depends: libgl1-mesa-dev but it is not going to be installed or<br>                             libgl-dev<br> libxi-dev : Depends: xorg-sgml-doctools (&gt;= 1:1.5) but it is not going to be installed<br> virtualbox-4.1 : Depends: libqt4-network (&gt;= 4:4.5.3) but it is not going to be installed<br>                  Depends: libqt4-opengl (&gt;= 4:4.7.0~rc1) but it is not going to be installed<br>                  Depends: libqtcore4 (&gt;= 4:4.7.0~beta1) but it is not going to be installed<br>                  Depends: libqtgui4 (&gt;= 4:4.7.0~beta1) but it is not going to be installed<br>                  Recommends: libsdl-ttf2.0-0 but it is not going to be installed<br>E: Unmet dependencies. Try &#39;apt-get -f install&#39; with no packages (or specify a solution).</i><br><br><br></div><div>Να σημειώσω ότι παρόμοιες απαντήσεις είχα λάβει και με την εντολή της αρχικής εκφώνησης της άσκησης όπου κάποιες βιβλιοθήκες ήταν διαφορετικές.<br><br></div><div>Μετά την σχετική προτροπή εκτέλεσα την εντολή &quot;<u>apt-get -f install</u>&quot; οπότε έλαβα:<br><br><i>E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)<br>E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?</i><br><br><br></div><div>Εκτελώντας την ξανά σαν root (μετά από <u>sudo su</u>) έλαβα παρόμοιες απαντήσεις με νωρίτερα:<br><br><i>WARNING: The following packages cannot be authenticated!<br>  libqtcore4 libqt4-xml libqt4-dbus libqt4-network libqtgui4 libqt4-opengl<br>  libdbusmenu-qt2 appmenu-qt<br>Install these packages without verification [y/N]? y<br>Err <a href="http://gr.archive.ubuntu.com/ubuntu/">http://gr.archive.ubuntu.com/ubuntu/</a> natty-updates/main libqtcore4 i386 4:4.7.2-0ubuntu6.4<br>  404  Not Found<br>Err <a href="http://gr.archive.ubuntu.com/ubuntu/">http://gr.archive.ubuntu.com/ubuntu/</a> natty/main libdbusmenu-qt2 i386 0.8.2-0ubuntu2<br>  404  Not Found<br><br>Failed to fetch <a href="http://security.ubuntu.com/ubuntu/pool/main/q/qt4-x11/libqtcore4_4.7.2-0ubuntu6.4_i386.deb">http://security.ubuntu.com/ubuntu/pool/main/q/qt4-x11/libqtcore4_4.7.2-0ubuntu6.4_i386.deb</a>  404  Not Found [IP: 2001:67c:1562::15 80]<br>Failed to fetch <a href="http://security.ubuntu.com/ubuntu/pool/main/q/qt4-x11/libqt4-xml_4.7.2-0ubuntu6.4_i386.deb">http://security.ubuntu.com/ubuntu/pool/main/q/qt4-x11/libqt4-xml_4.7.2-0ubuntu6.4_i386.deb</a>  404  Not Found [IP: 2001:67c:1562::15 80]<br>Failed to fetch <a href="http://security.ubuntu.com/ubuntu/pool/main/q/qt4-x11/libqt4-dbus_4.7.2-0ubuntu6.4_i386.deb">http://security.ubuntu.com/ubuntu/pool/main/q/qt4-x11/libqt4-dbus_4.7.2-0ubuntu6.4_i386.deb</a>  404  Not Found [IP: 2001:67c:1562::15 80]<br><br></i></div><div>κλπ (δεν αντιγράφω όλο το κατεβατό).<i><br></i><br><br></div><div>Ευχόμενος να μπορώ να προχωρήσω παρ&#39; όλα αυτά, εκτέλεσα την &quot;<u>./bin/parsecmgmt -a build -c gcc-serial -p blackscholes bodytrack canneal facesim ferret fluidanimate freqmine raytrace swaptions streamcluster</u>&quot; όπου το αρχικό build των packages φαινόταν να ολοκληρώνεται κανονικά αλλά στο τέλος έλαβα<br><u><br></u><i>checking pkg-config files for X11 are available... yes<br>checking for XLIBGL... yes<br>checking for GLW... yes<br>checking for GLUT... configure: error: Package requirements (x11 xmu xi) were not met:<br><br>No package &#39;xi&#39; found<br><br>Consider adjusting the PKG_CONFIG_PATH environment variable if you<br>installed software in a non-standard prefix.<br><br>Alternatively, you may set the environment variables GLUT_CFLAGS<br>and GLUT_LIBS to avoid the need to call pkg-config.<br>See the pkg-config man page for more details.<br><br>[PARSEC] Error: &#39;env ./configure --with-driver=xlib --enable-glut --enable-static --disable-shared --prefix=/home/giannis/parsec-3.0/pkgs/libs/mesa/inst/i686-linux.gcc-serial&#39; failed.</i><br><br><br></div><div>Τα επόμενα βήματα σχετικά με το &quot;<u>cslab_create_parsec_workspace.sh</u>&quot; κύλισαν κανονικά (δημιουργήθηκε ο φάκελος parsec_workspace με τα εκτελέσιμα και με την εκτέλεση της εντολής &quot;<u>cat cmds_simlarge.txt</u>&quot; έλαβα τα αποτελέσματα που αναγράφονται και στην εκφώνηση).<br><br></div><div>Κατόπιν όρισα την μεταβλητή περιβάλλοντος LD_LIBRARY_PATH με την τροποποίηση &quot;<u><b>i686</b>-linux.gcc-serial</u>&quot; καθώς είδα ότι υπήρχε αυτός ο φάκελος αντί του &quot;<u><b>amd64</b>-linux.gcc</u>&quot; όπου και φαίνεται πως έγινε κανονικά.<br><br></div><div>Όσον αφορά την μεταγλώττιση του cslab_cache.cpp, δίνοντας &quot;<u>PIN_ROOT=/home/giannis/pin-2.14-71313-gcc.4.4.7-linux make obj-intel64/cslab_cache.so</u>&quot; έλαβα <br><br><i>make: *** No rule to make target `obj-intel64/cslab_cache.so&#39;.  Stop.</i><br><br><br></div><div>Αντιλαμβανόμενος (νομίζω...) τι συνέβαινε δημιούργησα φάκελο με την ονομασία &quot;obj-ia32&quot; μέσα στον φάκελο &quot;pintool&quot; και εκτέλεσα ξανά την εντολή παραλλαγμένη ως &quot;<u>PIN_ROOT=/home/giannis/pin-2.14-71313-gcc.4.4.7-linux make <b>obj-ia32</b>/cslab_cache.so</u>&quot;<br><br></div><div>Η μεταγλώττιση φαίνεται πως πέτυχε και στον φάκελο &quot;<i>obj-ia32</i>&quot; δημιουργήθηκαν τα αρχεία <u>cslab_cache.o</u> και <u>cslab_cache.so</u>. Στο terminal έλαβα<br><br><i>g++ -DBIGARRAY_MULTIPLIER=1 -Wall -Werror -Wno-unknown-pragmas -fno-stack-protector -DTARGET_IA32 -DHOST_IA32 -DTARGET_LINUX  -I/home/giannis/pin-2.14-71313-gcc.4.4.7-linux/source/include/pin -I/home/giannis/pin-2.14-71313-gcc.4.4.7-linux/source/include/pin/gen -I/home/giannis/pin-2.14-71313-gcc.4.4.7-linux/extras/components/include -I/home/giannis/pin-2.14-71313-gcc.4.4.7-linux/extras/xed-ia32/include -I/home/giannis/pin-2.14-71313-gcc.4.4.7-linux/source/tools/InstLib -O3 -fomit-frame-pointer -fno-strict-aliasing   -c -o obj-ia32/cslab_cache.o cslab_cache.cpp<br><br>g++ -shared -Wl,--hash-style=sysv -Wl,-Bsymbolic -Wl,--version-script=/home/giannis/pin-2.14-71313-gcc.4.4.7-linux/source/include/pin/pintool.ver    -o obj-ia32/cslab_cache.so obj-ia32/cslab_cache.o  -L/home/giannis/pin-2.14-71313-gcc.4.4.7-linux/ia32/lib -L/home/giannis/pin-2.14-71313-gcc.4.4.7-linux/ia32/lib-ext -L/home/giannis/pin-2.14-71313-gcc.4.4.7-linux/ia32/runtime/glibc -L/home/giannis/pin-2.14-71313-gcc.4.4.7-linux/extras/xed-ia32/lib -lpin -lxed -lpindwarf -ldl<br></i><br><br></div><div>Προσπαθώντας πλέον να χρησιμοποιήσω το cslab_cache pintool με την εντολή &quot;<u>/home/giannis/pin-2.14-71313-gcc.4.4.7-linux/pin.sh -t /home/giannis/advcomparch-2015-16-ex1-helpcode/pintool/obj-ia32/cslab_cache.so -o my_output.out -L1c 64 -L1a 8 -L1b 64 -L2c 256 -L2a 8 -L2b 64 -- /home/giannis/parsec-3.0/parsec_workspace/executables/blackscholes 1 /home/giannis/parsec-3.0/parsec_workspace/inputs/in_64K.txt prices.txt</u>&quot;<br><br>έλαβα<br><br><i>E: Attach to pid 4209 failed. <br>E:   The Operating System configuration prevents Pin from using the default (parent) injection mode.<br>E:   To resolve this, either execute the following (as root):<br>E:   $ echo 0 &gt; /proc/sys/kernel/yama/ptrace_scope<br>E:   Or use the &quot;-injection child&quot; option.<br>E:   For more information, regarding child injection, see Injection section in the Pin User Manual.<br>E: <br>Killed</i><br><br><br></div><div>Προσθέτοντας την παράμετρο &quot;<u>-injection child</u>&quot; και εκτελώντας ξανά την προηγούμενη εντολή έλαβα:<br><br><i>/home/giannis/parsec-3.0/parsec_workspace/executables/blackscholes : No such file or directory</i><br><br></div><div>Γενικώς ο φάκελος executables είναι άδειος οπότε φαντάζομαι πως δεν έχουν δημιουργηθεί τα απαιτούμενα εκτελέσιμα.<br><br><br></div><div>Τι έχει συμβεί και πως το ξεπερνάω; Έχει σχέση με τις βιβλιοθήκες που δεν εγκαταστάθηκαν ή με την δημιουργία των packages; Μήπως αφού έχω παλαιότερο σύστημα έπρεπε να χρησιμοποιήσω κάποια παλαιότερη έκδοση του PIN και όχι την 71313;<br><br></div><div>Γενικώς οποιαδήποτε βοήθεια προς εμάς που έχουμε 32-bit μηχανήματα ή/και παλαιότερη έκδοση Linux θα ήταν ιδιαίτερα ευπρόσδεκτη!<br><br><br></div><div>Σας ευχαριστώ - με εκτίμηση,<br><br></div><div>Γιάννης Χορτομάνης<br></div><div><br></div><div><br></div><div><br><br></div><div><br><br></div><div><br><br></div></div>