Subject: bug#58274: closed (Re: bug#58274: giac 1.9.0-21 fails to build)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 07 Oct 2022 20:18:02 +0000

Your bug report

#58274: giac 1.9.0-21 fails to build

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
58274: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=58274
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#58274: giac 1.9.0-21 fails to build
From: Nicolas Goaziou <[email-masked]>
To: Maxim Cournoyer <[email-masked]>
Cc: [email-masked]
Date: Fri, 07 Oct 2022 22:17:17 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

Maxim Cournoyer <[email-masked]> writes:

> The build of giac fails like:
>
> --8<---------------cut here---------------start------------->8---
> libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I.. -DIN_GIAC -I. -I.. -I. -I.. -g -O2 -fno-strict-aliasing -DGIAC_GENERIC_CONSTANTS -DTIMEOUT -DHAVE_LIBMICROPYTHON -fpermissive -DQUICKJS -MT alg_ext.lo -MD -MP -MF .deps/alg_ext.Tpo -c alg_ext.cc -o alg_ext.o >/dev/null 2>&1
> pari.cc:752:17: error: typedef ‘giac::PFGEN’ is initialized (use ‘decltype’ instead)
>   752 |   typedef GEN (*PFGEN)(ANYARG);

Fixed. Thank you.

Regards,
-- 
Nicolas Goaziou

Subject: giac 1.9.0-21 fails to build
From: Maxim Cournoyer <[email-masked]>
To: bug-guix <[email-masked]>
Date: Mon, 03 Oct 2022 10:34:39 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

The build of giac fails like:

--8<---------------cut here---------------start------------->8---
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I.. -DIN_GIAC -I. -I.. -I. -I.. -g -O2 -fno-strict-aliasing -DGIAC_GENERIC_CONSTANTS -DTIMEOUT -DHAVE_LIBMICROPYTHON -fpermissive -DQUICKJS -MT alg_ext.lo -MD -MP -MF .deps/alg_ext.Tpo -c alg_ext.cc -o alg_ext.o >/dev/null 2>&1
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
  752 |   typedef GEN (*PFGEN)(ANYARG);
      |                        ^~~~~~
pari.cc: In function ‘giac::gen giac::in_pari(const giac::gen&, const giac::context*)’:
pari.cc:829:19: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
  829 |        argvec[k]= (GEN) v[j].val;
      |                   ^~~~~~~~~~~~~~
pari.cc:847:19: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
  847 |         argvec[k]=(long int*)(pos -1);
      |                   ^~~~~~~~~~~~~~~~~~~
pari.cc:855:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
  855 |       argvec[k]=(long int*) v[j].val;
      |                 ^~~~~~~~~~~~~~~~~~~~
pari.cc:883:16: error: ‘PFGEN’ was not declared in this scope; did you mean ‘GEN’?
  883 |        res = ((PFGEN)call)(_ARGS_);
      |                ^~~~~
      |                GEN
pari.cc:883:22: error: expected ‘)’ before ‘call’
  883 |        res = ((PFGEN)call)(_ARGS_);
      |              ~       ^~~~
      |                      )
pari.cc:887:20: error: expected primary-expression before ‘int’
  887 |        m = (long)((int (*)(ANYARG))call)(_ARGS_);
      |                    ^~~
pari.cc:887:20: error: expected ‘)’ before ‘int’
  887 |        m = (long)((int (*)(ANYARG))call)(_ARGS_);
      |                   ~^~~
      |                    )
pari.cc:887:49: error: expected ‘)’ before ‘;’ token
  887 |        m = (long)((int (*)(ANYARG))call)(_ARGS_);
      |                  ~                              ^
      |                                                 )
pari.cc:891:14: error: expected primary-expression before ‘long’
  891 |        m = ((long (*)(ANYARG))call)(_ARGS_);
      |              ^~~~
pari.cc:891:14: error: expected ‘)’ before ‘long’
  891 |        m = ((long (*)(ANYARG))call)(_ARGS_);
      |             ~^~~~
      |              )
pari.cc:891:44: error: expected ‘)’ before ‘;’ token
  891 |        m = ((long (*)(ANYARG))call)(_ARGS_);
      |            ~                               ^
      |                                            )
pari.cc:895:10: error: expected primary-expression before ‘void’
  895 |        ((void (*)(ANYARG))call)(_ARGS_);
      |          ^~~~
pari.cc:895:10: error: expected ‘)’ before ‘void’
  895 |        ((void (*)(ANYARG))call)(_ARGS_);
      |         ~^~~~
      |          )
pari.cc:895:40: error: expected ‘)’ before ‘;’ token
  895 |        ((void (*)(ANYARG))call)(_ARGS_);
      |        ~                               ^
      |                                        )
make[2]: *** [Makefile:814: pari.lo] Error 1
--8<---------------cut here---------------end--------------->8---

-- 
Thanks,
Maxim