This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: Problems Installing 3.0.4
- From: Carlo Wood <carlo at alinoe dot com>
- To: mpauley at mail dot unomaha dot edu
- Cc: libstdc++ at gcc dot gnu dot org
- Date: Mon, 22 Apr 2002 16:36:35 +0200
- Subject: Re: Problems Installing 3.0.4
- References: <OF9BD86049.CE5B1B78-ON86256BA3.003ABD57@unomaha.edu>
On Mon, Apr 22, 2002 at 05:57:23AM -0500, mpauley@mail.unomaha.edu wrote:
> Installed the following using rpm -Uvh without difficulty:
> - libgcc-3.0.4-1.i686.rpm (Shared GCC library)
> - gcc-c++-3.0.4-1.i686.rpm (C++ support)
> - gcc-g77-3.0.4-1.i686.rpm (Fortran support)
> - gcc-objc-3.0.4-1.i686.rpm (Objective C support)
> - libgcj-3.0.4-1.i686.rpm (Java class libraries)
> - binutils-2.11.2-1.i386.rpm (Binary Utilities)
> - binutils-static-2.11.2-1.i386.rpm (Binary Utilities - static)
>
> After the above were installed, the following had to be installed using the
> RPM --nodeps option (installed in the order listed)
> - libstdc++-3.0.4-1.i686.rpm (Standard C++ library): without --nodeps
> error was that libstdc++-libc6.2-2.so.3 was needed; however, I found
> this file already on the system and I ran rpm -ivh -force
> libstdc++-2.96-54.i386.rpm which provides this file to be sure.)
I bet this is the problem (using -force not knowing what you're doing)
> - cpp-3.0.4-1.i686.rpm (C preprocessor): without --nodeps error message
> was cpp = 2.96 is needed by gcc-2.96-54 which didn't make any sense [to
> me] as gcc 2.96 was already installed)
You didn't install gcc-3.0.4, so indeed gcc-2.96-54 is still installed
(using -Uvh caused old version to be removed/replaced).
But, by -Upgrading cpp you try to remove cpp-2.96 which indeed is needed by
gcc-2.96 that is still installed.
If you upgrade the rpms related to the C/C++ compiler, then you need to
following rpms:
libstdc++
cpp
gcc
libstdc++-devel
gcc-c++
and probably a
compat-libstdc++
You didn't install/upgrade/replace libstdc++, cpp, gcc and libstdc++-devel;
nor the backwards compatibility rpm compat-libstdc++.
> After the above two packages were installed, I was able to install the
> following WITHOUT using the --nodeps option
> - gcc-3.0.4-1.i686.rpm (GCC)
> - libstdc++-devel-3.0.4-1.i686.rpm (Standard C++ library development
> files)
> - gcc-java-3.0.4-1.i686.rpm (Java support)
> - libgcj-devel-3.0.4-1.i686.rpm (Java Class Libraries development files)
Ah ok - so now libstdc++, cpp and compat-libstdc++ are the only three missing.
> Now, here's what happens when I run man groff:
> Formatting page, please wait...
> /usr/bin/groff: error while loading shared libraries:
> libstdc++-libc6.2-2.so.3: cannot load shared object file: No such file or
> directory
> /usr/bin/gtbl: error while loading shared libraries:
> libstdc++-libc6.2-2.so.3: cannot load shared object file: No such file or
> directory
>
> Any help would be greatly appreciated.
The ABI's of libstdc++ that belongs to gcc-3.x is incompatible with the
one of gcc-2.9x. If you Upgrade the compiler/lib, then you have to recompile
all applications that use libstdc++-libc6.2-2.so.3, *OR* install that
compat-libstdc++ that will add libstdc++-libc6.2-2.so.3 in order for your
old applications still to work.
Don't ask me where to that compat-libstdc++ for 3.x/2.9x compatibility.
I am still using 2.96 as default compiler and will continue to do so
until there is an official RedHat release for gcc-3.x.
--
Carlo Wood <carlo@alinoe.com>