Tim,
On 2004 Aug 4 , at 22.20, Tim Jenness wrote:
> For those of you who've been listening to this monologue I *think*
> I've worked out what is going wrong with OSX shared libraries (now that
> the initial problem of libtool not even trying to build them has been
> fixed).
This sounds extremely plausible.
Most aggravatingly, this is probably what all those error messages have
been saying all along, if only we had been able to read them properly.
I feel like shouting at myself `read the blasted error message', and
shouting back `but I don't understand the blasted error message, so
I've decided to pretend it doesn't exist'. It's at times like this I
get an insight into how other (blasted) users feel about computer error
messages: `it didn't work', `but the error message in the centre of
your screen told you why it didn't work', `what message?'
> The fix is very simple. Get libtool to use the -nostdlib option when
> using g77. Note here that I don't say "when using OSX". The reason this
> works on linux is that Redhat ships g77 with libg2c.so (shared) whereas
> fink ships g77 with libg2c.a (static). Presumably talking to the fink
> maintainer would also help... Funnily enough the CXX support does use
> this
> flag...
This analysis sounds like a good start for the bug-libtool list
<http://lists.gnu.org/mailman/listinfo/>. Though it sounds interesting
and worth stressing that this is not an OSX-specific issue (just one
that turns into a problem on OSX), I agree that it does _sound_ as if
the fink folk (and the OpenDarwin folk) could help by shipping their
g77 with dynamic libg2c. It might therefore be a good idea to broach
this on those lists as well, or at least wonder aloud about that to the
libtool folk, who might have some arcane reason for having the
-nostdlib deliberately omitted for g77.
If you are starting a discussion with the Fink/OpenDarwin folk, it
might be worth also suggesting that the restFP/saveFP problems are ones
they could do something about. I started a thread about this on
[log in to unmask]
<http://lists.apple.com/mhonarc/fortran-dev/msg00768.html>, which got a
couple of informative responses, probably the only actual sense on this
topic on the entire web, essentially suggesting that there was a
version mismatch between the OpenDarwin/Fink GCC and the system GCC: in
my summary, I said ``First would be if OpenDarwin or Fink g77 were
distributed based on a GCC version matched with the system one for a
particular OSX version; but even that might not work since (is this
correct?) the system GCC is an Apple variant of GNU GCC'', and no-one
disagreed with me
> I have no idea where to patch libtool to get this working mind. (apart
> from simply patching the installed version).
I haven't been inside libtool, but thirdparty/fsf/libtool/libtool.m4
looks a likely target to start hacking at, since that looks like where
the monster-platform-switch lives, and there's a number of template
commands there which have -nostdlib in them already.
From my (limited) experience on automake-patches and bug-automake, a
few-line patch offered in the spirit of ``I don't know if this is right
but it works for me'' does seem to go down well.
Hero! See you,
Norman
--
----------------------------------------------------------------------
Norman Gray : Physics & Astronomy, Glasgow University, UK
http://www.astro.gla.ac.uk/users/norman/ : www.starlink.ac.uk
|