Tobias Diez on Sat, 06 Sep 2025 13:30:59 +0200


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Windows: compilation issues


Hello everyone,

I’m currently working on adding Windows support to the sagemath/cypari2 Python package, and I’ve run into a few issues where I’d really appreciate some help:

1.  Compilation of Pari with Mingw
   The build currently fails when trying to produce a `.def` file:

```
dlltool --export-all-symbols -k -z libpari.def.tmp mpker.o <a lot of other obj files> plottty.o
make: *** [Makefile:1153: libpari.def] Segmentation fault
```

I’ve attached the full log. Has this issue a known solution? A possible workaround might be to replace the `dlltool` call with something like:

```
mingw) DLLDFLAGS="-Wl,--out-implib=\$(LIBPARI_SO)\$(_A) -Wl,--output-def=\$(LIBPARI_SO:.dll=.def)";;
```

(in `get_dlld`, untested).

If the goal is to provide the `.def` file for MSVC users, Microsoft’s docs ([https://learn.microsoft.com/en-us/cpp/build/reference/exports?view=msvc-170](https://learn.microsoft.com/en-us/cpp/build/reference/exports?view=msvc-170)) recommend using `__declspec(dllexport)` instead. Would it be possible for Pari to add those keywords to the exported symbols?

(It also seems that the `libpari.def` file isn’t actually installed or shipped, though I might be mistaken.)

2. Failure to symlink pari-gmp
   If I skip the problematic step in the Makefile, the build later fails with:

```
mkdir -p "/usr/local/bin"
rm -f "/usr/local/bin"/libpari-gmp.dll "/usr/local/bin"/libpari-gmp.dll "/usr/local/bin"/libpari.dll
/ucrt64/bin/gcc  -o "/usr/local/bin"/libpari-gmp.dll -shared  -O3 -Wall -fno-strict-aliasing  -g   -Wl,--out-implib=libpari.dll.a  mpker.o <a lot of obj files> plottty.o  -lgmp    -lm libpari.def
../config/install -m 644 libpari.dll.a "/usr/local/bin"/libpari.dll.a
if test "libpari-gmp.dll" != ""/usr/local/bin"/libpari.dll"; then            ln -s libpari-gmp.dll "/usr/local/bin"/libpari.dll; fi
if test "libpari-gmp.dll" != "libpari.dll"; then            ln -s libpari-gmp.dll "/usr/local/bin"/libpari-gmp.dll; fi
ln: failed to create symbolic link '/usr/local/bin/libpari-gmp.dll': File exists
```

I’m not entirely sure what the purpose of these symlinks is.

3. `#define long long long` on Windows
   In Pari’s headers, Windows builds currently include:

```
#define long long long
```

This creates serious conflicts with standard Windows headers that might be included later (e.g. in the context of Cython, where some imports are auto-generated and hard to control).

Would it be possible to instead introduce a platform-dependent typedef, say `pari_long`, and use that? Or directly rely on `int64_t`? This would make life much easier for downstream projects, though I understand it’s a non-trivial change in Pari.

4. pkg-config file
   Would you consider adding a `pkg-config` file for Pari? At the moment, users have to manually guess which additional libraries (`gmp`, `readline`, etc.) need to be linked. A pkg-config file would also make it much easier to discover Pari when it’s installed in non-standard locations.

---

Thanks a lot for your work on Pari, for your help and for considering these suggestions!

Best,
Tobias

Using existing pari-2.17.2 build directory
Building Pari ...
Configuring pari-2.17.2 (STABLE) 
Checking echo to see how to suppress newlines...
...using -n.
Looking for some tools first ...
...gzip is /usr/bin/gzip
...cc is /ucrt64/bin/cc
...gcc is /ucrt64/bin/gcc
...ld is /ucrt64/bin/ld
...perl is /usr/bin/perl
...zcat is /usr/bin/zcat
Choosing C compiler ...
GNU compatible compiler: gcc version 15.2.0 (Rev8, Built by MSYS2 project)
Using mt engine single
Given the previous choices, sizeof(long) is 8 chars.
The internal word representation of a double is not needed (64bit).
==========================================================================
Building for: amd64 running mingw (x86-64/GMP kernel) 64-bit version
==========================================================================
C compiler is          /ucrt64/bin/gcc -O3 -Wall -fno-strict-aliasing  -g  
Executable linker is   /ucrt64/bin/gcc  -O3 -Wall -fno-strict-aliasing  -g  -Wl,--enable-auto-import 
Dynamic Lib linker is  /ucrt64/bin/gcc  -shared  $(CFLAGS) $(DLCFLAGS) -Wl,--out-implib=$(LIBPARI_SO)$(_A) 
Looking in C lib for some symbols...
...Found sse2.
...I did not find avx.
...Found exp2.
...Found log2.
...Found rint.
...Found strftime.
...I did not find getrusage.
...I did not find times.
...Found gettimeofday.
...I did not find sigaction.
...I did not find TIOCGWINSZ.
...I did not find getrlimit.
...Found stat.
...Found vsnprintf.
...I did not find mmap.
...I did not find waitpid.
...I did not find setsid.
...Found getenv.
...Found isatty.
...I did not find alarm.
...Found system.
...I did not find dlopen.
Try again, with -ldl this time...
...I did not find dlopen.
Checking for optional libraries and headers...
Using GNU MP, version 6.3.0
Hi-Res Graphics: win32
Using GNU readline, version 8.3
Installation prefix ? [/usr/local]
...for architecture-independent files (share-prefix) ? [/usr/local/share]
Installation directories for:
...executables (gp, gphelp) ? [/usr/local/bin]
...libraries (libpari) ? [/usr/local/bin]
...include files ? [/usr/local/include]
...manual pages ? [/usr/local/share/man/man1]
...other system-dependent data ? [/usr/local/lib/pari]
...other system-independent data ? [/usr/local/share/pari]
Default is dynamic executable and shared library
==========================================================================
Patching PARI source for LLP64 mode...  done
Extracting Omingw-x86_64/Makefile.examples
Extracting Omingw-x86_64/Makefile
Extracting Omingw-x86_64/pari.nsi
Extracting Omingw-x86_64/paricfg.h
Extracting Makefile
Extracting scripts and macros
...in doc
...in misc
==========================================================================
Shall we try to build pari 2.17.2 (released) now (y/n)? [n]
Ok. Type "make install" when you are ready
Bye !
File ../src64/funclist updated.
../config/genkernel ../src64 ../src64/kernel/x86_64/asm0.h > parilvl0.h
if test -r ./tune.h; then d=.; else d=../src64/kernel/gmp; fi;          cat $d/tune.h ../src64/kernel/gmp/int.h ../src64/kernel/none/level1.h > parilvl1.h
cat parilvl0.h parilvl1.h > mpinl.h
cat ../src64/mt/single.h > parimt.h
cat ../src64/kernel/gmp/mp.c ../src64/kernel/none/cmp.c ../src64/kernel/none/gcdll.c ../src64/kernel/none/halfgcd.c  ../src64/kernel/none/ratlift.c  ../src64/kernel/none/invmod.c ../src64/kernel/gmp/gcd.c ../src64/kernel/gmp/gcdext.c ../src64/kernel/none/mp_indep.c ../src64/kernel/none/add.c > mpker.c
/ucrt64/bin/gcc  -c -O3 -Wall -fno-strict-aliasing  -g  -funroll-loops  -I. -I../src64/headers  -o mpker.o mpker.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers -O3 -Wall -fno-strict-aliasing  -g   -o mpinl.o ../src64/kernel/none/mpinl.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o alglin1.o ../src64/basemath/alglin1.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o alglin2.o ../src64/basemath/alglin2.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o alglin3.o ../src64/basemath/alglin3.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o aprcl.o ../src64/basemath/aprcl.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o arith1.o ../src64/basemath/arith1.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o arith2.o ../src64/basemath/arith2.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o base1.o ../src64/basemath/base1.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o base2.o ../src64/basemath/base2.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o base3.o ../src64/basemath/base3.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o base4.o ../src64/basemath/base4.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o base5.o ../src64/basemath/base5.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o bb_group.o ../src64/basemath/bb_group.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o bb_hnf.o ../src64/basemath/bb_hnf.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o bern.o ../src64/basemath/bern.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o bibli1.o ../src64/basemath/bibli1.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o bibli2.o ../src64/basemath/bibli2.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o bit.o ../src64/basemath/bit.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o bnflog.o ../src64/basemath/bnflog.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o bnfunits.o ../src64/basemath/bnfunits.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o buch1.o ../src64/basemath/buch1.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o buch2.o ../src64/basemath/buch2.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o buch3.o ../src64/basemath/buch3.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o buch4.o ../src64/basemath/buch4.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o char.o ../src64/basemath/char.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o concat.o ../src64/basemath/concat.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o crvwtors.o ../src64/basemath/crvwtors.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o digits.o ../src64/basemath/digits.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o dirichlet.o ../src64/basemath/dirichlet.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o ecpp.o ../src64/basemath/ecpp.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o ellanal.o ../src64/basemath/ellanal.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o elliptic.o ../src64/basemath/elliptic.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o ellisog.o ../src64/basemath/ellisog.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o ellpadic.o ../src64/basemath/ellpadic.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o ellpadiclambdamu.o ../src64/basemath/ellpadiclambdamu.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o ellrank.o ../src64/basemath/ellrank.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o ellsea.o ../src64/basemath/ellsea.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o elltors.o ../src64/basemath/elltors.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -funroll-loops -O3 -Wall -fno-strict-aliasing  -g  -o F2v.o ../src64/basemath/F2v.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o F2x.o ../src64/basemath/F2x.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o F2xqE.o ../src64/basemath/F2xqE.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -funroll-loops -O3 -Wall -fno-strict-aliasing  -g  -o F3v.o ../src64/basemath/F3v.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o factcyclo.o ../src64/basemath/factcyclo.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o FF.o ../src64/basemath/FF.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o Fle.o ../src64/basemath/Fle.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o Flv.o ../src64/basemath/Flv.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o Flx.o ../src64/basemath/Flx.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o Flxq_log.o ../src64/basemath/Flxq_log.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o FlxqE.o ../src64/basemath/FlxqE.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o FlxX.o ../src64/basemath/FlxX.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o FpE.o ../src64/basemath/FpE.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o FpV.o ../src64/basemath/FpV.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o FpX.o ../src64/basemath/FpX.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o FpX_factor.o ../src64/basemath/FpX_factor.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o FpXQX_factor.o ../src64/basemath/FpXQX_factor.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o FpXX.o ../src64/basemath/FpXX.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o galconj.o ../src64/basemath/galconj.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o gen1.o ../src64/basemath/gen1.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o gen2.o ../src64/basemath/gen2.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o gen3.o ../src64/basemath/gen3.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o grossenchar.o ../src64/basemath/grossenchar.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o hgm.o ../src64/basemath/hgm.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o hnf_snf.o ../src64/basemath/hnf_snf.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o hyperell.o ../src64/basemath/hyperell.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o hypergeom.o ../src64/basemath/hypergeom.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o ifactor1.o ../src64/basemath/ifactor1.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o ispower.o ../src64/basemath/ispower.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o kummer.o ../src64/basemath/kummer.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o lambert.o ../src64/basemath/lambert.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o lerch.o ../src64/basemath/lerch.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o lfun.o ../src64/basemath/lfun.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o lfunlarge.o ../src64/basemath/lfunlarge.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o lfunquad.o ../src64/basemath/lfunquad.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o lfunutils.o ../src64/basemath/lfunutils.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o lll.o ../src64/basemath/lll.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o map.o ../src64/basemath/map.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o matperm.o ../src64/basemath/matperm.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o mellininv.o ../src64/basemath/mellininv.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o mftrace.o ../src64/basemath/mftrace.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o modsym.o ../src64/basemath/modsym.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o msfarey.o ../src64/basemath/msfarey.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o nffactor.o ../src64/basemath/nffactor.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o nflist.o ../src64/basemath/nflist.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o nflistQT.o ../src64/basemath/nflistQT.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o pclgp.o ../src64/basemath/pclgp.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o perm.o ../src64/basemath/perm.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o polarit1.o ../src64/basemath/polarit1.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o polarit2.o ../src64/basemath/polarit2.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o polarit3.o ../src64/basemath/polarit3.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o polclass.o ../src64/basemath/polclass.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o polmodular.o ../src64/basemath/polmodular.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o prime.o ../src64/basemath/prime.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o Qfb.o ../src64/basemath/Qfb.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o qfisom.o ../src64/basemath/qfisom.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o qfsolve.o ../src64/basemath/qfsolve.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o quad.o ../src64/basemath/quad.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o QX_factor.o ../src64/basemath/QX_factor.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o ramanujantau.o ../src64/basemath/ramanujantau.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o random.o ../src64/basemath/random.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o RgV.o ../src64/basemath/RgV.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o RgX.o ../src64/basemath/RgX.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o rootpol.o ../src64/basemath/rootpol.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o Ser.o ../src64/basemath/Ser.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o subcyclo.o ../src64/basemath/subcyclo.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o subfield.o ../src64/basemath/subfield.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o subgroup.o ../src64/basemath/subgroup.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o trans1.o ../src64/basemath/trans1.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o trans2.o ../src64/basemath/trans2.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o trans3.o ../src64/basemath/trans3.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o volcano.o ../src64/basemath/volcano.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o zetamult.o ../src64/basemath/zetamult.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o ZG.o ../src64/basemath/ZG.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o Zp.o ../src64/basemath/Zp.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o ZV.o ../src64/basemath/ZV.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o ZX.o ../src64/basemath/ZX.c
bison -d ../src64/language/parse.y -o ../src64/language/parse.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o anal.o ../src64/language/anal.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o compile.o ../src64/language/compile.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o default.o ../src64/language/default.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o es.o ../src64/language/es.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o eval.o ../src64/language/eval.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o forprime.o ../src64/language/forprime.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o gplib.o ../src64/language/gplib.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o hash.o ../src64/language/hash.c
f=funclist-$$-mingw-x86_64.tmp; (cd ../src/desc && /usr/bin/perl merge_822 ../../src64/funclist > $f) && mv ../src/desc/$f ../src/desc/pari.desc
f=init-$$-mingw-x86_64.tmp; (cd ../src/desc && /usr/bin/perl gen_proto basic pari.desc > $f) && mv ../src/desc/$f ../src64/language/init.h
f=default-$$-mingw-x86_64.tmp; (cd ../src/desc && /usr/bin/perl gen_proto default pari.desc > $f) && mv ../src/desc/$f ../src64/language/default.h
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o init.o ../src64/language/init.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o intnum.o ../src64/language/intnum.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o members.o ../src64/language/members.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o paricfg.o ../src64/language/paricfg.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o pariinl.o ../src64/language/pariinl.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o parse.o ../src64/language/parse.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o readline.o ../src64/language/readline.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o str.o ../src64/language/str.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o sumiter.o ../src64/language/sumiter.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o algebras.o ../src64/modules/algebras.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o elldata.o ../src64/modules/elldata.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o ellfromeqn.o ../src64/modules/ellfromeqn.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o forperm.o ../src64/modules/forperm.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o forsubset.o ../src64/modules/forsubset.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o galois.o ../src64/modules/galois.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o galpol.o ../src64/modules/galpol.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o genus2red.o ../src64/modules/genus2red.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o groupid.o ../src64/modules/groupid.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o krasner.o ../src64/modules/krasner.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o mpqs.o ../src64/modules/mpqs.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o part.o ../src64/modules/part.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -funroll-loops -O3 -Wall -fno-strict-aliasing  -g  -o ratpoints.o ../src64/modules/ratpoints.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o stark.o ../src64/modules/stark.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o thue.o ../src64/modules/thue.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o mingw.o ../src64/systems/mingw/mingw.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o mt.o ../src64/mt/mt.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o single.o ../src64/mt/single.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o plotport.o ../src64/graph/plotport.c
/ucrt64/bin/gcc  -c -I. -I../src64/headers  -O3 -Wall -fno-strict-aliasing  -g  -o plottty.o ../src64/graph/plottty.c
dlltool --export-all-symbols -k -z libpari.def.tmp mpker.o mpinl.o alglin1.o alglin2.o alglin3.o aprcl.o arith1.o arith2.o base1.o base2.o base3.o base4.o base5.o bb_group.o bb_hnf.o bern.o bibli1.o bibli2.o bit.o bnflog.o bnfunits.o buch1.o buch2.o buch3.o buch4.o char.o concat.o crvwtors.o digits.o dirichlet.o ecpp.o ellanal.o elliptic.o ellisog.o ellpadic.o ellpadiclambdamu.o ellrank.o ellsea.o elltors.o F2v.o F2x.o F2xqE.o F3v.o factcyclo.o FF.o Fle.o Flv.o Flx.o Flxq_log.o FlxqE.o FlxX.o FpE.o FpV.o FpX.o FpX_factor.o FpXQX_factor.o FpXX.o galconj.o gen1.o gen2.o gen3.o grossenchar.o hgm.o hnf_snf.o hyperell.o hypergeom.o ifactor1.o ispower.o kummer.o lambert.o lerch.o lfun.o lfunlarge.o lfunquad.o lfunutils.o lll.o map.o matperm.o mellininv.o mftrace.o modsym.o msfarey.o nffactor.o nflist.o nflistQT.o pclgp.o perm.o polarit1.o polarit2.o polarit3.o polclass.o polmodular.o prime.o Qfb.o qfisom.o qfsolve.o quad.o QX_factor.o ramanujantau.o random.o RgV.o RgX.o rootpol.o Ser.o subcyclo.o subfield.o subgroup.o trans1.o trans2.o trans3.o volcano.o zetamult.o ZG.o Zp.o ZV.o ZX.o anal.o compile.o default.o es.o eval.o forprime.o gplib.o hash.o init.o intnum.o members.o paricfg.o pariinl.o parse.o readline.o str.o sumiter.o algebras.o elldata.o ellfromeqn.o forperm.o forsubset.o galois.o galpol.o genus2red.o groupid.o krasner.o mpqs.o part.o ratpoints.o stark.o thue.o mingw.o mt.o single.o plotport.o plottty.o
make: *** [Makefile:1153: libpari.def] Segmentation fault