tech-userlevel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: obsoleting shlibs - what's the plan



  >Is this any worse than using some other older computer that hasn't been
  >upgraded?  Breaking everyone's compiled binaries seems unreasonable,

  The old libraries will only be linked by programs that do not use them.
  I fail to see how that is useful.

I think I might understand the disconnect in our conversation.

The old libaries will not be used by any programs in the base system,
because those programs will also be replaced during an upgrade.  I am
talking about programs not part of src/ that were compiled on the
system, such as programs from pkgsrc, and also any other programs that
the user compiled.

For example, on my system:

 > ldd /usr/pkg/bin/lpr
/usr/pkg/bin/lpr:
        -lcrypt.0 => /usr/lib/libcrypt.so.0
        -lcrypto.3 => /usr/lib/libcrypto.so.3
        -lcom_err.4 => /usr/lib/libcom_err.so.4
        -lasn1.6 => /usr/lib/libasn1.so.6
        -lutil.7 => /usr/lib/libutil.so.7
        -lroken.12 => /usr/lib/libroken.so.12
        -lkrb5.20 => /usr/lib/libkrb5.so.20
        -lgssapi.5 => /usr/lib/libgssapi.so.5
        -ldes.7 => /usr/lib/libdes.so.7
        -lssl.4 => /usr/lib/libssl.so.4
        -lpthread.0 => /usr/lib/libpthread.so.0
        -lm.0 => /usr/lib/libm387.so.0
        -lm.0 => /usr/lib/libm.so.0
        -lz.1 => /usr/lib/libz.so.1
        -lcups.2 => /usr/pkg/lib/libcups.so.2
        -lc.12 => /usr/lib/libc.so.12

and note krb5.20, whereas .21 is current.  But, my system has been
upgraded over a long time, and has

-r--r--r--  1 root  wheel  514864 Mar 24 21:36 /usr/lib/libkrb5.a
lrwxr-xr-x  1 root  wheel      15 Mar 24 21:39 /usr/lib/libkrb5.so -> 
libkrb5.so.21.0
lrwxr-xr-x  1 root  wheel      15 Dec  2  2003 /usr/lib/libkrb5.so.18 -> 
libkrb5.so.18.0
-r--r--r--  1 root  wheel  237892 Dec  2  2003 /usr/lib/libkrb5.so.18.0
lrwxr-xr-x  1 root  wheel      15 Nov  3  2005 /usr/lib/libkrb5.so.19 -> 
libkrb5.so.19.1
-r--r--r--  1 root  wheel  247545 Oct 25  2005 /usr/lib/libkrb5.so.19.1
lrwxr-xr-x  1 root  users      15 Jan 17 21:13 /usr/lib/libkrb5.so.20 -> 
libkrb5.so.20.1
-r--r--r--  1 root  users  257793 Jan 17 21:12 /usr/lib/libkrb5.so.20.1
lrwxr-xr-x  1 root  wheel      15 Mar 24 21:39 /usr/lib/libkrb5.so.21 -> 
libkrb5.so.21.0
-r--r--r--  1 root  wheel  402663 Mar 24 21:36 /usr/lib/libkrb5.so.21.0
-r--r--r--  1 root  wheel  544664 Mar 24 21:36 /usr/lib/libkrb5_p.a
-r--r--r--  1 root  wheel  564748 Mar 24 21:36 /usr/lib/libkrb5_pic.a

Probably nothing uses 18 or 19, but there's no really easy way to check.

So, the only time it could matter is with a program such as lpr, and the
choices are to allow it to use the old shlib, possibly getting old
behavior, or to fail.  I don't understand why failing is preferable.


Home | Main Index | Thread Index | Old Index