Subject: Re: [bug#40283] [WIP PATCH] gnu: flint: Build with ntl.

From: Jakub Kądziołka <[email-masked]>
Date: Wed, 1 Apr 2020 15:15:52 +0200

On Tue, Mar 31, 2020 at 05:12:24PM +0200, Marius Bakke wrote:
> Jakub Kądziołka <[email-masked]> writes:
> 
> > * gnu/packages/algebra.scm (flint)[inputs]: Add ntl.
> >   [arguments]: Pass --with-ntl to configure.
> > ---
> > This is required by sagemath, but the patch as written makes the build
> > error:
> >
> > /gnu/store/9yzqiiyfhxi4yhndp46nndi77ica9g4i-ntl-11.4.3/include/NTL/vector.h:201:31: error: invalid conversion from ‘const NTL::Vec<NTL::ZZ>*’ to ‘int’ [-fpermissive]
> >   201 | { VecStrategy<NTL_RELOC_TAG>::do_BlockConstructFromVec(p, n, q); }
> >       |                               ^~~~~~~~~~~~~~~~~~~~~~~~
> >       |                               |
> >       |                               const NTL::Vec<NTL::ZZ>*
> >
> > Arch Linux seems to be using the same version of ntl and flint, and I
> > don't see any special workarounds in their PKGBUILDs. I guessed that the
> > gcc version might be influencing things, but adding gcc-9 to
> > native-inputs didn't help. Does Guix set up GCC with some non-standard
> > default flags, maybe?
> 
> This is because of -Werror, which is not supposed to trigger on external
> dependencies.  The issue has been fixed on 'core-updates' where
> dependencies are added on C_INCLUDE_PATH (which behave like -isystem)
> instead of CPATH (which behave like -I).

Thanks! I had a guess it was about -Werror, but I don't think I would've
figured out the CPATH vs C_INCLUDE_PATH bit. As far as I understand,
we're relatively close to merging c-u into master, and the patch is far
from urgent, so I won't bother with trying to come up with a workaround.

Cheers,
Jakub Kądziołka