Subject: Re: Mac68k/Sun3 binary/lib compatibility
To: Gordon W. Ross <gwr@mc.com>
From: Julian Bean <jules@mailbox.co.uk>
List: port-m68k
Date: 04/04/1996 16:26:59
>They can share most binaries, with the following exceptions:
>(Well, these are the ones I know about anyway.)

[...]
>usr/lib/libkvm.so.4.0

Isn't dynamic linking incredible ;-)  I can have lots of binaries dependent
on this, and yet because I have a different symlinked /usr/lib/libkvm.so on
each machine, they run on the mac and the sun3.

>Once we all get around to porting Leo's new libkvm to the sun3,
>we should be able to remove the remaining things in usr/* from
>the above list.  That would let us share /usr between any m68k
>machines, which is a great convenience.  I'm not so concerned
>about trying to share things in /bin or /sbin because it would
>not save much space, and there ARE still some truly machine-
>dependent programs, like eeprom for the sun3, ite* on amiga...

No, that's not a big problem, although it does mean populating /usr/src
with symlinks in some places.

>
>We might even want to put all MD programs in /bin or /sbin just
>to facilitate sharing /usr between, say sun3, amiga, mac68k...

Not a bad idea.

>
>> However, libraries worry me.  If I have the libraries compiled on the
>> mac68k, can I simply install those on the sun3?  It seems to me that they
>> might have dependencies on mac68k-specific includes under /sys.
>
>No, the libraries should be OK, except for libkvm*

So where is the MD code then?  All in the kernel?  I was quite suprised
that crt0 can be MI.

>Yes, I think that should work.  You might need to run configure on
>the sun3 (I don't remember), but the rest of the make could be done
>on the mac using:  "make MACHINE=sun3 ..."

I have to admit, I can't see why I should have to run config on the sun.
Config doesn't do anything very clever, after all.

I am more surprised (read... impressed) that I can do a make MACHINE= to
build the kernel, however.

>No, it should not be that hard.  Rather than use union mounts, I'd
>just use the "symlink through root" trick:  Replace any MD files in
>/usr with symlinks through the root, i.e.:
>        ln -s /usr.arch/lib/libkvm.so.4.0 /usr/lib/libkvm.so.4.0
>where /usr.arch points to a different place on each machine.

Yey!


Thanks

Jules


/----------------+-------------------------------+---------------------\
|  Jelibean aka  | jules@mailbox.co.uk           |  6 Evelyn Road      |
|  Jules aka     |                               |  Richmond, Surrey   |
|  Julian Bean   |(jelibean@jmlbhome.demon.co.uk)|  TW9 2TF    *UK*    |
+----------------+-------------------------------+---------------------+
|  The Other Place - n. (pop.) Depending on the affiliation of the     |
|  speaker, one of Oxford, Cambridge, The House of Lords, The House of |
|  Commons, Hell.  Draw your own conclusions.                          |
\----------------------------------------------------------------------/