[BL] can't installpkg

sindi keesan keesan at sdf.lonestar.org
Mon Jan 2 20:54:59 EST 2006


Fixed, sort of, based on David's helpful suggestion about /lib, /bin, 
/sbin.  I compared and they looked the same.

I theb\n did an ls /sbin/*pkg and found explodepkg, which worked.
Then I tried installpkg -r bison.tgz after copying bison.tgz to /,
which was supposed to be a recursive installation.  It appeared to be 
removing all the symlinks in the entire partition, but possibly only in 
/lib, went by too fast to see.  I should have read the instructions.

After this none of the busybox commands or much else worked.  cd worked 
(part of bash?), du and ls and which and rm (from SW71, in /bin) did not.

So I copied over my photos and kernels to the other computer after booting 
with BL3, then deleted some junk from there and copied back most of that 
to a spare partition on this first computer so I would have a working BL2 
while working on the broken one. I copied using Steven's send/receive 
script, and the symlinks ended up correct in the new /lib.

I compared the broken and the working BL2 /lib /bin and /sbin and they 
looked the same, except that on the second computer some files were 2, 3 
or 4 bytes larger, possibly something to do with a larger partition there.

I then copied the /lib /bin and /sbin directories from the working copy to 
the broken one on the same computer, using cp -a (copy all?).  I did not 
copy /usr/X11R6/lib or /usr/local/lib. /lib and /usr/X11R6/lib have lib*so 
files with symlinks.

I can now installpkg but it complains about a lot of libraries not being 
symlinks, in /lib. (There are a few that are in /lib, /usr/lib, and 
/usr/local/lib from libc5 which truly are not symlinks but are there for 
libc5 netpbm, which I should replace with a BL2 version some day).

Apparently when you copy symlinks with cp, you don't copy the link, but 
the file to which it is linked.  I now have pairs of library files, both 
the same size, with names like libuuid.so.1 and libuuid.so.1.2.  The first 
should be symlinked to the second libuuid.so.1 -> libuuid.so.1.2 but it 
actually a copy of it.  This adds about 3MB to /lib.  Is there a way to 
copy actual symlinks instead of the files to which they point?

The ones that are supposed to be symlinks end in so.?, the actual files 
they should be symlinked to in so.?.? or so.?.?.? or so.?.?.??.
I tested, and I can delete libuuid.so.? and run ldconfig to make the 
correct symlink.


QUESTION:

Can I safely delete these libraries (rm *so.?) while using BL2, or is 
there some way to run ldconfig without first deleting these 'not a 
symbolic link' files in BL2, or to run it from BL3 to make links in BL2? I 
can also do this manually, from BL3, for 20-30 pairs of files:
ln -sf libss.so.2.0 libss.so.2, etc.

I can also just leave things as is and let ldconfig complain about it.

I should probably have run ldconfig in the first place after I messed 
things up, but that would not have fixed my original problem, since 
installpkg runs it anyway.

I try to view these happenings as educational events, not disasters, but I 
have had enough education for a while and would prefer to proceed to 
compiling fbutils with bison and flex.  Installpkg installed all the 
files, which are now listed in /var/log/packages.

I must have somehow messed up a symlink in /lib and not found it during a 
comparison.  Too many libs in there.

On Mon, 2 Jan 2006, sindi keesan wrote:

> On Mon, 2 Jan 2006, David Moberg wrote:
>
>> sindi keesan wrote:
>>
>>> What might I have broken and if I did, why do the non-SW71 packages
>>> install but the two SW71 package do not?
>>
>> Are all of your links in order? Use ls -l /bin/busybox (or wherever the
>> links are). Make sure that they all point to busybox, and that there
>> are not any missing (compare with your working BL2).

I may have missed something when I compared.

>
> I went back to BL2 busybox for both so can compare the outputs of ls -l.
> I will remove links to any busybox programs that don't work right and I
> have busybox 1.01 following it on the path, newer than BL3 busybox.

The full SW71 programs come before busybox101, which has newer but less 
functional versions, in /bin or /usr/bin.

>
>> If that passes, then you should compare file sizes of /lib, /sbin, /bin,
>> with the sizes in your working BL2.

Some were larger on the larger partition.

Which files are most likely to be the problem in installpkg?

>>
>> It might be easier to reinstall.

> I have each computer set up somewhat differently and would rather not copy
> one to the other.  The one that runs installpkg is not set up to compile,
> for instance.  But I could copy /lib and /sbin and /bin.

That fixed it.  Many thanks.

>> David

Sindi



More information about the BasLinux mailing list