Emmanuel ROYER on Wed, 03 Apr 2024 12:45:16 +0200


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

gp2c make check -> bug


Hello!

I try to install gp2c (last version 0.0.13) on an Apple M1 Pro with last version of MacOs (14.4.1), on which gp works fine. 

I follow the instruction available here: https://pari.math.u-bordeaux.fr/pub/pari/manuals/gp2c/gp2c.html#sec3

1) Troubles seem to begin with ./configure. All information are provided at the end of this message, however I extract what seems to bo odd. I guess the origin of my problems is here but I am not able to solve it (any idea?)

---
checking whether to enable maintainer-specific portions of Makefiles... no
checking for PARI configuration... ./pari.cfg
checking for PARI configuration (debugging)... not found
checking malloc.h usability... no
checking malloc.h presence... no
checking for malloc.h... no
checking for _doprnt... no
---


2) Make check confirms the trouble (again the complete output is below)

---
Running test traditional
Testing script affect...BUG.
[All the following look the same ending with BUG]
FAIL: scripts/runtest
==================
1 of 1 test failed
==================
---

3) Well, I continue with sudo make install, again output is below but nothing seems odd

4) I try it with a file MyTest.gp containing the stupid following stupid script
Boum(M:int)={
my(P=List());
forprime(p=2,M,listput(P,p^3));
P
};

gp2c-run ./MyTest.gp opens gp and when entering Boum(10) on the gp prompt, I receive a segmentation fault:

                                                GP/PARI CALCULATOR Version 2.16.1 (development 0-)
                                           arm64 running darwin (aarch64/GMP-6.3.0 kernel) 64-bit version
                                        compiled: Apr  3 2024, Apple clang version 15.0.0 (clang-1500.3.9.4)
                                                             threading engine: pthread
                                                   (readline v8.2 enabled, extended help enabled)

                                                       Copyright (C) 2000-2023 The PARI Group

PARI/GP is free software, covered by the GNU General Public License, and comes WITHOUT ANY WARRANTY WHATSOEVER.

Type ? for help, \q to quit.
Type ?18 for how to get moral (and possibly technical) support.

parisizemax = 10240000000000, primelimit = 100000000, nbthreads = 10
? Boum(10)
  ***   at top-level: Boum(10)
  ***                 ^--------
  *** Boum: bug in PARI/GP (Segmentation Fault), please report.
  ***   Break loop: type 'break' to go back to GP prompt



\\...............configure output
checking for a BSD-compatible install... /opt/local/bin/ginstall -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /opt/local/bin/gmkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of gcc... gcc3
checking for flex... flex
checking lex output file root... lex.yy
checking lex library... -ll
checking whether yytext is a pointer... yes
checking for bison... bison -y
checking for perl... /opt/local/bin/perl
checking for multiarch system... 
checking for PARI configuration... ./pari.cfg
checking for PARI configuration (debugging)... not found
checking for PARI version... 2.16.1 (DEVELOPMENT VERSION)
checking for PARI module build... /usr/bin/gcc -c -o %s.o -O3 -Wall -fno-strict-aliasing -fPIC -I\"/usr/local/include\" %s.c && /usr/bin/gcc -o %s.so -bundle -undefined dynamic_lookup -L/usr/local/lib -lpari -O3 -Wall -fno-strict-aliasing -fPIC %s.o 
checking for GP path... /usr/local/bin/gp
checking for PARI data directory... /usr/local/share/pari
checking for PARI description database... /usr/local/share/pari/pari.desc
checking for RUNTEST (if needed)... 
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking malloc.h usability... no
checking malloc.h presence... no
checking for malloc.h... no
checking for unistd.h... (cached) yes
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for size_t... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for vprintf... yes
checking for _doprnt... no
checking for strdup... yes
checking for strtol... yes
checking for getopt... yes
checking for strcmp... yes
checking for memccpy... yes
checking for strrchr... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating desc/Makefile
config.status: creating doc/Makefile
config.status: creating test/Makefile
config.status: creating test2/Makefile
config.status: creating test3/Makefile
config.status: creating test4/Makefile
config.status: creating scripts/Makefile
config.status: creating scripts/822_desc.pl
config.status: creating scripts/runtest
config.status: creating scripts/dotest
config.status: creating scripts/gp2c-run
config.status: creating scripts/gp2c-dbg
config.status: creating doc/gp2c-run.1
config.status: creating doc/gp2c-dbg.1
config.status: creating src/config.h
config.status: src/config.h is unchanged
config.status: executing depfiles commands
config.status: executing default commands

