[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Shared 1.0.0
From: |
Ho-Sheng Hsiao |
Subject: |
Shared 1.0.0 |
Date: |
Wed, 5 Feb 1997 20:26:48 -0500 (EST) |
Ok, I'll admit this: I was lurking and I was bored. So I think I'll share
my result in trying to create shared ELF versions of Swarm. :)
I found a stack of paper one day. It happened to be the ELF Linux HOWTO.
In any case, the instructions for making shared ELF libraries *looked*
easy -- and no one else really did it. So I tried it with the 961002
version of Swarm (this was before the 1.0.0 release). Having never created
a Makefile from scratch, much less a shared ELF library, it took all of 5
hours of hacking the Makefile so that I could generate seperate shared ELF
for swarm (i.e. libactivity, libswarmobject) -- don't ask why . . . All of
the components, except for libdefobj was created, and I was able to
compile all of the demos and my app with it.
Well, 1.0.0 got released, so I got ambitious. :)
I compiled Swarm and then hand extracted the objects. I then linked it up
into one huge libSwarm.so package. After mucking around for a bit, I was
able to set it up.
However, when I tried compiling the 1.0.0 apps, they refused to link.
libSwarm.so had some undefined symbols, specifically:
tclObjc_objectToName
__objc_class_name_Tcl
__objc_class_name_Tk
tclObjc_nameToObject
After much hair pulling, I finally read the info pages for gcc. :) I had
to add the following after:
-u tclObjc_objectToName -u __objc_class_name_Tcl -u __objc_class_name_Tk
-u tclObjc_nameToObject
It seems that gcc refuses to link up tclobjc into it without the -u switches.
After that, the 1.0.0 versions of heatbugs, mousetrap, and market compiles
and works. They are now about 200k in size, though loading time is
annoying. Ah well.
- Shared 1.0.0,
Ho-Sheng Hsiao <=