------- Comment #3 from hubicka at ucw dot cz  2009-11-13 21:01 -------
Subject: Re:  libstdc++ seems to miss std::basic_string<char,
std::char_traits<char>, std::allocator<char> >::basic_string<char*>(char*,
char*, std::allocator<char> const&)

This fails with --static only:

j...@gcc17:~/gcc-install/lib64$ nm -C libstdc++.so | less
j...@gcc17:~/gcc-install/lib64$ fgrep 'std::basic_string<char,
std::char_traits<char>, std::allocator<char> >::basic_string<char*>(char*,
char*, std::allocator<char> const&)'
j...@gcc17:~/gcc-install/lib64$ nm -C libstdc++.so | fgrep
'std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::basic_string<char*>(char*, char*, std::allocator<char> const&)'
00000000000a3bf0 W std::basic_string<char, std::char_traits<char>,
std::allocator<char> >::basic_string<char*>(char*, char*, std::allocator<char>
const&)
00000000000a3a50 W std::basic_string<char, std::char_traits<char>,
std::allocator<char> >::basic_string<char*>(char*, char*, std::allocator<char>
const&)
j...@gcc17:~/gcc-install/lib64$ nm -C libstdc++.a | fgrep
'std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::basic_string<char*>(char*, char*, std::allocator<char> const&)'
                 U std::basic_string<char, std::char_traits<char>,
std::allocator<char> >::basic_string<char*>(char*, char*, std::allocator<char>
const&)
                 U std::basic_string<char, std::char_traits<char>,
std::allocator<char> >::basic_string<char*>(char*, char*, std::allocator<char>
const&)
0000000000000000 W std::basic_string<char, std::char_traits<char>,
std::allocator<char> >::basic_string<char*>(char*, char*, std::allocator<char>
const&)
0000000000000000 W std::basic_string<char, std::char_traits<char>,
std::allocator<char> >::basic_string<char*>(char*, char*, std::allocator<char>
const&)


j...@gcc17:~/trunk/build5$ ~/gcc-install/bin/g++ a.o --static
/home/jh/gcc-install/lib/gcc/x86_64-unknown-linux-gnu/4.5.0/../../../../lib64/libstdc++.a(sstream-inst.o):
In function `std::basic_stringbuf<char, std::char_traits<char>,
std::allocator<char> >::str() const':
/home/jh/trunk/build5/x86_64-unknown-linux-gnu/libstdc++-v3/include/sstream:129:
undefined reference to `std::basic_string<char, std::char_traits<char>,
std::allocator<char> >::basic_string<char*>(char*, char*, std::allocator<char>
const&)'
/home/jh/trunk/build5/x86_64-unknown-linux-gnu/libstdc++-v3/include/sstream:127:
undefined reference to `std::basic_string<char, std::char_traits<char>,
std::allocator<char> >::basic_string<char*>(char*, char*, std::allocator<char>
const&)'
/home/jh/trunk/build5/x86_64-unknown-linux-gnu/libstdc++-v3/include/sstream:129:
undefined reference to `std::basic_string<char, std::char_traits<char>,
std::allocator<char> >::basic_string<char*>(char*, char*, std::allocator<char>
const&)'
/home/jh/trunk/build5/x86_64-unknown-linux-gnu/libstdc++-v3/include/sstream:127:
undefined reference to `std::basic_string<char, std::char_traits<char>,
std::allocator<char> >::basic_string<char*>(char*, char*, std::allocator<char>
const&)'
/home/jh/trunk/build5/x86_64-unknown-linux-gnu/libstdc++-v3/include/sstream:129:
undefined reference to `std::basic_string<char, std::char_traits<char>,
std::allocator<char> >::basic_string<char*>(char*, char*, std::allocator<char>
const&)'
/home/jh/gcc-install/lib/gcc/x86_64-unknown-linux-gnu/4.5.0/../../../../lib64/libstdc++.a(sstream-inst.o):/home/jh/trunk/build5/x86_64-unknown-linux-gnu/libstdc++-v3/include/sstream:127:
more undefined references to `std::basic_string<char, std::char_traits<char>,
std::allocator<char> >::basic_string<char*>(char*, char*, std::allocator<char>
const&)' follow
collect2: ld returned 1 exit status
j...@gcc17:~/trunk/build5$ ~/gcc-install/bin/g++ a.o
j...@gcc17:~/trunk/build5$
LD_LIBRARY_PATH=/home//jh/gcc-install/lib64/:$LD_LIBRARY_PATH ./a.out
Usage: tramp3d-v4
  --help|-h|-?        show this command line help
  --num-iter|-n       number of iterations to perform [Inf]
  --end-t|-t          time to stop simulation [Inf]
  --cfl               cfl number [0.6]
  --dt                constant timestep, used with cfl number [off]
  --min-dt            minimum timestep allowed
  --max-dt            maximum timestep allowed
  --blocks nx ny nz   processor setup [automatic]
  --cartvis nr av     artificial viscosity NR AV [off]
  --eos n             choose eos
  --rhomin rho        density floor [off]
  --blocking-expressions  set blocking expressions [off]
  --domain x y z      computational vertex domain [64x64x64]

A particularly benchmarky and checky command-line includes
both artificial viscosity and density minimum via f.i.
  ./tramp3d-v4 --cartvis 1.0 0.0 --rhomin 1e-8
(reverse-i-search)`fg': fg
j...@gcc17:~/trunk/build5$ nm -C a.o | fgrep 'std::basic_string<char,
std::char_traits<char>, std::allocator<char> >::basic_string<char*>(char*,
char*, std::allocator<char> const&)'
0000000000000000 t std::basic_string<char, std::char_traits<char>,
std::allocator<char> >::basic_string<char*>(char*, char*, std::allocator<char>
const&)
j...@gcc17:~/trunk/build5$

Honza


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42033

Reply via email to