Subject: Re: binary package linkage
To: None <port-vax@netbsd.org>
From: James K. Lowden <jklowden@schemamania.org>
List: port-vax
Date: 01/13/2003 19:41:14
On Sun, 12 Jan 2003 15:56:40 -0800 (PDT), Brian Chase <vaxzilla@jarai.org>
wrote:
> On Fri, 10 Jan 2003, Brian Chase wrote:
> > On Fri, 10 Jan 2003, James K. Lowden wrote:
> > > but last night, the report looked like this (from memory):
> > >
> > > -ltermcap.0 => libtermcap.so.0
> > > -lintl.0 => libintl.so.0
> > > -lc.12 => libc.so.12
>
> I've just managed to get my system drive rebuilt. The very first
> package I've installed is bash-2.05nb1.tgz, and it is working properly
> for me:
>
> radiant# rehash
> radiant# which bash
> /usr/pkg/bin/bash
> radiant# ldd /usr/pkg/bin/bash
> /usr/pkg/bin/bash:
> -ltermcap.0 => /usr/lib/libtermcap.so.0
> -lintl.0 => /usr/lib/libintl.so.0
> -lc.12 => /usr/lib/libc.so.12
> radiant# bash
> bash-2.05#
Brian,
Thanks for checking back with me. I see my error now; I'm sorry for the
noise. I hope I didn't cause you any extra effort. (Actually, it's at
least two errors, the second one being posting anything to a message list
"from memory".)
Retracing my own steps, it seems I fetched the old package, for 1.5, even
though I'm running 1.6. I was off only by 1/4 inch! Long story follows,
in case you're interested.
In the beginning, I fetched:
ftp://ftp.netbsd.org/pub/NetBSD/packages/1.5/vax/All/bash-2.04.tgz
It's still there.
$ ls /usr/pkgsrc/distfiles/bash*
/usr/pkgsrc/distfiles/bash-2.04.tgz
/usr/pkgsrc/distfiles/bash-2.05b.tar.gz
So, tonight I extracted it into my home directory for examination.
$ pwd
/usr/users/home/jklowden
$ tar xzf /usr/pkgsrc/distfiles/bash-2.04.tgz bin/bash
$ ldd bin/bash
bin/bash:
-ltermcap.0 => not found (0x0)
-lc.12 => not found (0x0)
[then, to double-check...]
# cd /usr/pkg/bin
# ls bash
bash
# mv bash bash.ok
# mv ~jklowden/bin/bash .
# bash
/usr/libexec/ld.so: bash: libtermcap.so.0.4: No such file or directory
# ldd `which bash`
/usr/pkg/bin/bash:
-ltermcap.0 => not found (0x0)
-lc.12 => not found (0x0)
# rm bash
# mv bash.ok bash
# bash
bash-2.05b# exit
I misread or misunderstood the output of ldd. I saw "-ltermcap.0 => not
found" and thought there was no path information. See, I thought ldd
would show *requested* libraries, and that the absence of path information
on the left side (of =>) indicated something about how it was linked.
Evidently not. Live and learn.
If the needed libraries were installed, would a NetBSD/VAX binary built
for 1.5 be expected to run on 1.6? I expect the answer is "yes", but as
you can see I know less about this than I thought I did.
Thanks again and regards,
--jkl