\\...............make check output
Making check in src
/Applications/Xcode.app/Contents/Developer/usr/bin/make  check-am
Making check in desc
make[1]: Nothing to be done for `check'.
Making check in scripts
make[1]: Nothing to be done for `check'.
Making check in doc
make[1]: Nothing to be done for `check'.
Making check in test
make[1]: Nothing to be done for `check'.
Making check in test2
make[1]: Nothing to be done for `check'.
Making check in test3
make[1]: Nothing to be done for `check'.
Making check in test4
make[1]: Nothing to be done for `check'.
/Applications/Xcode.app/Contents/Developer/usr/bin/make  check-TESTS
Running test traditional
Testing script affect...BUG.
Testing script args...BUG.
Testing script break...BUG.
Testing script cast...BUG.
Testing script cleanvar...BUG.
Testing script dot...BUG.
Testing script foreach...BUG.
Testing script forprime...BUG.
Testing script forstep...BUG.
Testing script forvec...BUG.
Testing script gerepile...BUG.
Testing script if...BUG.
Testing script initfunc...BUG.
Testing script install...BUG.
Testing script matrix...BUG.
Testing script member...BUG.
Testing script moveblock...BUG.
Testing script multiassign...BUG.
Testing script multiif...BUG.
Testing script print...BUG.
Testing script read...BUG.
Testing script return...BUG.
Testing script sumprod...BUG.
Testing script trunc...BUG.
Testing script upto...BUG.
Testing script vector...BUG.
Testing script while...BUG.
FAIL: scripts/runtest
==================
1 of 1 test failed
==================

\\...............install output

Making install in src
/Applications/Xcode.app/Contents/Developer/usr/bin/make  install-am
 /opt/local/bin/gmkdir -p '/usr/local/bin'
  /opt/local/bin/ginstall -c gp2c '/usr/local/bin'
make[3]: Nothing to be done for `install-data-am'.
Making install in desc
make[2]: Nothing to be done for `install-exec-am'.
 /opt/local/bin/gmkdir -p '/usr/local/share/gp2c'
 /opt/local/bin/ginstall -c -m 644 func.dsc '/usr/local/share/gp2c'
Making install in scripts
 /opt/local/bin/gmkdir -p '/usr/local/bin'
 /opt/local/bin/ginstall -c gp2c-run '/usr/local/bin'
make[2]: Nothing to be done for `install-data-am'.
Making install in doc
make[2]: Nothing to be done for `install-exec-am'.
/opt/local/bin/ginstall -c -d /usr/local/share/doc/gp2c
for i in gp2c.dvi gp2c.html gp2c001.png type.dvi type.html type001.png gp2c.pdf type.pdf; do \
 if test -f ./$i; then \
            /opt/local/bin/ginstall -c -m 644 ./$i /usr/local/share/doc/gp2c; \
 fi \
done;
 /opt/local/bin/gmkdir -p '/usr/local/share/man/man1'
 /opt/local/bin/ginstall -c -m 644 gp2c.1 gp2c-run.1 '/usr/local/share/man/man1'
Making install in test
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
Making install in test2
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
Making install in test3
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
Making install in test4
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.





Emmanuel Royer
Professeur à l'Université Clermont Auvergne
https://royer.perso.math.cnrs.fr
----
Institut CNRS-Pauli
IRL2842
CNRS & Wolfgang Pauli Institut