<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="moz-cite-prefix">I tried rebuilding with this patch from
sagemath:</div>
<pre><code>diff --git a/src/pari.cc b/src/pari.cc
index 76ce8e1..50d08ab 100644
<span class="hl kwb">--- a/src/pari.cc</span>
<span class="hl kwa">+++ b/src/pari.cc</span>
@@ -40,6 +40,13 @@ using namespace std;
#ifdef HAVE_LIBPARI
<span class="hl kwa">+// Anyarg disappeared from PARI 2.15.0</span>
<span class="hl kwa">+#ifdef __cplusplus</span>
<span class="hl kwa">+# define ANYARG ...</span>
<span class="hl kwa">+#else</span>
<span class="hl kwa">+# define ANYARG</span>
<span class="hl kwa">+#endif</span>
<span class="hl kwa">+</span>
#ifdef HAVE_PTHREAD_H
#include <pthread.h>
#endif</code></pre>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">But I get one test failure:</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">FAIL: chk_fhan4<br>
===============<br>
<br>
// Using locale /usr/share/locale/<br>
// C.UTF-8<br>
// /usr/share/locale/<br>
// giac<br>
// UTF-8<br>
// Maximum number of parallel threads 8<br>
// Unable to find keyword file doc/en/keywords<br>
Added 0 synonyms<br>
// Warning: a, declared as global variable(s). If symbolic
variables are required, declare them as local and run purge<br>
// Success<br>
// Success<br>
// Success<br>
// Success<br>
// Success<br>
// Success<br>
// Success<br>
// Success<br>
// End defining T<br>
============== restarted ===============<br>
// Time 0<br>
// Time 0<br>
// Time 0<br>
// Time 0<br>
// Time 0<br>
// Time 0<br>
// Time 0<br>
// Time 0<br>
// Time 0<br>
0<br>
0<br>
0<br>
0<br>
0<br>
0<br>
0<br>
0<br>
0<br>
0<br>
0<br>
0<br>
0<br>
0<br>
0<br>
0<br>
// Time 0.02<br>
// Time 0<br>
// Time 0<br>
// Time 0<br>
// Time 0<br>
0<br>
0<br>
0<br>
0<br>
0<br>
0<br>
0<br>
0<br>
0<br>
// Time 0.03<br>
// Time 0<br>
// Time 0<br>
// Time 0<br>
// Time 0<br>
// Time 0<br>
0<br>
0<br>
0<br>
0<br>
// Time 0.04<br>
// Time 0<br>
// Time 0<br>
// Time 0<br>
// Time 0<br>
0<br>
// Time 0.06<br>
// Time 0<br>
// Time 0<br>
// Time 0<br>
// Time 0<br>
// Time 0<br>
// Time 0<br>
// Time 0<br>
// Time 0<br>
// Time 0<br>
// Time 0<br>
// Time 0<br>
// Time 0<br>
// Time 0<br>
// Time 0<br>
// Time 0.01<br>
// Time 0<br>
// Time 0<br>
// Time 0<br>
// Time 0<br>
// Time 0<br>
// Time 0<br>
// Time 0.01<br>
*** the thread stack overflows !<br>
current stack size: 1024000 (0.977 Mbytes)<br>
[hint] set 'threadsizemax' to a nonzero value in your GPRC<br>
*** matdet: Warning: increasing stack size to 2048000.<br>
*** at top-level:
matdet([-10,-7,6,-7,1,4,-1,-2,-2,-5,1,7,-6,7,-<br>
***
^----------------------------------------------<br>
*** matdet: the thread stack overflows !<br>
current stack size: 1024000 (0.977 Mbytes)<br>
[hint] set 'threadsizemax' to a nonzero value in your GPRC<br>
Error in PARI subsystem<br>
Segmentation fault<br>
49c49,108<br>
< <br>
---<br>
> "Done",<br>
> "Done",<br>
> "Done",<br>
> 0,<br>
> 0,<br>
> 50,<br>
> "Done",<br>
> "Done",<br>
> "Done",<br>
> "Done",<br>
> 0,<br>
> 0,<br>
> 30,<br>
> "Done",<br>
> "Done",<br>
> "Done",<br>
> "Done",<br>
> "Done",<br>
> "Done",<br>
> 0,<br>
> 0,<br>
> 0,<br>
> 40,<br>
> "Done",<br>
> "Done",<br>
> 0,<br>
> 50,<br>
> "Done",<br>
> "Done",<br>
> 0,<br>
> [[0,-2,1,3],[0,0,0,1],[1,1,0,0],[-3,4,1,0]],<br>
> "Done",<br>
> "Done",<br>
> "Done",<br>
> "Done",<br>
> "Done",<br>
> [[0,1,0,0],[1,0,0,0],[0,0,1,0],[0,0,0,1]],<br>
> [[0,0,0,1],[0,-2,1,3],[1,1,0,0],[-3,4,1,0]],<br>
> proc(i,j,a) <br>
> local TT; <br>
> TT:=identity(4); <br>
> TT[i,j]:=a; <br>
> TT; <br>
> <br>
> end;,<br>
> [[0,0,0,1],[0,-2,1,3],[1,1,0,1/2],[-3,4,1,0]],<br>
> [[0,0,0,1],[0,-2,1,3],[1,1,0,1/2],[-3,4,1,3/2]],<br>
> "Done",<br>
> "Done",<br>
> "Done",<br>
> "Done",<br>
> "Done",<br>
> [[1,0,0,0],[0,0,0,1],[0,0,1,0],[0,1,0,0]],<br>
> [[0,0,0,1],[-3,4,1,3/2],[1,1,0,1/2],[0,-2,1,3]],<br>
> [[0,0,1,0],[1,0,0,0],[0,0,0,1],[0,1,0,0]],<br>
> [[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],<br>
> [[0,0,0,1],[-3,4,1,3/2],[1,1,0,1/2],[-2,-4,1,2]],<br>
> [[1,0,0,0],[-3/2,1,0,0],[-1/2,0,1,0],[0,0,2,1]],<br>
> [[0,0,0,1],[1,0,0,0],[0,0,1,0],[0,1,0,0]],<br>
> [[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]<br>
FAIL chk_fhan4 (exit status: 1)<br>
<br>
============================================================================<br>
Testsuite summary for giac 1.9.0<br>
============================================================================<br>
# TOTAL: 30<br>
# PASS: 29<br>
# SKIP: 0<br>
# XFAIL: 0<br>
# FAIL: 1<br>
# XPASS: 0<br>
# ERROR: 0<br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">On 10/1/22 20:46, Bill Allombert wrote:<br>
</div>
<blockquote type="cite" cite="mid:YziZHYbeIOLtyeUJ@seventeen">
<pre class="moz-quote-pre" wrap="">On Wed, Sep 21, 2022 at 09:01:51PM +0300, Adrian Bunk wrote:
</pre>
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">Source: giac
Version: 1.9.0.19+dfsg2-1
Severity: serious
Tags: ftbfs
<a class="moz-txt-link-freetext" href="https://buildd.debian.org/status/logs.php?pkg=giac&ver=1.9.0.19%2Bdfsg2-1%2Bb1">https://buildd.debian.org/status/logs.php?pkg=giac&ver=1.9.0.19%2Bdfsg2-1%2Bb1</a>
...
pari.cc: At global scope:
pari.cc:752:17: error: typedef ‘giac::PFGEN’ is initialized (use ‘decltype’ instead)
752 | typedef GEN (*PFGEN)(ANYARG);
| ^~~~~
pari.cc:752:24: error: ‘ANYARG’ was not declared in this scope
</pre>
</blockquote>
<pre class="moz-quote-pre" wrap="">
This is my comment on this bug:
PARI used to define ANYARG as
#ifdef __cplusplus
# define ANYARG ...
#else
# define ANYARG
#endif
This definition was removed because newer gcc/clang do not like to call
function without prototype and it was not particularly
useful.
So you can replace this by
typedef GEN (*PFGEN)();
if you like, but recent gcc 12 will issue warning.
In PARI we changed EVAL_f to cast the pointer to the right prototype
before calling it.
Sorry for the trouble.
Cheers,
</pre>
</blockquote>
<p><br>
</p>
</body>
</html>