On Mon, February 27, 2006 23:09, Jose Silva wrote:
> Here is what is generated when I run make:

[...]

> make[1]: Entering directory `/home/carlos/stuff/pgsql/libpqxx-2.4.2/tools'
> /bin/sh ../libtool --tag=CXX --mode=link g++  -g -O2   -o rmlo  rmlo.o
> ../src/libpqxx.la -L/usr/lib -R/usr/lib -lpq -lpq
> g++ -g -O2 -o rmlo rmlo.o  ../src/.libs/libpqxx.a -L/usr/lib
> /usr/local/lib/libstdc++.so  -lpq -Wl,--rpath -Wl,/usr/lib
> rmlo.o(.gnu.linkonce.t._ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_+0x21):
> In function `std::basic_string<char, std::char_traits<char>,
> std::allocator<char> > std::operator+<char, std::char_traits<char>,

Hmmm...  This is only rmlo, which you really don't need for anything so
you can just "touch tools/rmlo" and run make again.  See also the FAQ:

http://thaiopensource.org/development/libpqxx/wiki/FrequentlyAskedQuestions

One thing though: why is the build procedure picking up a libstdc++.so
from /usr/local/lib instead of a more usual location like /usr/lib or
/usr/lib/gcc-lib?  I guess it's possible (the RedHat people know a lot
more about where these libraries should go than I do) but this may be a
sign that you're picking up the wrong standard C++ library.

If it's the wrong library, it may be one meant for a different compiler or
compiler version.  And if it was built with a different compiler, you're
likely to get exactly this kind of error.  Again, for more background on
this see the FAQ: "Can I build libpqxx with one compiler, and my own
program with another, and then link the two together?"

You may want to take a look at what instances of libstdc++.so are
installed.  Probably a lot of them are going to be softlinks, so try this:

  ls -Qo `locate libstdc++.so` | grep -v -- '->'

That should tell you which instances are really installed on your system.


Jeroen


_______________________________________________
Libpqxx-general mailing list
[email protected]
http://gborg.postgresql.org/mailman/listinfo/libpqxx-general

Reply via email to