[bug#78334,science-team,0/1] Update flint.

Message ID cover.1746805010.git.code@greghogan.com
Headers
Series Update flint. |

Message

Greg Hogan May 9, 2025, 3:39 p.m. UTC
  Our current version, flint 3.1.2, fails for me with:

  CC  fft_small/mpn_mul.c
In file included from src/fft_small/mpn_mul.c:17:
src/fft_small/mpn_mul.c: In function ‘_mpn_from_ffts_8’:
./src/crt_helpers.h:120:3: error: ‘asm’ operand has impossible constraints
  120 |   __asm__ ("addq %23,%q7\nadcq %21,%q6\nadcq %19,%q5\n\tadcq %17,%q4\n\tadcq %15,%q3\n\tadcq %13,%q2\n\tadcq %11,%q1\n\tadcq %9,%q0"    \
      |   ^~~~~~~
./src/crt_helpers.h:378:5: note: in expansion of macro ‘add_ssssssssaaaaaaaaaaaaaaaa’
  378 |     add_ssssssssaaaaaaaaaaaaaaaa(z[7],z[6],z[5],z[4],z[3],z[2],z[1],z[0],
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./src/crt_helpers.h:120:3: error: ‘asm’ operand has impossible constraints
  120 |   __asm__ ("addq %23,%q7\nadcq %21,%q6\nadcq %19,%q5\n\tadcq %17,%q4\n\tadcq %15,%q3\n\tadcq %13,%q2\n\tadcq %11,%q1\n\tadcq %9,%q0"    \
      |   ^~~~~~~
./src/crt_helpers.h:378:5: note: in expansion of macro ‘add_ssssssssaaaaaaaaaaaaaaaa’
  378 |     add_ssssssssaaaaaaaaaaaaaaaa(z[7],z[6],z[5],z[4],z[3],z[2],z[1],z[0],
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
make: *** [Makefile:616: build/fft_small/mpn_mul.lo] Error 1
error: in phase 'build': uncaught exception:
%exception #<&invoke-error program: "make" arguments: ("-j" "1") exit-status: 2 term-signal: #f stop-signal: #f>
phase `build' failed after 260.7 seconds
command "make" "-j" "1" failed with status 2
build process 18 exited with status 256

Greg Hogan (1):
  gnu: flint: Update to 3.2.1.

 gnu/packages/algebra.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)


base-commit: c3b6b57521404d223ae37d3dd91f7bb60ed0cebc
  

Comments

Andreas Enge May 9, 2025, 3:52 p.m. UTC | #1
Hello,

Am Fri, May 09, 2025 at 03:39:18PM +0000 schrieb Greg Hogan:
> Our current version, flint 3.1.2, fails for me with:
>   CC  fft_small/mpn_mul.c
> In file included from src/fft_small/mpn_mul.c:17:
> src/fft_small/mpn_mul.c: In function ‘_mpn_from_ffts_8’:
> ./src/crt_helpers.h:120:3: error: ‘asm’ operand has impossible constraints
>   120 |   __asm__ ("addq %23,%q7\nadcq %21,%q6\nadcq %19,%q5\n\tadcq %17,%q4\n\tadcq %15,%q3\n\tadcq %13,%q2\n\tadcq %11,%q1\n\tadcq %9,%q0"    \

we can update flint, but this message may indicate a different problem,
which surprises me. Flint includes assembly code, but does not use fat
binaries such as gmp. So it is possible that assembly code chosen on the
build machine (avx or whatever) is not executable on the machine where
you run your own code linked to flint.

But we build the package with
   #:configure-flags '("--disable-assembly")
so the problem should not occur.

Maybe it is indeed a bug in the version we currently package.

Andreas
  
Greg Hogan May 9, 2025, 3:55 p.m. UTC | #2
On Fri, May 9, 2025 at 11:53 AM Andreas Enge <andreas@enge.fr> wrote:
>
> Hello,
>
> Am Fri, May 09, 2025 at 03:39:18PM +0000 schrieb Greg Hogan:
> > Our current version, flint 3.1.2, fails for me with:
> >   CC  fft_small/mpn_mul.c
> > In file included from src/fft_small/mpn_mul.c:17:
> > src/fft_small/mpn_mul.c: In function ‘_mpn_from_ffts_8’:
> > ./src/crt_helpers.h:120:3: error: ‘asm’ operand has impossible constraints
> >   120 |   __asm__ ("addq %23,%q7\nadcq %21,%q6\nadcq %19,%q5\n\tadcq %17,%q4\n\tadcq %15,%q3\n\tadcq %13,%q2\n\tadcq %11,%q1\n\tadcq %9,%q0"    \
>
> we can update flint, but this message may indicate a different problem,
> which surprises me. Flint includes assembly code, but does not use fat
> binaries such as gmp. So it is possible that assembly code chosen on the
> build machine (avx or whatever) is not executable on the machine where
> you run your own code linked to flint.

I'm building flint on the same machine as I built the rest of Guix.
And this is the flint build itself, not dependent code.

> But we build the package with
>    #:configure-flags '("--disable-assembly")
> so the problem should not occur.
>
> Maybe it is indeed a bug in the version we currently package.

v3.2.2 builds fine for me.