Subject: Re: shared libraries, slow progress
To: None <port-pmax@NetBSD.ORG>
From: Erik Bertelsen <erik@sockdev.uni-c.dk>
List: port-pmax
Date: 12/04/1996 21:23:24
Some more progress, but still not a full explanation.

I can now do:

E /tmp/ldd obj.pmax/telnet
ldd: obj.pmax/telnet: not a dynamic executable
obj.pmax/telnet:
        libtelnet.so.1 => /usr/lib/libtelnet.so.1
        libc.so => /usr/lib/libc.so

Don't think about the error message, I just removed some code
in ldd to check for a.out shared executables.

By comparing the libopcodes installation and the /usr/src/lib
installations, I got more and more desperate to actually find
the differences, and finally I added an extra link:

-r--r--r--  1 bin   bin    1983874 Dec  2 20:29 /usr/lib/libc.a
lrwxrwxr-x  1 root  wheel       12 Dec  4 21:08 /usr/lib/libc.so ->
libc.so.12.8
lrwxrwxr-x  1 root  wheel       12 Nov 30 21:17 /usr/lib/libc.so.12 ->
libc.so.12.8
-rwxrwxr-x  1 erik  wheel  1107104 Dec  4 14:30 /usr/lib/libc.so.12.8

When the link libc.so with no further name extensions is present,
applications actually seem to be linked shared as in the telnet
example above. The size of the executable shrinks, and the executable
still works.

For some reason, the link libtelnet.so.1 is also needed in that form
to recognize libtelnet.so.1.0 correctly.

I may have part of a solution, but I don't (yet) have an explanation.

Anyway, I'll probably try to rebuild just about everything and see
if it still works.

I hope that this situation will stabilize soon and that we'll get
shared libraries in the standard pmax distribution, but we still
need a few components (e.g. ld.so).

Thank's to Manuel and to Jonathan for bringing us this long !

- Erik Bertelsen