[parsec-users] Building hooks and Parsec benchmarks statically

Fulya Kaplan fkaplan3 at bu.edu
Thu Sep 19 18:29:30 EDT 2013

Hi all,
I am trying to run Parsec with gem5 on X86 architecture. I have the
precompiled parsec image and kernel image provided on the website. However,
as i need to modify part of hooks.c, I have to compile hooks and the
benchmarks myself and modify the parsec image I have.

I tried  compiling bodytrack, but when I tried to run it using gem5, I got
the error:
./bodytrack: error while loading shared libraries: libhooks.so.0: cannot
open shared object file: No such file or directory

I have been told that to overcome this problem, I need to compile hooks
statically and I need to see 'not a dynamic executable' when i run 'ldd

I modified the Makefile in the hooks directory by uncommenting static
Makefile (and commenting out the shared one):
include Makefile.static
#include Makefile.shared
When i built and ran 'ldd bodytrack', i did not see  libhooks.so.0 in the

Then I modified Makefile.static by changing TARGET from hooks.a to
hooks.la(as suggested):
However, this failed to build:

checking for C compiler default output file name... [PARSEC] Error:
'env CXXFLAGS=-O3 -funroll-loops -fprefetch-loop-arrays -fpermissive
-fno-exceptions -static-libgcc -Wl,--hash-style=both,--as-needed
-fexceptions /mnt/nokrb/fkaplan3/gem5/parsec-2.1/pkgs/apps/bodytrack/src/configure
--enable-threads --disable-openmp --disable-tbb

I also know that I need to build hooks using the x86 assembly files (
and  m5op_x86.h) located in gem5/util/m5/ directory. I copied them to my
/hooks/src directory but I do not know how to do the rest.
Could you help me build hooks and the benchmarks statically and by using
the x86 assembly files?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cs.princeton.edu/pipermail/parsec-users/attachments/20130919/92f1c0ed/attachment.html>

More information about the parsec-users mailing list