On Sep 8, 2:36 pm, David Kirkby <david.kir...@onetel.net> wrote:
> I will be impossible to convince!!!
> I have no problem accepting the *compiler* needs -m64. That option
> tells the *compiler* to create 64-bit object files. But once the
> linker is asked to link the object files, it should be able to work
> out whether the executable to be created is 32-bit or 64-bit based on
> the type of object files it is being asked to link.

Well, I am amazed that you fail to refuse clear evidence. Run former
ECL's autoconf with CFLAGS=-m64 and LDFLAGS=. GCC is then used without
-m64 to link with libmpir and it fails to work with that libmpir you
built in 64 bits mode. Use CFLAGS=-m64 and LDFLAGS=-m64, and now GCC
gets also the -m64 flag because it is used as a linker and the
configuration works. Similar problems happened during ECL's build. I
really do not have a problem if you fail to admit that this happens.
ECL now inserts the -m64 flag whenever it invokes gcc for 64 bits
binaries -- compiling AND linking -- but you may face similar problems
with other libraries.

You also have to understand that -m64 passed to GCC may give more
information than the linker needs. For instance, GCC may have TWO
different runtime libraries, one for 32 bits and another one for 64
bits. If you do not tell GCC that you need 64-bits binaries, problems
will arise. So it is not only the linker that matters when considering
LDFLAGS.

Juanjo
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to