[parsec-users] Running bodytrack: /usr/lib/libstdc++.so.6: version 'GLIBCXX_3.4.9' not found

Binh Q. Pham binhpham at cs.rutgers.edu
Sat Jul 23 15:58:55 EDT 2011


Hi,
I was talking about the simulated OS: I used Simics to simulate a 32 bit 
x86 architecture, on top of that Fedora core is running. I did not to 
install gcc since it was already there in the OS image.
I use my host OS: Ubuntu 32 bit to compile Parsec. After that, I 
transfer this binary to the simulated OS, and try to run it there --> 
there comes the problem that I have described.

To make my story complete, I have compared gcc on my host and on my guest.
Host: gcc -v
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v --enable-languages=c,c++ 
--prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib 
--without-included-gettext --enable-threads=posix --enable-nls 
--with-gxx-include-dir=/usr/include/c++/4.1.3 --program-suffix=-4.1 
--enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug 
--with-tune=generic --enable-checking=release i486-linux-gnu
Thread model: posix
gcc version 4.1.3 20080704 (prerelease) (Ubuntu 4.1.2-27ubuntu1)

Guest: gcc -v
Using built-in specs
Target: i386-redhat-linux
gcc version 4.1.0 20060304 (Red Hat 4.1.0-3)

Moreover, the difference between libstdc++.so.6 between two is:
Host:
$ strings /usr/lib/libstdc++.so.6 | grep GLIBC
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBC_2.0
GLIBC_2.3
GLIBC_2.4
GLIBC_2.1
GLIBC_2.3.4
GLIBC_2.1.3
GLIBC_2.3.2
GLIBC_2.2
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH

Guest:
Basically, it has similar output, but it doesn't have GLIBCXX_3.4.9 to 
GLIBCXX_3.4.13

Binh

On 07/23/2011 01:59 AM, Mahmood Naderan wrote:
> Are you talking about the simulated os (e.g solaris) or your host os (e.g ubuntu)?
> If the problem exists in the simulated os, how did you install gcc?
>
>   
> // Naderan *Mahmood;
>
>
> ----- Original Message -----
> From: Binh Q. Pham<binhpham at cs.rutgers.edu>
> To: Mahmood Naderan<nt_mahmood at yahoo.com>
> Cc: PARSEC Users<parsec-users at lists.cs.princeton.edu>
> Sent: Thursday, July 21, 2011 9:15 PM
> Subject: Re: [parsec-users] Running bodytrack: /usr/lib/libstdc++.so.6: version 'GLIBCXX_3.4.9' not found
>
> Thanks for a quick response. I have run the ldd command inside the
> simulated machine, and this is what I get:
> ./bodytrack: /usr/lib/libstdc++.so.6: version 'GLIBCXX_3.4.9' not found
> (required by ./bodytrack)
> ./bodytrack: /usr/lib/libstdc++.so.6: version 'GLIBCXX_3.4.11' not found
> (required by ./bodytrack)
> linux-gate.so.1 =>  (0x002fa000)
> libpthread.so.0 =>  /lib/libpthread.so.0 (0x00b2a000)
> libstdc++.so.6 =>  /usr/lib/libstdc++.so.6 (0x006c2000)
>
>  From the thread that I pasted in my previous post, it seems like
> inserting "-static" during compilation can solve this problem, but it
> doesn't in my case.
> On 07/21/2011 04:38 AM, Mahmood Naderan wrote:
>>     It is not related to PARSEC itself. The problem is that the binary trying to access a different libstdc++
>>
>> run "ldd bodytrack" and it will show which library is missing.
>>
>>
>> // Naderan *Mahmood;
>>
>>
>> ________________________________
>> From: Binh Q. Pham<binhpham at cs.rutgers.edu>
>> To: parsec-users at lists.cs.princeton.edu
>> Sent: Thursday, July 21, 2011 12:06 PM
>> Subject: [parsec-users] Running bodytrack: /usr/lib/libstdc++.so.6: version 'GLIBCXX_3.4.9' not found
>>
>> Hi all,
>> I am trying to run bodytrack (parsec 2.1) on a simics x86 simulated machine, and I get this error:
>> ./bodytrack: /usr/lib/libstdc++.so.6: version 'GLIBCXX_3.4.9' not found (required by ./bodytrack)
>>
>> I have followed the instruction in this thread:
>> https://lists.cs.princeton.edu/pipermail/parsec-users/2011-May/001121.html
>> to add '-static' in the following places:
>> 1. In config/gcc.bldconf:
>> PORTABILITY_FLAGS="-static-libgcc -Wl,--hash-style=both,--as-needed -static"
>> export LDFLAGS="-L$(CC_HOME}/lib64 -L${CC_HOME}/lib -static"
>> 2. In pkgs/apps/bodytracks/parsec/gcc-openmp.bldconf
>>        pkgs/apps/bodytracks/parsec/gcc-pthreads.bldconf
>>        pkgs/apps/bodytracks/parsec/gcc-tbb.bldconf:
>> I added "-static" to the build_env.
>>
>> I am compiling Parsec on a 32 bit x86 Linux machine.
>>
>> I would appreciate if someone can point out what I am missing here.
>>
>> Thank you,
>> Binh
>>
>> _______________________________________________
>> parsec-users mailing list
>> parsec-users at lists.cs.princeton.edu
>> https://lists.cs.princeton.edu/mailman/listinfo/parsec-users



More information about the parsec-users mailing list