89 lines
5.2 KiB
HTML
89 lines
5.2 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3O//DTD W3 HTML 2.0//EN">
|
|
<!Converted with LaTeX2HTML 95.1 (Fri Jan 20 1995) by Nikos Drakos (nikos@cbl.leeds.ac.uk), CBLU, University of Leeds >
|
|
<HEAD>
|
|
<TITLE>4.7.2 Upgrading the libraries</TITLE>
|
|
</HEAD>
|
|
<BODY>
|
|
<meta name="description" value="4.7.2 Upgrading the libraries">
|
|
<meta name="keywords" value="gs">
|
|
<meta name="resource-type" value="document">
|
|
<meta name="distribution" value="global">
|
|
<P>
|
|
<BR> <HR><A NAME=tex2html4072 HREF="node182.html"><IMG ALIGN=BOTTOM ALT="next" SRC="next_motif.gif"></A> <A NAME=tex2html4070 HREF="node179.html"><IMG ALIGN=BOTTOM ALT="up" SRC="up_motif.gif"></A> <A NAME=tex2html4064 HREF="node180.html"><IMG ALIGN=BOTTOM ALT="previous" SRC="previous_motif.gif"></A> <A NAME=tex2html4074 HREF="node1.html"><IMG ALIGN=BOTTOM ALT="contents" SRC="contents_motif.gif"></A> <A NAME=tex2html4075 HREF="node250.html"><IMG ALIGN=BOTTOM ALT="index" SRC="index_motif.gif"></A> <BR>
|
|
<B> Next:</B> <A NAME=tex2html4073 HREF="node182.html">4.7.3 Upgrading gcc</A>
|
|
<B>Up:</B> <A NAME=tex2html4071 HREF="node179.html">4.7 Upgrading and Installing </A>
|
|
<B> Previous:</B> <A NAME=tex2html4065 HREF="node180.html">4.7.1 Upgrading the kernel</A>
|
|
<BR> <HR> <P>
|
|
<H2><A NAME=SECTION00672000000000000000>4.7.2 Upgrading the libraries</A></H2>
|
|
<A NAME=secupgradelibs> </A>
|
|
<A NAME=4781> </A>
|
|
As mentioned before, most of the software on the system is compiled
|
|
to use shared libraries, which contain common subroutines shared
|
|
among different programs.
|
|
<P>
|
|
If you see the message
|
|
<P><TT> Incompatible library version
|
|
<P></TT>
|
|
when attempting to run a program, then you need to upgrade to
|
|
the version of the libraries which the program requires. Libraries
|
|
are back-compatible; that is, a program compiled to use an older
|
|
version of the libraries should work with the new version of the
|
|
libraries installed. However, the reverse is not true.
|
|
<P>
|
|
The newest version of the libraries can be found on the Linux FTP sites.
|
|
On <tt>sunsite.unc.edu</tt>, they are located in <tt>/pub/Linux/GCC</tt>.
|
|
The ``release'' files there should explain what files you need to
|
|
download and how to install them. Briefly, you should get the files
|
|
<tt>image-<em>version</em>.tar.gz</tt> and <tt>inc-<em>version</em>.tar.gz</tt>
|
|
where <em>version</em> is the version of the libraries to install, such
|
|
as <tt>4.4.1</tt>. These are gzipped tar files; the <tt>image</tt> file contains
|
|
the library images to install in <tt>/lib</tt> and <tt>/usr/lib</tt>. The
|
|
<tt>inc</tt> file contains include files to install in <tt>/usr/include</tt>
|
|
<P>
|
|
The <tt>release-<em>version</em>.tar.gz</tt> should explain the installation
|
|
procedure in detail (the exact instructions vary for each release).
|
|
In general you need to install the library <tt>.a</tt> and <tt>.sa</tt>
|
|
files in <tt>/usr/lib</tt>. These are the libraries used at compilation
|
|
time.
|
|
<P>
|
|
In addition, the shared library image files,
|
|
<tt>libc.so.<em>version</em></tt> are installed in <tt>/lib</tt>. These
|
|
are the shared library images loaded at runtime by programs
|
|
using the libraries. Each library has a symbolic link using the major
|
|
version number of the library in <tt>/lib</tt>.
|
|
<P>
|
|
For example, the <tt>libc</tt> library version 4.4.1 has a major version
|
|
number of <tt>4</tt>. The file containing the library is
|
|
<tt>libc.so.4.4.1</tt>. A symbolic link of the name <tt>libc.so.4</tt> is
|
|
also in <tt>/lib</tt> pointing to this file. You need to change this
|
|
symbolic link when upgrading the libraries. For example,
|
|
when upgrading from <tt>libc.so.4.4</tt> to <tt>libc.so.4.4.1</tt>, you need
|
|
to change the symbolic link to point to the new version.
|
|
<P>
|
|
<IMG ALIGN=BOTTOM ALT="(WARN)" SRC="bdt.gif">It is very important that you change the symbolic link
|
|
in one step, as given below. If you somehow delete the symbolic link
|
|
<tt>libc.so.4</tt>, then programs which depend on the link (including
|
|
basic utilities like <tt>ls</tt> and <tt>cat</tt>) will stop working.
|
|
Use the following command to update the symbolic link <tt>libc.so.4</tt>
|
|
to point to the file <tt>libc.so.4.4.1</tt>:
|
|
<P><TT> # <em>ln -sf /lib/libc.so.4.4.1 /lib/libc.so.4</em>
|
|
<P></TT>
|
|
You also need to change the symbolic link <tt>libm.so.<em>version</em></tt>
|
|
in the same manner. If you are upgrading to a different version of
|
|
the libraries substitute to appropriate filenames above. The library
|
|
release notice should explain the details. (See
|
|
Section <A HREF="node129.html#secmanagelinks">3.10</A> for more information about symbolic
|
|
links.)
|
|
<P>
|
|
<BR> <HR><A NAME=tex2html4072 HREF="node182.html"><IMG ALIGN=BOTTOM ALT="next" SRC="next_motif.gif"></A> <A NAME=tex2html4070 HREF="node179.html"><IMG ALIGN=BOTTOM ALT="up" SRC="up_motif.gif"></A> <A NAME=tex2html4064 HREF="node180.html"><IMG ALIGN=BOTTOM ALT="previous" SRC="previous_motif.gif"></A> <A NAME=tex2html4074 HREF="node1.html"><IMG ALIGN=BOTTOM ALT="contents" SRC="contents_motif.gif"></A> <A NAME=tex2html4075 HREF="node250.html"><IMG ALIGN=BOTTOM ALT="index" SRC="index_motif.gif"></A> <BR>
|
|
<B> Next:</B> <A NAME=tex2html4073 HREF="node182.html">4.7.3 Upgrading gcc</A>
|
|
<B>Up:</B> <A NAME=tex2html4071 HREF="node179.html">4.7 Upgrading and Installing </A>
|
|
<B> Previous:</B> <A NAME=tex2html4065 HREF="node180.html">4.7.1 Upgrading the kernel</A>
|
|
<BR> <HR> <P>
|
|
<BR> <HR>
|
|
<P><ADDRESS>
|
|
<I>Matt Welsh <BR>
|
|
mdw@sunsite.unc.edu</I>
|
|
</ADDRESS>
|
|
</BODY>
|