It seems to : while rebuilding from scratch, linbox compilation just completed successfully. More after ptestlong… Le samedi 18 décembre 2021 à 19:10:25 UTC+1, Emmanuel Charpentier a écrit :
> > > Le samedi 18 décembre 2021 à 19:01:43 UTC+1, [email protected] a > écrit : > >> This is https://trac.sagemath.org/ticket/33042 > > > Thanks a lot ! > > Is there a workaround ? I’m thinking of a way to ./configure Sage to > force the use of “acceptable” versions. Would --with-system-givaro > suffice ? > > > On Saturday, December 18, 2021 at 6:11:58 AM UTC-8 [email protected] >> wrote: >> >>> No such bloody luck. From the linbox log : >>> >>> libtool: compile: g++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I../.. -I../.. >>> -fopenmp -fabi-version=6 -O2 -Wall -g -DNDEBUG -U_LB_DEBUG >>> -DDISABLE_COMMENTATOR -g -O2 -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 >>> -mavx -mavx2 -mfma -c diophantine-solver.C -fPIC -DPIC -o >>> .libs/diophantine-solver.o >>> In file included from ../../linbox/solutions/methods.h:25, >>> from ../../linbox/algorithms/rational-solver.h:41, >>> from ../../linbox/algorithms/diophantine-solver.h:29, >>> from diophantine-solver.C:26: >>> ../../linbox/field/field-traits.h:88:12: error: redefinition of 'struct >>> LinBox::ClassifyRing<Givaro::ZRing<Givaro::Integer> >' >>> 88 | struct ClassifyRing<Givaro::IntegerDom> { >>> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>> ../../linbox/field/field-traits.h:84:12: note: previous definition of >>> 'struct LinBox::ClassifyRing<Givaro::ZRing<Givaro::Integer> >' >>> 84 | struct ClassifyRing<Givaro::ZRing<Givaro::Integer>> { >>> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>> In file included from ../../linbox/matrix/densematrix/blas-matrix.h:43, >>> from ../../linbox/matrix/dense-matrix.h:79, >>> from ../../linbox/solutions/methods.h:26, >>> from ../../linbox/algorithms/rational-solver.h:41, >>> from ../../linbox/algorithms/diophantine-solver.h:29, >>> from diophantine-solver.C:26: >>> ../../linbox/field/hom.h:274:42: error: invalid use of incomplete type >>> 'LinBox::Hom<Givaro::QField<Givaro::Rational>, _Target>::Source' {aka >>> 'class Givaro::QField<Givaro::Rational>'} >>> 274 | typedef typename Source::Element SrcElt; >>> | ^~~~~~~ >>> In file included from ../../linbox/field/field-traits.h:28, >>> from ../../linbox/solutions/methods.h:25, >>> from ../../linbox/algorithms/rational-solver.h:41, >>> from ../../linbox/algorithms/diophantine-solver.h:29, >>> from diophantine-solver.C:26: >>> /usr/include/givaro/givrational.h:49:11: note: declaration of >>> 'LinBox::Hom<Givaro::QField<Givaro::Rational>, _Target>::Source' {aka >>> 'class Givaro::QField<Givaro::Rational>'} >>> 49 | class QField; >>> | ^~~~~~ >>> In file included from ../../linbox/matrix/densematrix/blas-matrix.h:43, >>> from ../../linbox/matrix/dense-matrix.h:79, >>> from ../../linbox/solutions/methods.h:26, >>> from ../../linbox/algorithms/rational-solver.h:41, >>> from ../../linbox/algorithms/diophantine-solver.h:29, >>> from diophantine-solver.C:26: >>> ../../linbox/field/hom.h:305:24: error: field '_source' has incomplete type >>> 'LinBox::Hom<Givaro::QField<Givaro::Rational>, _Target>::Source' {aka >>> 'Givaro::QField<Givaro::Rational>'} >>> 305 | Source _source; >>> | ^~~~~~~ >>> In file included from ../../linbox/field/field-traits.h:28, >>> from ../../linbox/solutions/methods.h:25, >>> from ../../linbox/algorithms/rational-solver.h:41, >>> from ../../linbox/algorithms/diophantine-solver.h:29, >>> from diophantine-solver.C:26: >>> /usr/include/givaro/givrational.h:49:11: note: declaration of >>> 'LinBox::Hom<Givaro::QField<Givaro::Rational>, _Target>::Source' {aka >>> 'class Givaro::QField<Givaro::Rational>'} >>> 49 | class QField; >>> | ^~~~~~ >>> In file included from ../../linbox/matrix/densematrix/blas-matrix.h:43, >>> from ../../linbox/matrix/dense-matrix.h:79, >>> from ../../linbox/solutions/methods.h:26, >>> from ../../linbox/algorithms/rational-solver.h:41, >>> from ../../linbox/algorithms/diophantine-solver.h:29, >>> from diophantine-solver.C:26: >>> ../../linbox/field/hom.h: In member function >>> 'LinBox::Hom<Givaro::QField<Givaro::Rational>, _Target>::Elt& >>> LinBox::Hom<Givaro::QField<Givaro::Rational>, >>> _Target>::image(LinBox::Hom<Givaro::QField<Givaro::Rational>, >>> _Target>::Elt&, const SrcElt&)': >>> ../../linbox/field/hom.h:281:45: error: request for member 'deno' in 's', >>> which is of non-class type 'const SrcElt' {aka 'const int'} >>> 281 | if (_source.isOne(s.deno())) { >>> | ^~~~ >>> ../../linbox/field/hom.h:282:57: error: request for member 'nume' in 's', >>> which is of non-class type 'const SrcElt' {aka 'const int'} >>> 282 | return _target.init(t,s.nume()); >>> | ^~~~ >>> ../../linbox/field/hom.h:284:50: error: request for member 'nume' in 's', >>> which is of non-class type 'const SrcElt' {aka 'const int'} >>> 284 | else if (_source.isOne(s.nume())) { >>> | ^~~~ >>> ../../linbox/field/hom.h:285:50: error: request for member 'deno' in 's', >>> which is of non-class type 'const SrcElt' {aka 'const int'} >>> 285 | _target.init(t,s.deno()); >>> | ^~~~ >>> ../../linbox/field/hom.h:289:55: error: request for member 'deno' in 's', >>> which is of non-class type 'const SrcElt' {aka 'const int'} >>> 289 | _target. init (tmp, s.deno()); >>> | ^~~~ >>> ../../linbox/field/hom.h:290:53: error: request for member 'nume' in 's', >>> which is of non-class type 'const SrcElt' {aka 'const int'} >>> 290 | _target. init (t, s.nume()); >>> | ^~~~ >>> ../../linbox/field/hom.h: In member function >>> 'LinBox::Hom<Givaro::QField<Givaro::Rational>, _Target>::SrcElt& >>> LinBox::Hom<Givaro::QField<Givaro::Rational>, >>> _Target>::preimage(LinBox::Hom<Givaro::QField<Givaro::Rational>, >>> _Target>::SrcElt&, const Elt&)': >>> ../../linbox/field/hom.h:296:45: error: request for member 'nume' in 's', >>> which is of non-class type 'LinBox::Hom<Givaro::QField<Givaro::Rational>, >>> _Target>::SrcElt' {aka 'int'} >>> 296 | _target. convert (s.nume(), t); >>> | ^~~~ >>> ../../linbox/field/hom.h:297:45: error: request for member 'nume' in 's', >>> which is of non-class type 'LinBox::Hom<Givaro::QField<Givaro::Rational>, >>> _Target>::SrcElt' {aka 'int'} >>> 297 | _source. init (s, s.nume()); >>> | ^~~~ >>> ../../linbox/field/hom.h: At global scope: >>> ../../linbox/field/hom.h:315:33: error: invalid use of incomplete type >>> 'LinBox::Hom<Givaro::QField<Givaro::Rational>, >>> Givaro::QField<Givaro::Rational> >::Domain' {aka 'class >>> Givaro::QField<Givaro::Rational>'} >>> 315 | typedef Domain::Element Elt; >>> | ^~~~~~~ >>> In file included from ../../linbox/field/field-traits.h:28, >>> from ../../linbox/solutions/methods.h:25, >>> from ../../linbox/algorithms/rational-solver.h:41, >>> from ../../linbox/algorithms/diophantine-solver.h:29, >>> from diophantine-solver.C:26: >>> /usr/include/givaro/givrational.h:49:11: note: declaration of >>> 'LinBox::Hom<Givaro::QField<Givaro::Rational>, >>> Givaro::QField<Givaro::Rational> >::Domain' {aka 'class >>> Givaro::QField<Givaro::Rational>'} >>> 49 | class QField; >>> | ^~~~~~ >>> In file included from ../../linbox/matrix/densematrix/blas-matrix.h:43, >>> from ../../linbox/matrix/dense-matrix.h:79, >>> from ../../linbox/solutions/methods.h:26, >>> from ../../linbox/algorithms/rational-solver.h:41, >>> from ../../linbox/algorithms/diophantine-solver.h:29, >>> from diophantine-solver.C:26: >>> ../../linbox/field/hom.h:318:17: error: 'Elt' does not name a type >>> 318 | Elt& image(Elt& t, const Elt& s) const { return >>> t=s; } >>> | ^~~ >>> ../../linbox/field/hom.h:320:17: error: 'Elt' does not name a type >>> 320 | Elt& preimage(Elt& s, const Elt& t) const { return >>> s=t; } >>> | ^~~ >>> In file included from ../../linbox/algorithms/rational-reconstruction.h:40, >>> from ../../linbox/algorithms/rational-solver.inl:38, >>> from ../../linbox/algorithms/rational-solver.h:1050, >>> from ../../linbox/algorithms/diophantine-solver.h:29, >>> from diophantine-solver.C:26: >>> ../../linbox/algorithms/rational-reconstruction-base.h: In member function >>> 'bool LinBox::RReconstructionBase<Givaro::ZRing<Givaro::Integer> >>> >::reconstructRational(LinBox::RReconstructionBase<Givaro::ZRing<Givaro::Integer> >>> >::Element&, LinBox::RReconstructionBase<Givaro::ZRing<Givaro::Integer> >>> >::Element&, const Element&, const Element&)': >>> ../../linbox/algorithms/rational-reconstruction-base.h:337:41: error: >>> 'LinBox::RReconstructionBase<Givaro::ZRing<Givaro::Integer> >::Ring' {aka >>> 'class Givaro::ZRing<Givaro::Integer>'} has no member named >>> 'reconstructRational' >>> 337 | return >>> _intRing.reconstructRational(a,b,x,m,a_bound,a_bound); >>> | ^~~~~~~~~~~~~~~~~~~ >>> ../../linbox/algorithms/rational-reconstruction-base.h: In member function >>> 'bool LinBox::RReconstructionBase<Givaro::ZRing<Givaro::Integer> >>> >::reconstructRational(LinBox::RReconstructionBase<Givaro::ZRing<Givaro::Integer> >>> >::Element&, LinBox::RReconstructionBase<Givaro::ZRing<Givaro::Integer> >>> >::Element&, const Element&, const Element&, const Element&)': >>> ../../linbox/algorithms/rational-reconstruction-base.h:342:34: error: >>> 'LinBox::RReconstructionBase<Givaro::ZRing<Givaro::Integer> >::Ring' {aka >>> 'class Givaro::ZRing<Givaro::Integer>'} has no member named >>> 'reconstructRational' >>> 342 | >>> _intRing.reconstructRational(a,b,x,m,a_bound); >>> | ^~~~~~~~~~~~~~~~~~~ >>> make[9]: *** [Makefile:685: diophantine-solver.lo] Error 1 >>> >>> Still stuck… >>> >>> Le samedi 18 décembre 2021 à 13:27:00 UTC+1, [email protected] >>> a écrit : >>> >>>> I had this happen before. It's a bug a failed to report, but I suppose >>>> with an easy fix (at least it was easy for me). I'm not exactly sure how I >>>> fixed it. Something appears to be broken with the build chain. >>>> >>>> Can you touch `src/sage/libs/flint/*` and recompile this part and see >>>> if this fixes your issue? >>>> >>>> I had this problem when working on >>>> https://trac.sagemath.org/ticket/32211. And I believe I fixed it by >>>> touching the correct files indicated at startup and running `sage -b`. >>>> >>>> Jonathan >>>> On 18.12.21 13:17, Emmanuel Charpentier wrote: >>>> >>>> On Debian testing running on core i7 + 16 GB RAM, an attempt at >>>> upgrading Sage 9.5.beta7 compiled from a git tree to 9.5.beta8 initially >>>> succeeded ; however, after a routine upgrade of Testing, I saw Sage >>>> crashing at startup. An attempt to rebuild the Sage library failed, and >>>> led >>>> me to restort to "make distclean && make". This failed totally :see this >>>> report <https://groups.google.com/g/sage-support/c/Vv7quhmFEao> on >>>> sage-support. >>>> >>>> Attached : >>>> the initial crash report after Debian upgrade ; >>>> the installation log after make-distclean ; >>>> the compilation log of linbox, pointed to by the error messagesof >>>> install.log. >>>> >>>> I'm somewhat stuck... >>>> -- >>>> Emmanuel Charpentier >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "sage-release" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/sage-release/aa10b1b927484eb0f369f722f9d0ca84dc1592f0.camel%40free.fr >>>> >>>> <https://groups.google.com/d/msgid/sage-release/aa10b1b927484eb0f369f722f9d0ca84dc1592f0.camel%40free.fr?utm_medium=email&utm_source=footer> >>>> . >>>> >>>> -- You received this message because you are subscribed to the Google Groups "sage-release" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-release/c9f94957-9dad-45d3-863c-9abb1e808c76n%40googlegroups.com.
