Skip to Content.
Sympa Menu

baslinux - Re: [BL] apt-get

baslinux AT lists.ibiblio.org

Subject: Baslinux mailing list

List archive

Chronological Thread  
  • From: James Miller <jamtat AT mailsnare.net>
  • To: baslinux AT lists.ibiblio.org
  • Subject: Re: [BL] apt-get
  • Date: Tue, 30 Dec 2003 21:39:07 -0600 (CST)

On Wed, 31 Dec 2003 3aoo-cvfd AT dea.spamcon.org wrote:

> James Miller wrote:
> > You'll have to resolve those yourself "manually"
>
> It's not that complicated. ldd the binary and, if a library is
> missing, search for it in MANIFEST.gz.
>
Thanks for that tip, Steven. I've tried searching MANIFEST.gz before and
could never quite figure out how it could help - this because the most
obvious thing you see in this file is the location to which a package gets
expanded when you install it on the system, and what the resulting
components are called. So, I always thought: what's the use of knowing
where it gets installed on the system and the name(s) of the installed
component(s): I need to know where to find a package on the CD. Having
just looked over MANIFEST.gz again (I have a version of elinks that
automatically unzips and displays .gz files), I now understand how it
works. MANIFEST.gz is divided into sections according to package and
package location on the CD. The long lists of installed locations and
installed component names - really the vast bulk of the file - are
organized under package and directory names from the CD, clearly set off
as headings. They show where, should you install that package, its
contents will get put on your system and the names of all components as
they will look when installed. Here's a small sample from MANIFEST.gz:
-------BEGIN MANIFEST.gz SAMPLE------------------------
++========================================
||
|| Package: ./a12/scsi.tgz
||
++========================================
drwxr-xr-x root/root 0 2000-06-19 20:42:54 ./
drwxr-xr-x root/root 0 1995-08-23 12:01:04 install/
-rw-r--r-- root/root 65 1995-08-23 12:01:04 install/doinst.sh
-rw-r--r-- root/root 1034141 2000-06-19 20:42:48 vmlinuz
drwxr-xr-x root/root 0 1996-06-12 17:35:32 boot/
-rw-r--r-- root/root 271134 2000-06-19 20:42:44 boot/System.map
-rw-r--r-- root/root 20781 2000-06-19 20:42:35 boot/config

++========================================
||

-------------END MANIFEST.gz SAMPLE-------------------------

So, the way to find where a missing dependency is (when you get a missing
dependency error or look at ldd output you get the name of the *installed*
component[s]) is to search MANIFEST.gz for the name of the installed
component (dependency), then scroll up the list from it til you get to the
heading that tells from what package it would come and the location of
that package on the CD. To use a poor example from the above excerpt
(poor because no one would ever really encounter such a dependency issue -
they seem usually to involve lib files): let's say you installed an
application and tried to run it but got a dependency error saying the the
file System.map was missing from the system. Well, to find out how to get
that file from the Slack71 CD (or from one of the online download sites),
you'd open MANIFEST.gz and search for this file's name. When you found
it, you'd look for the heading under which it was listed and see that, in
order to get this file on your system, you need to install the package
scsi.tgz, which is found in the a12 directory on the CD (or at the
download site). Steven has talked in the past about using zcat and grep
to find what one needs in MANIFEST.gz quickly and easily, but I'm not very
adept with grep yet so have not really been able to use his method.
Maybe if you explain it again, Steven, it will sink in this time? This
resolves a rather longstanding confusion I've had about BL and resolving
dependencies.

Thanks, James




Archive powered by MHonArc 2.6.24.

Top of Page