"Mark J. Roberts" <mjr at statesmean.com> writes:

> The deed has been done
> The battle was won
> It wasn't much fun
> The GCJ-node will run!

This is really fucking cool (although your poetry leaves something to
be desired...).

> On a less poetical note, I have a real question about libraries and
> linking. Currently I compile Fred to a shared library, like
> 
> libfred.so:
>       gcj --encoding=8859_1 -shared -o $@ $(SOURCES)
> 
> However, the library produced depends upon some other Java libraries, and
> of course my version of glibc. (I think.) Thus, I'd like to statically
> link the required libraries into libfred.so, so anyone can download and
> use it. How?

You can either list the required libraries on the command line by name
(ending in .a rather than .so to choose the static versions), or use
the "-static" command-line option (confusingly, "-static" is not the
opposite of "-shared" -- it means "link preferentially with static
libraries rather than shared libraries").

This is all in the gcc documentation, of course, but it takes like a
week and a half to RTFM, and I'd like to use the GCJ node before
then. :)

I would encourage you not to statically link against your version of
glibc, as it could create problems for some users.  glibc is a highly
system-defendant library.  Unless you *know* that users aren't going
to have an adequate libc, avoid a static link to it.  IMHO, it's
better to say "oh, and you'll need to upgrade your libc" than to hand
people a binary that includes a libc.

-S

_______________________________________________
Devl mailing list
Devl at freenetproject.org
http://www.uprizer.com/mailman/listinfo/devl

Reply via email to