Subject: Re: 1.4.2 to 1.5_BETA and library problems
To: None <current-users@netbsd.org>
From: Jeremy C. Reed <reed@reedmedia.net>
List: current-users
Date: 10/26/2000 10:10:05
On Thu, 26 Oct 2000, Jarom=EDr Dolecek wrote:

> The a.out ld.so shipped with 1.5 (i.e ALPHA2 or BETA) look
> for libraries within /emul/aout tree and ldconfig was changed
> to look for /etc/ld.so.conf under that tree also, since /etc/ld.so.conf
> is used for something else for ELF.
>=20
> The upgrade path for you at this stage is:
>=20
> 0. create /emul/aout directory (note that /emul can safely be symlink
>    to out of root partition)
> 1. move all former a.out libraries to the respective directory
>    under /emul/aout
> 2. copy /etc/ld.so.conf to /emul/aout/etc/ld.so.conf, remove
>    the machdep.fpu_present stuff and run ldconfig
> 3. edit /etc/ld.so.conf, remove the directory names stuff

I used tar to copy files over (so I could save symlinks).

Lots of stuff broke here. For example, I had to use full path names
including the entire "/emul/aout" in the /emul/aout/etc/ld.so.conf file
or it wouldn't see any of the new /emul/aout libraries.

Also, I had to keep my /usr/X11R6/lib in the /etc/ld.so.conf file, because
then xterm wouldn't run because it couldn't find libXaw.

But now I am missing many things. For example, the ldconfig didn't load my
/emul/aout/usr/X11R6/lib/libXaw.so.6.1 (but it did load
/emul/aout/usr/X11R6/lib/libXaw3d.so.6.1), so I made a libXaw link to
libXaw3d and it worked, but then I was missing libXmu.so.6.0. (Trying to
run XF86Setup because the upgrade appeared to make my screen blurry and it
is making high-pitched noises.)

Well anyways, I looked at the libXaw and libXaw3d files and I saw that
libXaw (original) started with "^?ELF" and the libXaw3d started with
"<C0><86>^A^K^@".

Another example is "lynx". It says:
 /usr/libexec/ld.so: lynx: libm.so.0.1: No such file or directory
The libm.so.0.1 file starts with "^?ELF^A". Instead of rebuild lynx and
other applications, can I maybe untar base.tgz's /usr/lib directory to
/emul/aout/ ?? (Usually, I guess I should try things before asking -- but
I am scared to break my system more. It is usable now -- well partially
usable.)

So it looks like I copied over ELF files also. How do I distinguish which
ones are a.out libraries and just copy them?

Does this mean I overwrote some of my original a.out libraries with ELF
versions? (Since my libXaw is now a ELF.)

To fix this should I untar some old x*.tgz set's libraries to my
/emul/aout directory?

Or is there another way to fix this?

> It's good to install ELF XFree86 then (should be available
> on ftp.netbsd.org & mirrors). You can probably safely copy it
> over old X11 a.out tree - binaries included in XFree86 would
> be then ELF, the rest of stuff installed within X subtree
> would use a.out libraries you previously moved into /emul/aout/usr/X11R6/=
lib/.

I installed the X from 1.5_BETA -- how can I easily know if it is ELF or
not? (I am guessing that it is since many libraries dated Oct. 21 now
start with "^?ELF".)

> After that, you can either gradually upgrade packages to ELF as needed,
> or remove all old a.out packages and install new from scratch.

How do I know which files are a.out? Since it looks like every other one
is ELF, do I have to look at the first line of each?

To "install from scratch", do you mean build from source?

> I did the latter, since that seemed like easier on longer run. Took
> me like day or so to do.

Well I started this 1.4.2 to 1.5_BETA upgrade yesterday afternoon. I have
put at least seven hours into it.  I know a lot of people will be doing a
1.4.2 to 1.5 transition. I have been taking a few notes -- where (what
file or webpage) should I submit documentation for this?

> You would surely praise binary packages available on
> ftp.netbsd.org and mirrors - package system mades the transition
> much smoother than it would be otherwise :)

It seems like this would be smooth since I can possible use /emul/aout, if
I had somewhere found some documentation to do this. Your steps look like
the ideas in the ELF webpage, but I didn't know that they applied to me.

Thanks for your help. I have a feeling that I am making this 1.4.2 to 1.5
transition a lot harder than I should. Somewhere I must have missed some
documentation. All of this just so I can use fxtv with my new bt848 card :)

   Jeremy C. Reed
   http://www.reedmedia.net/