On Monday, October 3, 2016 at 8:56:27 AM UTC, François wrote: > > In the current state of sage starting from scratch with clang/clang++ > via > CC=clang CXX=clang++ make > will trigger the building of sage’s gcc (which is OK on OS X since > you still need gfortran). > The problem is that once you build sage’s gcc, there is a clause > in src/bin/sage-env to use sage’s gcc/g++/gfrotran if it is present > in SAGE_LOCAL/bin: > # Override CC, CPP, CXX, FC if the GCC spkg was installed. > if [ -x "$SAGE_LOCAL/bin/gcc" ]; then > CC=gcc > fi > if [ -x "$SAGE_LOCAL/bin/cpp" ]; then > CPP=cpp > fi > if [ -x "$SAGE_LOCAL/bin/g++" ]; then > CXX=g++ > fi > if [ -x "$SAGE_LOCAL/bin/gfortran" ]; then > FC=gfortran > fi > export CC CPP CXX FC > > So working on OS X I dirty patched sage-env: > @@ -511,15 +515,15 @@ if [ "$UNAME" = "Darwin" ]; then > fi > > # Override CC, CPP, CXX, FC if the GCC spkg was installed. > -if [ -x "$SAGE_LOCAL/bin/gcc" ]; then > - CC=gcc > -fi > -if [ -x "$SAGE_LOCAL/bin/cpp" ]; then > - CPP=cpp > -fi > -if [ -x "$SAGE_LOCAL/bin/g++" ]; then > - CXX=g++ > -fi > +#if [ -x "$SAGE_LOCAL/bin/gcc" ]; then > +# CC=gcc > +#fi > +#if [ -x "$SAGE_LOCAL/bin/cpp" ]; then > +# CPP=cpp > +#fi > +#if [ -x "$SAGE_LOCAL/bin/g++" ]; then > +# CXX=g++ > +#fi > if [ -x "$SAGE_LOCAL/bin/gfortran" ]; then > FC=gfortran > fi > > So with that patch on OS X and starting with > CC=clang CXX=clang++ make > gcc will be built but clang/clang++/gfortran will be used. >
Do you mean that when you build gfortran you will also build gcc? And how about Linux with clang(++) and gfortran installed systemwide? Would this patch still be needed? (or, would SAGE_INSTALL_GCC=no do?) > > Something a little bit less dirty should be done once > we are more advanced. > > But at the moment compiling sagelib seems to point to a variety > of problems from numpy to cython and probably other… > > François > > > On 3/10/2016, at 21:43, Dima Pasechnik <dim...@gmail.com <javascript:>> > wrote: > > > > What exactly should be set to start the Sage build using clang rather > than gcc? > > > > > > On Monday, October 3, 2016 at 6:32:45 AM UTC, François wrote: > > > > > On 3/10/2016, at 09:33, François Bissey <francoi...@canterbury.ac.nz> > wrote: > > > > > >> linbox > > > > > > No news from upstream at > > > https://github.com/linbox-team/linbox/issues/39 > > > contributions welome. > > > > Well as it turns out the problem is only in the interface with > > fplll which we are going to disable in the next fplll upgrade. > > Word from upstream is that this particular interface is not > > currently used by sage so it is all right to disable it. > > > > With fplll disabled in linbox all the standard packages are > > now successfully building and installing with clang. > > > > The next challenge is sagelib itself: > > [sagelib-7.4.beta6] [ 1/387] clang -fno-strict-aliasing > -I/Users/fbissey/build/sage/local/var/tmp/sage/build/python2-2.7.10.p2/include > > -DNDEBUG -g -fwrapv -O3 -Wall -Wno-unused > -I/Users/fbissey/build/sage/local/lib/python2.7/site-packages/cysignals > -I/Users/fbissey/build/sage/local/include > -I/Users/fbissey/build/sage/local/include/python2.7 > -I/Users/fbissey/build/sage/local/lib/python2.7/site-packages/numpy/core/include > > -I/Users/fbissey/build/sage/src -I/Users/fbissey/build/sage/src/sage/ext > -I/Users/fbissey/build/sage/src/build/cythonized > -I/Users/fbissey/build/sage/src/build/cythonized/sage/ext > -I/Users/fbissey/build/sage/local/include/python2.7 -c > /Users/fbissey/build/sage/src/build/cythonized/sage/finance/time_series.c > -o > build/temp.macosx-10.9-x86_64-2.7/Users/fbissey/build/sage/src/build/cythonized/sage/finance/time_series.o > > -fno-strict-aliasing > > [sagelib-7.4.beta6] In file included from > /Users/fbissey/build/sage/src/build/cythonized/sage/finance/time_series.c:317: > > > > [sagelib-7.4.beta6] In file included from > /Users/fbissey/build/sage/local/lib/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h:4: > > > > [sagelib-7.4.beta6] In file included from > /Users/fbissey/build/sage/local/lib/python2.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:18: > > > > [sagelib-7.4.beta6] In file included from > /Users/fbissey/build/sage/local/lib/python2.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1777: > > > > [sagelib-7.4.beta6] > /Users/fbissey/build/sage/local/lib/python2.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: > > warning: "Using deprecated NumPy API, disable it by " "#defining > NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-W#warnings] > > [sagelib-7.4.beta6] #warning "Using deprecated NumPy API, disable it by > " \ > > [sagelib-7.4.beta6] ^ > > [sagelib-7.4.beta6] > /Users/fbissey/build/sage/src/build/cythonized/sage/finance/time_series.c:15275:3: > > error: non-void function > '__pyx_pf_4sage_7finance_11time_series_10TimeSeries_106numpy' should return > a value [-Wreturn-type] > > [sagelib-7.4.beta6] import_array(); > > [sagelib-7.4.beta6] ^ > > [sagelib-7.4.beta6] > /Users/fbissey/build/sage/local/lib/python2.7/site-packages/numpy/core/include/numpy/__multiarray_api.h:1532:144: > > note: expanded from macro 'import_array' > > [sagelib-7.4.beta6] #define import_array() {if (_import_array() < 0) > {PyErr_Print(); PyErr_SetString(PyExc_ImportError, "numpy.core.multiarray > failed to import"); return NUMPY_IMPORT_ARRAY_RETVAL; } } > > [sagelib-7.4.beta6] > > ^ > > [sagelib-7.4.beta6] 1 warning and 1 error generated. > > > > François > > > > > > -- > > You received this message because you are subscribed to the Google > Groups "sage-devel" group. > > To unsubscribe from this group and stop receiving emails from it, send > an email to sage-devel+...@googlegroups.com <javascript:>. > > To post to this group, send email to sage-...@googlegroups.com > <javascript:>. > > Visit this group at https://groups.google.com/group/sage-devel. > > For more options, visit https://groups.google.com/d/optout. > > -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.