Problem with istream.seekg() and __mbstate_t
Craig Rodrigues
rodrigc@mediaone.net
Mon Feb 12 19:17:00 GMT 2001
On Tue, Feb 13, 2001 at 01:04:20AM -0200, Alexandre Oliva wrote:
> On Feb 12, 2001, Craig Rodrigues <rodrigc@mediaone.net> wrote:
>
> > /tmp/ccx9JhBd.o: In function `seek(std::istream&)':
> > /tmp/ccx9JhBd.o(.text+0x3c): undefined reference to `std::istream::seekg(std::fpos<__mbstate_t>)'
> > collect2: ld returned 1 exit status
>
> > Doing an nm on libstdc++.so.3, the closest symbol I could find was:
> > 00053288 W std::istream::seekg(std::fpos<mbstate_t>)
>
> Looks like a binary compatibility problem. Could it be that libstdc++
> was built with an older version of glibc headers, that had mbstate_t
> as a struct name, as opposed to a typedef to __mbstate_t?
I believe that is the case. I obtained this build of gcc
from the CodeSourcery web page at: http://www.codesourcery.com/gcc-snapshots/ .
I believe CodeSourcery compiles their snapshots on a Redhat 6.2
system which comes with glibc 2.1.
I am trying to run this on a glibc 2.2 system (RH 7.0). I was unaware
that there would be a binary incompatibility in libstdc++ depending
on if it was compiled on a glibc 2.1 or glibc 2.2 system.
--
Craig Rodrigues
http://www.gis.net/~craigr
rodrigc@mediaone.net
More information about the Libstdc++
mailing list