On Sun, Jan 20, 2002 at 11:25:07AM -0500, sam rosenfeld wrote:
> On Sat, Jan 19, 2002 at 09:52:10PM -0600, Colin Watson wrote:
> > You'll have to be more specific. It's possible that you only have
> > runtime versions of libraries involved, while you need development
> > (-dev) versions in order to build programs that link against them.
> 
> I confess that I know next to nothing about the distinction between
> runtime and development versions of the libraries.  Can you recommend
> where I can read about what these versions are, why we need two
> versions of the libraries, and how the two versions are used?

Libraries generally consist of the component that applications normally
load in order to run (I'm calling this the runtime component, and it has
files like /lib/libc.so.6) plus the component you need in order to build
applications that use them (C header files and some other bits and
pieces). The latter isn't needed when you're just using the library, so
to save disk space it isn't installed by default. In order to compile C
programs, for example, you need libc6-dev; in order to run them you only
need libc6.

> (It may be obvious that I have not studied either Linux or Debian very
> systematically.  Is the Linux Documentation Project a good place to
> search for remedies for my ignorance?)

It's certainly a good start. There are documents on almost everything
there. You can install doc-linux-html and/or doc-linux-text to get local
versions in them, but the copies in potato are *ahem* quite old.

> > Those will be entirely different from the errors output by make. Again,
> > details would help. Don't expect routinely to be able to install
> > packages from woody/sid on a potato system, though.
> 
> Does your word "routinely" imply that I shouldn't be able to install
> packages from woody/sid etc. without a fairly deep knowledge of debian?

It doesn't really have much to do with your knowledge of Debian. The
vast majority of packages in woody depend on more recent versions of
fundamental things like libc6 than are in potato, and nobody can install
them on potato without either:

  * recompiling the package from source; or
  * upgrading libc6 to woody, at which point you're better off upgrading
    your entire system anyway.

Bear in mind that when a package says it depends on, say, libc6 (>=
2.2.4-4), that doesn't mean that it can't be recompiled to run with
earlier versions. The reason why it depends on the later versions at all
is to do with library binary compatibility, which I won't go into just
now (but mail me if you really want the gory details).

> In the meantime, that is while I am still a novice, must I do without
> all those seductive packages which rely on woody dependencies,
> especially later versions of libc?

No. You could build them from source, taking note of the
build-dependencies in each package's debian/control file, although it's
possible not every package will build cleanly on potato without some
other hacking.

If you're feeling brave, you could also upgrade to woody.

-- 
Colin Watson                                  [EMAIL PROTECTED]

Reply via email to