[parsec-users] Errors running Parsec benchmarks in M5

Christian Bienia cbienia at CS.Princeton.EDU
Tue Aug 18 18:05:29 EDT 2009


Hi Ef,

 

That is caused by a library incompatibility. It's actually two different
issues:

 

1.)    Your libstdc++ library (usually comes with gcc) has been built with a
different (and incompatible) version of gcc than the one you use.
Unfortunately the gcc developers change their C++ ABI with _every_ _single_
_release_. This makes it nearly impossible to create portable C++ binaries
since libstdc++ is very fundamental for C++ programs.

2.)    The glibc library on your simulated machine is older than the one on
the machine that you use to build. See my response to Vivek Rane's post
about "GLIBC not found" for a more detailed explanation and how to fix it.

 

The remedy for this is to link libstdc++ statically when you build your
workloads. Unfortunately that's not so easy because gcc has an aversion
against static libraries. You can do it by copying the libstdc++.a library
into a separate directory and adding it to the compiler's library search
path with -L. This will make sure the static (and only the static) version
of libstdc++ is found and used before the shared library version is
detected. Sadly, that's still not enough for all workloads. During my
experiments I had to find out that some workloads such as facesim still link
dynamically to libstdc++. For the PARSEC binary distributions I release on
the PARSEC web site I fixed that by building a special version of gcc from
scratch that has all shared libraries disabled. Then the compiler has no
choice. <evil laughter>Muhahahahahaha!!!</evil laughter)

 

Concerning the glibc issue, you can fix this simply by upgrading your glibc
library on the machine where you'd like to run the binaries.

 

Best,

Chris

 

P.S. No idea what causes the errors in swaptions. I've never seen that
before.

 

 

From: parsec-users-bounces at lists.cs.princeton.edu
[mailto:parsec-users-bounces at lists.cs.princeton.edu] On Behalf Of ef
Sent: Tuesday, August 18, 2009 5:50 PM
To: PARSEC Users
Subject: Re: [parsec-users] Errors running Parsec benchmarks in M5

 

Hello,

Here is another issue faced by VIPS,Bodytrack x264 etc...


"./bodytrack: /usr/lib/libstdc++.so.6: version `CXXABI_1.3.1' not found
(required by ./bodytrack)
./bodytrack: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found
(required by ./bodytrack)"


Any ideas on this I am assuming this is refering to the package glib in
parsec. I have configured that package with the following:
build_conf="--disable-shared --enable-threads --enable-debug=yes
--with-threads=posix --host=i386-linux --disable-glibtest  --enable-static"

And used the following flags to compile the benchmarks:
-static-libgcc -static


Not sure what to do, I know these benchmarks have been compiled before on
M5.


Thanks
EF

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cs.princeton.edu/pipermail/parsec-users/attachments/20090818/3b7cdc69/attachment.html>


More information about the parsec-users mailing list