#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.