#17484: Use distutils to compile libcsage
-------------------------------------+-------------------------------------
       Reporter:  jdemeyer           |        Owner:
           Type:  enhancement        |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-6.5
      Component:  build              |   Resolution:
       Keywords:                     |    Merged in:
        Authors:  Jeroen Demeyer     |    Reviewers:  Volker Braun
Report Upstream:  N/A                |  Work issues:
         Branch:                     |       Commit:
  u/jdemeyer/ticket/17484            |  c7ef0090892d07ecdd759efca3400438b73b5bec
   Dependencies:                     |     Stopgaps:
-------------------------------------+-------------------------------------

Comment (by fbissey):

 Ok this is how libcsage is being built on OS X, note that distutils
 doesn't think it is any different from the other extensions and there lie
 our problem
 {{{
 building 'libcsage' extension
 Executing 1 command (using 1 thread)
 creating build/c_lib/temp.macosx-10.9-x86_64-2.7/c_lib
 creating build/c_lib/temp.macosx-10.9-x86_64-2.7/c_lib/src
 gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall
 -I/Users/fbissey/build/sage-6.5.beta3/local/include
 -I/Users/fbissey/build/sage-6.5.beta3/src
 -I/Users/fbissey/build/sage-6.5.beta3/src/c_lib/include
 -I/Users/fbissey/build/sage-6.5.beta3/src/sage/ext
 -I/Users/fbissey/build/sage-6.5.beta3/local/include/python2.7 -c
 c_lib/src/convert.c -o
 build/c_lib/temp.macosx-10.9-x86_64-2.7/c_lib/src/convert.o -fno-strict-
 aliasing -w
 gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall
 -I/Users/fbissey/build/sage-6.5.beta3/local/include
 -I/Users/fbissey/build/sage-6.5.beta3/src
 -I/Users/fbissey/build/sage-6.5.beta3/src/c_lib/include
 -I/Users/fbissey/build/sage-6.5.beta3/src/sage/ext
 -I/Users/fbissey/build/sage-6.5.beta3/local/include/python2.7 -c
 c_lib/src/gmp_globals.c -o
 build/c_lib/temp.macosx-10.9-x86_64-2.7/c_lib/src/gmp_globals.o -fno-
 strict-aliasing -w
 gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall
 -I/Users/fbissey/build/sage-6.5.beta3/local/include
 -I/Users/fbissey/build/sage-6.5.beta3/src
 -I/Users/fbissey/build/sage-6.5.beta3/src/c_lib/include
 -I/Users/fbissey/build/sage-6.5.beta3/src/sage/ext
 -I/Users/fbissey/build/sage-6.5.beta3/local/include/python2.7 -c
 c_lib/src/interrupt.c -o
 build/c_lib/temp.macosx-10.9-x86_64-2.7/c_lib/src/interrupt.o -fno-strict-
 aliasing -w
 gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall
 -I/Users/fbissey/build/sage-6.5.beta3/local/include
 -I/Users/fbissey/build/sage-6.5.beta3/src
 -I/Users/fbissey/build/sage-6.5.beta3/src/c_lib/include
 -I/Users/fbissey/build/sage-6.5.beta3/src/sage/ext
 -I/Users/fbissey/build/sage-6.5.beta3/local/include/python2.7 -c
 c_lib/src/memory.c -o
 build/c_lib/temp.macosx-10.9-x86_64-2.7/c_lib/src/memory.o -fno-strict-
 aliasing -w
 gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall
 -I/Users/fbissey/build/sage-6.5.beta3/local/include
 -I/Users/fbissey/build/sage-6.5.beta3/src
 -I/Users/fbissey/build/sage-6.5.beta3/src/c_lib/include
 -I/Users/fbissey/build/sage-6.5.beta3/src/sage/ext
 -I/Users/fbissey/build/sage-6.5.beta3/local/include/python2.7 -c
 c_lib/src/mpn_pylong.c -o
 build/c_lib/temp.macosx-10.9-x86_64-2.7/c_lib/src/mpn_pylong.o -fno-
 strict-aliasing -w
 gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall
 -I/Users/fbissey/build/sage-6.5.beta3/local/include
 -I/Users/fbissey/build/sage-6.5.beta3/src
 -I/Users/fbissey/build/sage-6.5.beta3/src/c_lib/include
 -I/Users/fbissey/build/sage-6.5.beta3/src/sage/ext
 -I/Users/fbissey/build/sage-6.5.beta3/local/include/python2.7 -c
 c_lib/src/mpz_longlong.c -o
 build/c_lib/temp.macosx-10.9-x86_64-2.7/c_lib/src/mpz_longlong.o -fno-
 strict-aliasing -w
 gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall
 -I/Users/fbissey/build/sage-6.5.beta3/local/include
 -I/Users/fbissey/build/sage-6.5.beta3/src
 -I/Users/fbissey/build/sage-6.5.beta3/src/c_lib/include
 -I/Users/fbissey/build/sage-6.5.beta3/src/sage/ext
 -I/Users/fbissey/build/sage-6.5.beta3/local/include/python2.7 -c
 c_lib/src/mpz_pylong.c -o
 build/c_lib/temp.macosx-10.9-x86_64-2.7/c_lib/src/mpz_pylong.o -fno-
 strict-aliasing -w
 gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall
 -I/Users/fbissey/build/sage-6.5.beta3/local/include
 -I/Users/fbissey/build/sage-6.5.beta3/src
 -I/Users/fbissey/build/sage-6.5.beta3/src/c_lib/include
 -I/Users/fbissey/build/sage-6.5.beta3/src/sage/ext
 -I/Users/fbissey/build/sage-6.5.beta3/local/include/python2.7 -c
 c_lib/src/stdsage.c -o
 build/c_lib/temp.macosx-10.9-x86_64-2.7/c_lib/src/stdsage.o -fno-strict-
 aliasing -w
 gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall
 -I/Users/fbissey/build/sage-6.5.beta3/local/include
 -I/Users/fbissey/build/sage-6.5.beta3/src
 -I/Users/fbissey/build/sage-6.5.beta3/src/c_lib/include
 -I/Users/fbissey/build/sage-6.5.beta3/src/sage/ext
 -I/Users/fbissey/build/sage-6.5.beta3/local/include/python2.7 -c
 c_lib/src/ntl_wrap.cpp -o
 build/c_lib/temp.macosx-10.9-x86_64-2.7/c_lib/src/ntl_wrap.o -fno-strict-
 aliasing -w
 gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall
 -I/Users/fbissey/build/sage-6.5.beta3/local/include
 -I/Users/fbissey/build/sage-6.5.beta3/src
 -I/Users/fbissey/build/sage-6.5.beta3/src/c_lib/include
 -I/Users/fbissey/build/sage-6.5.beta3/src/sage/ext
 -I/Users/fbissey/build/sage-6.5.beta3/local/include/python2.7 -c
 c_lib/src/ZZ_pylong.cpp -o
 build/c_lib/temp.macosx-10.9-x86_64-2.7/c_lib/src/ZZ_pylong.o -fno-strict-
 aliasing -w
 g++ -bundle -undefined dynamic_lookup
 -L/Users/fbissey/build/sage-6.5.beta3/local/lib
 build/c_lib/temp.macosx-10.9-x86_64-2.7/c_lib/src/convert.o
 build/c_lib/temp.macosx-10.9-x86_64-2.7/c_lib/src/gmp_globals.o
 build/c_lib/temp.macosx-10.9-x86_64-2.7/c_lib/src/interrupt.o
 build/c_lib/temp.macosx-10.9-x86_64-2.7/c_lib/src/memory.o
 build/c_lib/temp.macosx-10.9-x86_64-2.7/c_lib/src/mpn_pylong.o
 build/c_lib/temp.macosx-10.9-x86_64-2.7/c_lib/src/mpz_longlong.o
 build/c_lib/temp.macosx-10.9-x86_64-2.7/c_lib/src/mpz_pylong.o
 build/c_lib/temp.macosx-10.9-x86_64-2.7/c_lib/src/stdsage.o
 build/c_lib/temp.macosx-10.9-x86_64-2.7/c_lib/src/ntl_wrap.o
 build/c_lib/temp.macosx-10.9-x86_64-2.7/c_lib/src/ZZ_pylong.o
 -L/Users/fbissey/build/sage-6.5.beta3/local/lib
 -L/Users/fbissey/build/sage-6.5.beta3/local/lib -lgmp -lntl -lpari -o
 build/c_lib/lib.macosx-10.9-x86_64-2.7/libcsage.so
 Time to execute 1 command: 3.42 seconds.
 Total time spent compiling C/C++ extensions: 3.42 seconds.
 }}}
 I also note that two .cpp files are compiled with gcc rather than g++
 while the final linking is done by g++. The "-bundle" added for python
 extensions is our problem, we could try to over-ride it by adding "-dylib"
 on OS X.

--
Ticket URL: <http://trac.sagemath.org/ticket/17484#comment:21>
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 http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to