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/121dda91-969d-4d1f-bc98-2295e62d7430n%40googlegroups.com.

Reply via email to