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

Binh Q. Pham binhpham at cs.rutgers.edu
Thu Aug 4 15:14:08 EDT 2011


Update: I removed "-static" from PORTABILITY_FLAGS, and inserted it in 
CFLAGS and CXXFLAGS. It solves this problem for me.
I am not sure why this makes a difference from what I did before, since 
CFLAGS and CXXFLAGS already include PORTABILITY_FLAGS...

Binh
On 07/24/2011 01:56 PM, Mahmood Naderan wrote:
>> I used Simics to simulate a 32 bit
>> x86 architecture, on top of that Fedora core is running.
>> I use my host OS: Ubuntu 32 bit to compile Parsec
> I think the paths in fedora are different in ubuntu. So the binary looks
> for libraries in paths that are different in your host os.
>
> I would suggest to post this problem on general linux forums.
> You may find the answer there easier
>
> Hope that help
> regards
>
> // Naderan *Mahmood;
>
>
> ----- Original Message -----
> From: Binh Q. Pham<binhpham at cs.rutgers.edu>
> To: Mahmood Naderan<nt_mahmood at yahoo.com>
> Cc: PARSEC<parsec-users at lists.cs.princeton.edu>
> Sent: Sunday, July 24, 2011 12:28 AM
> Subject: Re: [parsec-users] Running bodytrack: /usr/lib/libstdc++.so.6: version 'GLIBCXX_3.4.9' not found
>
> 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