Hi Adam and others,
I'm a long-time Gnustep user (from the 90's) who has worked a bit with
Jainab on her attempted static build, so perhaps I can fill in a bit
more
detail.
The reason she is seeking to build statically is so that we can
distribute a
compute job over a heterogenous linux cluster. We need to be able
to send
our binary out to arbitrary machines (that will not have Gnustep
installed,
since we do not control them), and have it run, using Condor.
Now, I went back to a 2-year old copy of Gnustep and Ubuntu, and our
build
worked fine statically, i.e. first building Gnustep as static, then
building
our program statically (but there are other compatibility problems
due to
such an old set of libraries).
Then we tried multiple scenarios to get it building under Ubuntu 8.1
with
the latest Gnustep from SVN, and it fails in the gnustep-gui build
(gnustep-base works fine).
I tracked down the failure that Jainab mentioned to link to the tiff
library. I was able to get this to compile statically through manual
intervention, but only by rearranging the listing of the libraries
at the
linker command (or, by listing libtiff twice). It seems that gcc
4.2 is
exhibiting weirdness regarding linking statically, and this doesn't
necessarily seem to be a Gnustep issue, though it could be. Our
next step
is to try to revert to gcc 3.3 or something, to see if this works.
So that brings me to your post. Can you clarify why you think that
the
latest Gnustep is not capable of being built statically? This is
actually a
very critical issue for Gnustep to get used by people. Not only for
our
attempts at distributing compute jobs on a cluster, but also for our
ability
to distribute binaries to people "that just work" (e.g., especially on
Windows), without complex Gnustep installs. If there are particular
things
that you think are "broken" for static builds, perhaps we will
attempt to
fix them, but it would help to know what they are.
Thanks again,
Morgan
BTW - Jainab's response sounds like she is being sarcastic in saying
"Thanks
a LOT!," but she is not a native speaker and did not realize that
sounds
sarcastic.
Adam Fedor-5 wrote:
I really doubt you'll be able to compile gnustep as a static build.
The was a time long ago when that might have been possible. We still
even have a flag in gnustep-make to build the backend as a library
rather than a bundle. I'm not sure that works anymore and that
certainly isn't the only problem you'll have.
On Nov 25, 2008, at 3:00 PM, dhusubali wrote:
Hello,
I am trying a static build of GNUstep libraries in ubuntu. I was
successful
until GNUstep/core/base library. When trying to compile gui library
I got
problem while linking. Somehow gui does not recognize libtiff
library.
However, I see that both libtiff.a and libtiff.so.4.2.1 are in usr/
lib/.
Any help would be appreciated. Thanks in advance.