[NCLUG] rpm not recognizing library

Bob Proulx bob at proulx.com
Sun Dec 4 09:57:44 MST 2005


Sean Reifschneider wrote:
> Bob Proulx wrote:
> >rpm is concerned that file is not installed.  The real way to install
> >that file would be to install the rpm package that contained that
> >file.
> 
> In this case, that is almost certainly going to conflict with the
> libstdc++ package(s) already on the system.

Hmm...  It looks like it just barely works out to me.  I don't have an
FC machine available to look at but I can peek at RHEL3 and RHEL4 and
I assume they are very similar.  Here is what I see.  A lot of
details, sorry.

On a RHEL3 system:

  ls -log /usr/lib/libstdc++.so.*
  lrwxrwxrwx    1       20 May 27  2005 /usr/lib/libstdc++.so.2.7.2 -> libstdc++.so.2.7.2.8
  -rwxr-xr-x    1  1025339 Mar 24  2004 /usr/lib/libstdc++.so.2.7.2.8
  lrwxrwxrwx    1       18 May 27  2005 /usr/lib/libstdc++.so.2.8 -> libstdc++.so.2.8.0
  -rwxr-xr-x    1   375773 Mar 24  2004 /usr/lib/libstdc++.so.2.8.0
  lrwxrwxrwx    1       22 May 27  2005 /usr/lib/libstdc++.so.2.9 -> libstdc++.so.2.9.dummy
  -rwxr-xr-x    1     5428 Mar 24  2004 /usr/lib/libstdc++.so.2.9.dummy
  lrwxrwxrwx    1       18 May 27  2005 /usr/lib/libstdc++.so.5 -> libstdc++.so.5.0.3
  -rwxr-xr-x    1   709488 Feb 28  2005 /usr/lib/libstdc++.so.5.0.3

  rpm -qf /usr/lib/libstdc++.so.2.8.0
  compat-libstdc++-7.3-2.96.128

  rpm -ql compat-libstdc++-7.3-2.96.128
  /usr/lib/libg++.so.2.7.2.8
  /usr/lib/libstdc++-2-libc6.1-1-2.9.0.so
  /usr/lib/libstdc++-3-libc6.2-2-2.10.0.so
  /usr/lib/libstdc++-libc6.2-2.so.3
  /usr/lib/libstdc++.so.2.7.2.8
  /usr/lib/libstdc++.so.2.8.0
  /usr/lib/libstdc++.so.2.9.dummy

  rpm -qf /usr/lib/libstdc++.so.5.0.3
  libstdc++-3.2.3-52

  rpm -ql libstdc++-3.2.3-52
  /usr/lib/libstdc++.so.5
  /usr/lib/libstdc++.so.5.0.3
  /usr/lib64/libstdc++.so.5
  /usr/lib64/libstdc++.so.5.0.3

Both the compat-libstdc++-7.3 and the libstdc++ packages are is
installed on the system.  I found a similar configuration on a RH9
machine.

On RHEL4:

  ls -log /usr/lib/libstdc++.so*
  lrwxrwxrwx  1     18 Jul 19 10:29 /usr/lib/libstdc++.so.5 -> libstdc++.so.5.0.7
  -rwxr-xr-x  1 744136 Dec  1  2004 /usr/lib/libstdc++.so.5.0.7
  lrwxrwxrwx  1     18 Jul 19 10:25 /usr/lib/libstdc++.so.6 -> libstdc++.so.6.0.3
  -rwxr-xr-x  1 804032 May 16  2005 /usr/lib/libstdc++.so.6.0.3

  rpm -ql libstdc++-3.4.3-22.1
  /usr/lib/libstdc++.so.6
  /usr/lib/libstdc++.so.6.0.3

  rpm -ql compat-libstdc++-33-3.2.3-47.3
  /usr/lib/libstdc++.so.5
  /usr/lib/libstdc++.so.5.0.7
  /usr/lib64/libstdc++.so.5
  /usr/lib64/libstdc++.so.5.0.7

The compat-libstdc++-7.3 is not installed on RHEL4.  The files in the
libstdc++ package was split into libstdc++ and a new package named
compat-libstdc++-33.  (That seems like a good change.)

So without having tried it on RHEL4 for example in order to get
libstdc++.so.2.8 installed I would install the compat-libstdc++-7.3
package.  The files don't overlap.  So there should not be any
conflicts.  Am I missing anything?

> option, but not likely in this case.  You *COULD* always just build an RPM
> package that just contains that one file.  It's not THAT hard, and would
> get RPM to shut up about it, and it might even solve your problem.

Easier to move to gpg, as Sean originally suggested.

> Some people would recommend that you just install pgp with "--nodeps",
> but that almost always leads to a world of pain and should never, ever,
> under any circumstances, be done.  Unless you're an expert, in which
> case it should just never be done.

Agreed.  But I would not have even mentioned --nodeps.  Someone might
read more about it and think it solves their problem.

You should follow the rules until you know enough to know when the
rules don't apply.

Bob



More information about the NCLUG mailing list