Unable to build sage with Python 2
I set export SAGE_CHECK="yes"
to run tests on the spkgs before running make -j5
. This gives me another build breaking error, despite using python 2 to build sage
Sage version: 8.3rc0 OS fedora 28 linux_86_x64
Last section from ppl-1.2.p1.log or see pastebin:
In file included from ../../src/Pointset_Powerset_defs.hh:1454,
from ../../src/algorithms.hh:28,
from ../../src/ppl_include_files.hh:18,
from ../../src/ppl_header.hh:38,
from ../../tests/ppl_test.hh:27,
from equals1.cc:25:
../../src/Pointset_Powerset_templates.hh: In instantiation of 'Parma_Polyhedra_Library::Pointset_Powerset<PSET>::Pointset_Powerset(const Parma_Polyhedra_Library::Pointset_Powerset<QH>&, Parma_Polyhedra_Library::Complexity_Class) [with QH = Parma_Polyhedra_Library::Box<Parma_Polyhedra_Library::Interval<__gmp_expr<__mpq_struct [1], __mpq_struct [1]>, Parma_Polyhedra_Library::Interval_Info_Bitset<unsigned int, Parma_Polyhedra_Library::Test::Rational_Real_Open_Interval_Info_Policy> > >; PSET = Parma_Polyhedra_Library::NNC_Polyhedron]':
../../src/Pointset_Powerset_inlines.hh:262:43: required from 'bool Parma_Polyhedra_Library::Pointset_Powerset<PSET>::geometrically_equals(const
Parma_Polyhedra_Library::Pointset_Powerset<PSET>&) const [with PSET =
Parma_Polyhedra_Library::Box<Parma_Polyhedra_Library::Interval<__gmp_expr<__mpq_struct [1], __mpq_struct [1]>, Parma_Polyhedra_Library::Interval_Info_Bitset<unsigned int, Parma_Polyhedra_Library::Test::Rational_Real_Open_Interval_Info_Policy> > >]'
equals1.cc:44:50: required from here
../../src/Pointset_Powerset_templates.hh:66:29: internal compiler error: in type_dependent_expression_p, at cp/pt.c:25100
y_end = y.end(); i != y_end; ++i) {
~~^~~~~~~~
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://bugzilla.redhat.com/bugzilla> for instructions.
Preprocessed source stored into /tmp/ccb8H3zx.out file, please attach this to your bugreport.
make[7]: *** [Makefile:1245: equals1.o] Error 1
************************************************************************
Error testing package ppl-1.2.p1
********
Which OS ? which sage version ? which environment variables ? pointer to the whole log ?
Linux federa 28. The only environment variables I set are
SAGE_CHECK
andMAKE
. I will have put the log file on pastebin.To skip testing for
ppl
, setSAGE_CHECK_PACKAGES='!python2,!python3,!ppl'
. (The Python 2 and Python 3 packages are known to fail their tests.) It is worth knowing which packages build (should be all of them), which pass their test suites (looks likeppl
fails on your system, and it would also be good to know the version ofgcc
on your machine), and whether Sage's doctests pass (runmake ptestlong
to run them all).@John Palmieri
gcc (GCC) 8.1.1 20180502 (Red Hat 8.1.1-1)
. I read on the github page that python test suite is already disabled, quote:make
again?make ptestlong
before runningmake -j5
or after it?make ptest
andmake ptestlong
? Doesn't the latter test external dependencies like maple etcYou should be able to run
make
again and it should pick up where it left off.make ptestlong
first builds Sage (if necessary) and then runs its tests, so you can do that (actuallymake -j5 ptestlong
) instead ofmake -j5
.Using
SAGE_CHECK=yes
at all is optional; the hope is that Sage's use of each component package is tested in Sage's own test suite. In the case ofppl
, it looks like some compiler incompatibility: gcc 8 is pretty new. So such a test failure is not necessarily a catastrophe.You run the basic tests with
make ptest
; some other tests take a longer time to run, and they are only run withmake ptestlong
. Neither one tests optional external packages like maple unless you explicitly ask them too.To add to my first bullet point, shouldn't you run
make distclean
before runningmake
again ormake -j5 ptestlong
especially when a build fails?If the build fails because of the value of
SAGE_CHECK
, for example, there is no need to domake distclean
: that will only delete parts which successfully built. (If a component fails to build, it should not get installed, and it should therefore not pollute the build.) So you should just be able to runmake
again, after modifyingSAGE_CHECK
or other relevant variables.Well,
make -j5 ptestlong
didn't work, it caused an error unless I ranmake distclean
first and nowmake -j5 ptestlong
is saying I don't have a maths library.Edit: Your method would have worked (The clue why it didn't work is below.)
I was setting the environment variable
export MAKE="make -j5 ptestlong"
thinking that by runningmake
it would execute this command. I was wrong because the message above shows that it doesn't setmake
. This works only when theptestlong
command is excluded which raises the suspicion that MAKE takes only one command. The way to do it is to run the commandmake -j5 ptestlong
directly in the command line.The standard thing to do is
export MAKE="make -j5"
and then runmake ptestlong
.Yes that's how I should have done it.
make -j5 ptestlong
has been running for nearly 5 hours now. Its been stuck on the part below for almost an hour now:There is no prompt but the cursor is still blinking. My system still sounds like its on full throttle and
ps -ef | grep -i make
shows that this process is still running. Is this normal or is something wrong?