This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
streambuf.h incompatible after glibc 2.1.96 install. Please advise.
- To: libc-alpha at sourceware dot cygnus dot com
- Subject: streambuf.h incompatible after glibc 2.1.96 install. Please advise.
- From: rbarnett at usc dot edu
- Date: Tue, 31 Oct 2000 12:12:21 -0800
>Submitter-Id: net
>Originator: root
>Organization:
>Confidential: no
>Synopsis:
>Severity:
>Priority:
>Category: libc
>Class:
>Release: libc-2.1.96
>Environment:
Host type: i686-pc-linux-gnu
System: Linux we-24-167-139-55 2.4.0-test9 #7 Sat Oct 28 20:26:37 PDT 2000 i686 unknown
Architecture: i686
Addons: linuxthreads
Build CC: gcc
Compiler version: 2.95.2 19991024 (release)
Kernel headers: 2.4.0-test9
Symbol versioning: yes
Build static: yes
Build shared: yes
Build pic-default: no
Build profile: yes
Build omitfp: no
Build bounded: no
Build static-nss: no
Stdio: libio
>Description:
After installing glibc 2.1.96, I can no longer compile C++ programs that use
the standard template library, due to the following reason:
In file included from /usr/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/../../../../include/g++-3/iostream.h:31,
from /usr/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/../../../../include/g++-3/stl_algobase.h:53,
from /usr/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/../../../../include/g++-3/list:30,
from test.cc:31:
/usr/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/../../../../include/g++-3/streambuf.h: In method `struct streampos streambuf::pubseekoff(long long int, ios::seek_dir, int = 3)':
/usr/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/../../../../include/g++-3/streambuf.h:362: conversion from `__off64_t' to non-scalar type `streampos' requested
/usr/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/../../../../include/g++-3/streambuf.h: In method `struct streampos streambuf::pubseekpos(_G_fpos64_t, int = 3)':
/usr/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/../../../../include/g++-3/streambuf.h:364: `struct streampos' used where a `long long int' was expected
/usr/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/../../../../include/g++-3/streambuf.h:364: warning: control reaches end of non-void function `streambuf::pubseekpos(_G_fpos64_t, int)'
I then attempted to recompile gcc 2.95.2, and was unable to do so with similar
libio problems:
/tmp/gcc-2.95.2/objdir/gcc/xgcc -B/tmp/gcc-2.95.2/objdir/gcc/ -B/usr/i686-pc-linux-gnu/bin/ -c -g -O2 -fvtable-thunks -D_GNU_SOURCE -fno-implicit-templates -I. -I../../../libio -nostdinc++ -D_IO_MTSAFE_IO ../../../libio/indstream.cc
../../../libio/indstream.cc: In method `struct streampos indirectbuf::seekoff(long long int, ios::seek_dir, int = 3)':
../../../libio/indstream.cc:82: `struct streampos' used where a `int' was expected
../../../libio/indstream.cc:85: `struct streampos' used where a `int' was expected
../../../libio/indstream.cc:87: `struct streampos' used where a `int' was expected
../../../libio/indstream.cc:89: conversion from `int' to non-scalar type `streampos' requested
../../../libio/indstream.cc: In method `struct streampos indirectbuf::seekpos(_G_fpos64_t, int = 3)':
../../../libio/indstream.cc:99: `struct streampos' used where a `int' was expected
../../../libio/indstream.cc:102: `struct streampos' used where a `int' was expected
../../../libio/indstream.cc:104: `struct streampos' used where a `int' was expected
../../../libio/indstream.cc:106: conversion from `int' to non-scalar type `streampos' requested
make[2]: *** [indstream.o] Error 1
Please advise how to resolve this problem, thanks!
rbarnett@usc.edu
>How-To-Repeat:
Attempt to compile using standard template library, such as using 'list'.
>Fix: