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.

Reply via email to