This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Problems Installing 3.0.4


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>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]