#20563: Cannot compile SnapPy for sage because sage's gcc is incompatible with
system's as
-------------------------------------+-------------------------------------
       Reporter:  mgoerner           |        Owner:
           Type:  defect             |       Status:  new
       Priority:  major              |    Milestone:  sage-7.2
      Component:  porting            |   Resolution:
       Keywords:                     |    Merged in:
        Authors:                     |    Reviewers:
Report Upstream:  N/A                |  Work issues:
         Branch:                     |       Commit:
  u/mgoerner/binutils2.24            |  afbe56b320454d496e82bf62d1a8efda15aededc
   Dependencies:                     |     Stopgaps:
-------------------------------------+-------------------------------------

Comment (by mgoerner):

 Replying to [comment:12 jdemeyer]:
 > Replying to [comment:11 vbraun]:
 > > Not requiring xcode would be nice, though we might also depend on
 system headers (don't know).
 >
 > That's the problem: to actually compile C code, you need a lot more than
 just GCC. You need:
 > - header files like `stdio.h`
 > - standard libraries like `libc`

 I think those come with the OS and don't require xcode.

 > - an assembler

 If you look at the binutils source code, it contains headers nominally
 indicating that it supports Mac's native Mach-O files, but the configure
 file explicitly disables building the GNU assembler for Mac OS X. I
 removed that and compiled a GNU assembler for Mac, but the compilation
 failed because gcc on Mac OS X is using some Mach-O feature that xcode's
 as supports but not GNU's as.
 xcode's as is from cctools http://opensource.apple.com//source/cctools/ or
 llvm's own assembler (depending on your xcode version).

 > - a linker

 I think binutil's ld supports Mach-O even worse than binutil's as.

 >
 > all these are shipped with XCode but not with GCC. I don't know if it's
 even possible to use a complete GNU toolchain on OS X.

 The llvm project is developing its own linker, so clang/llvm will
 hopefully be a complete cross-platform toolchain in a couple of years.
 There is also llvm-gcc, a gcc compiling to llvm's IR so that the rest of
 the llvm toolchain can be used.

 I have my hopes that clang/llvm will hopefully one day replace the clunky
 GNU toolchain.

--
Ticket URL: <http://trac.sagemath.org/ticket/20563#comment:13>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to