[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gcl-devel] Re: Configure and Mingw32 BFD and ANSI

From: Camm Maguire
Subject: [Gcl-devel] Re: Configure and Mingw32 BFD and ANSI
Date: 11 Jul 2002 12:55:14 -0400


"Mike Thomas" <address@hidden> writes:

> Camm:
> In answer to your questions of about a fortnight ago, unfortunately BFD fasl
> doesn't work on Win32, complaining of corrupted memory.

This is disheartening.  Can you please give me the specific command
and error output?  binutils version?

> Neither does the ANSI branch of the build system, which dies during loading
> of "braid.o".  I have previously got around this problem by loading PCL
> rather than compiling, but it is, never-the-less, not good.

Again, error output here?

> I will try and trace these problems with gdb which I have recently managed
> to understand a little better.  Unfortunately I don't understand the

Thanks!  This is the way to go.

> internals of GCL at all well.

Me either :-).  But progress, albeit slow, is occurring ...

> Luckily, Mingw32 "saved_gcl" built the traditional way seems to work well
> and is still able to build Maxima!

I've tried to keep the old build path intact as an option until the
new stuff works everywhere the old did.

> Is it really necessary for libbfd and libiberty to be detected in such a
> roundabout way - given that configure "foo.c" actually links using
> "-lbfd -liberty" (roughly line 311 in "configure.in")?  Surely the configure
> script won't work unless those libraries are in the right place to start
> with, in which case you might as well just set "BFDLIB=-lbfd" and
> "IBRLIB=-liberty".

The problem is that we link libbfd and libiberty statically, but we
don't want to link in *all* libs statically.  Only way to do this is
to put the full .a pathname on the link command line.  

In principle, I'd eventually like to link bfd dynamically.  The
problem is that bfd is still too much of a moving target.  Most libs
have the policy that changes breaking backward compatibility are
marked by a change in the *soname* or the lib, i.e. the first digit in
the version number.  bfd is using the whole version number as the
soname, which means that one *must* have the identical lib at runtime
as at compile time, making packaging for a distribution too
difficult.  And indeed, I've verified changes breaking compatibility
in two recent versions.  I need to write the bfd people about this at
some point.

> In any case, I have set "configure-new.ac" to recognise a Mingw environment
> and do precisely that, because the roundabout method just generates a
> gigantic library path with colons which choke the configure sed substitution
> script.

I agree the current method is quite ugly.  Open to more portable
suggestions.  Perhaps you could post the output of gcc -t -static
foo.c -o foo -lbfd -libierty?

Take care,

> Cheers
> Mike Thomas.

Camm Maguire                                            address@hidden
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah

reply via email to

[Prev in Thread] Current Thread [Next in Thread]