# wget http://search.cpan.org/CPAN/authors/id/I/IL/ILYAZ/modules/Math-Pari-2.010709.tar.gz # gunzip Math-Pari-2.010709.tar.gz # tar -xf Math-Pari-2.010709.tar # cd Math-Pari-2.010709 # cd pari-2.1.7 bash: cd: pari-2.1.7: No such file or directory #### # wget http://pari.math.u-bordeaux.fr/pub/pari/unix/OLD/pari-2.1.7.tgz # gunzip pari-2.1.7.tgz # tar -xf pari-2.1.7.tar # ./Configure -s #### Configuring pari-2.1.7 (STABLE) Checking echo to see how to suppress newlines... ...using \c Looking for some tools first ... ...ld is /usr/ccs/bin/ld ...zcat is /opt/csw/bin/zcat ...gzip is /opt/csw/bin/gzip ...ranlib is /usr/ccs/bin/ranlib ...perl is /opt/local/bin/perl ...I could not find emacs. Building for architecture: UltraSparc (MicroSparc kernel) Checking for optional libraries and headers... ...Found libX11 in /usr/openwin/lib ...Extra Libraries are -lsocket -lnsl ...Found X11 header files in /usr/openwin/include/X11 Looking for the compilers ... ...cc is /usr/ucb/cc ...gcc is /opt/local/bin/gcc GNU compiler version 3.4.6 C compiler is /opt/local/bin/gcc -O3 -DGCC_INLINE -Wall -Wno-implicit -fomit-frame-pointer Looking for an assembler ... ...as is /usr/ccs/bin/as Assembler is /usr/ccs/bin/as -P -I. -D__GNUC__ -T C PreProcessor is /opt/local/bin/gcc -E -I. Executable linker is /opt/local/bin/gcc -O3 -DGCC_INLINE -Wall -Wno-implicit -fomit-frame-pointer Dynamic Lib linker is /usr/ccs/bin/ld -G -h $(LIBPARI_SONAME) -lc -lm Given the previous choices, sizeof(long) is 4 chars. The internal word representation of a double is l[0], l[1]. ========================================================================== Checking some common types... ...Found ulong. Looking in C lib for some symbols... ...I did not find exp2. ...Found strftime. ...Found getrusage. ...Found sigrelse. ...Found TIOCGWINSZ. ...Found getrlimit. ...Found opendir. ...I did not find vsnprintf. ...Found dlopen. Installation prefix ? [/usr/local] ...for architecture-independant files (share-prefix) ? [] ..."gp" executable ? [/usr/local/bin] ..."pari" library ? [/usr/local/lib] ...include files ? [/usr/local/include/pari] ...manual pages ? [/usr/local/man/man1] ...documentation, examples, and emacs macros ? [/usr/local/lib/pari] ...miscellaneous data (galois resolvents) ? [/usr/local/lib/pari/galdata] Default is static executable and archive library, graphic=X11 ========================================================================== Extracting examples/Makefile.solaris-sparcv9 Extracting Osolaris-sparcv9/Makefile Extracting Makefile Extracting Osolaris-sparcv9/paricfg.h Extracting Osolaris-sparcv9/../Odos/paricfg.h Extracting scripts and macros ...in doc ...in emacs ...in misc ========================================================================== Shall we try to build pari 2.1.7 (released) now (y/n)? [n] Ok. Type "make install" when you are ready Bye ! #### # make all cd Osolaris-sparcv9; make all make[1]: Entering directory `/opt/rhome/barrem01/Math-Pari-2.010709/pari-2.1.7/Osolaris-sparcv9' /usr/ccs/bin/as -P -I. -D__GNUC__ -T -o kernel.o ../src/kernel/sparcv8/level0_sparcv8_micro.S cat ../src/kernel/sparcv8/level0.h ../src/kernel/none/level1.h > pariinl.h /opt/local/bin/gcc -c -O3 -DGCC_INLINE -Wall -Wno-implicit -fomit-frame-pointer -I. -I../src/headers -o mp.o ../src/kernel/none/mp.c ../src/kernel/none/mp.c: In function `addrr': ../src/kernel/none/mp.c:598: error: asm-specifier for variable `overflow' conflicts with asm clobber list ../src/kernel/none/mp.c:634: confused by earlier errors, bailing out make[1]: *** [mp.o] Error 1 make[1]: Leaving directory `/opt/rhome/barrem01/Math-Pari-2.010709/pari-2.1.7/Osolaris-sparcv9' make: *** [all] Error 2 #### # ./Configure -ask ========================================================================== Beginning configuration questions for GP/PARI. You will be asked some questions about your system. Most of the time, a list of acceptable answers will be supplied as well as a default between brackets. Type a carriage return ('Enter') to accept these defaults. Though the present script strives to prevent any fatal mistake on your part, there is currently no easy way out if you make one. Your best bet is to press Ctrl-C, then start again. Another possibility is to wait till the questions end, edit the file "Oxxx/dft.Config.in", then run Configure -load Oxxx/dft.Config.in (which can be abbreviated to simply "Configure -l", provided your architecture is correctly detected) ========================================================================== Checking echo to see how to suppress newlines... ...using \c ...The star should be here-->* Looking for some tools first ... ...ld is /usr/ccs/bin/ld ...zcat is /opt/csw/bin/zcat ...gzip is /opt/csw/bin/gzip ...ranlib is /usr/ccs/bin/ranlib ...perl is /opt/local/bin/perl ...I could not find emacs. ========================================================================== Currently supported architectures: none m68k i686 sparcv7 ix86 hppa sparcv8_super i386 alpha sparcv8_micro i486 mips sparcv9 i586 fx2800 ...Which of these apply, if any ? [sparcv9] none ========================================================================== I know of the following Operating Systems os2 hpux sunos freebsd aix nextstep cygwin osf1 concentrix linux solaris irix ...Any of these apply ? [solaris] ========================================================================== An optimized Pari kernel is available for these architectures ("none" means that we will use the portable C version of GP/PARI) none sparcv8_micro alpha sparcv7 m68k hppa sparcv8_super ix86 ...Which of these apply, if any ? [none] none ========================================================================== Building for architecture: unknown Checking for optional libraries and headers... ...Found libX11 in /usr/openwin/lib ...Extra Libraries are -lsocket -lnsl ...Found X11 header files in /usr/openwin/include/X11 ========================================================================== GP contains high resolution plotting functions. Choose among none X11 ...Use which graphic library ("none" means no hi-res plot) ? [X11] ========================================================================== The default is to fully optimize the compilation. You may choose to build an executable for debugging or profiling instead. Choose among : full debugging profiling ...Which optimization do you prefer ? [full] Looking for the compilers ... ...cc is /usr/ucb/cc ...gcc is /opt/local/bin/gcc GNU compiler version 3.4.6 ========================================================================== Only ANSI C and C++ compilers are supported. Choosing the GNU compiler gcc/g++ enables the inlining of kernel routines (about 20% speedup; if you use g++, it is a good idea to include the -fpermissive flag). If you choose not to use gcc, the C++ version of Pari will be a little faster because of general inlining, but can be used in library mode only with C++ programs (we **really** recommand using gcc all the way through). ...Which C compiler shall I use ? [/opt/local/bin/gcc] ...With which flags ? [-O3 -DGCC_INLINE -Wall -Wno-implicit -fomit-frame-pointer ] C compiler is /opt/local/bin/gcc -O3 -DGCC_INLINE -Wall -Wno-implicit -fomit-frame-pointer Looking for an assembler ... ...as is /usr/ccs/bin/as Assembler is /usr/ccs/bin/as C PreProcessor is /opt/local/bin/gcc -E -I. ...Which linker for building executables ? [/opt/local/bin/gcc] ...With which flags ? [-O3 -DGCC_INLINE -Wall -Wno-implicit -fomit-frame-pointer ] Executable linker is /opt/local/bin/gcc -O3 -DGCC_INLINE -Wall -Wno-implicit -fomit-frame-pointer ...Which linker for building dynamic libs? [/usr/ccs/bin/ld] ...Which flags for linker? [-G -h $(LIBPARI_SONAME) -lc -lm] Dynamic Lib linker is /usr/ccs/bin/ld -G -h $(LIBPARI_SONAME) -lc -lm ========================================================================== Should you change your mind, you only need to modify the lines CC="/opt/local/bin/gcc" CFLAGS="-O3 -DGCC_INLINE -Wall -Wno-implicit -fomit-frame-pointer " LD="/opt/local/bin/gcc" LDFLAGS="-O3 -DGCC_INLINE -Wall -Wno-implicit -fomit-frame-pointer " DLLD="/usr/ccs/bin/ld" DLLDFLAGS="-G -h $(LIBPARI_SONAME) -lc -lm" in the Makefile ========================================================================== Given the previous choices, sizeof(long) is 4 chars. If your hardware supports different size of longs (e.g SGI/MIPS), and you want to use a different word size than the above. You should probably have specified some exotic compilation flag CFLAG (e.g -o32,-n32). For 32-bit architecture, PARI needs to know the format of your 'double' type. PARI assumes doubles are stored in IEEE754 format [ (sign, exponent, mantissa high) on one word, (mantissa low) on another ]; assuming a union { double d; ulong l[2]; } x; are the double exponent and sign stored on x.i[0] (0) or on x.i[1] (1) ? Using $CC $CFLAGS with CC =/opt/local/bin/gcc CFLAGS=-O3 -DGCC_INLINE -Wall -Wno-implicit -fomit-frame-pointer the answer is: 0. The internal word representation of a double is l[0], l[1]. ========================================================================== Checking some common types... ...Found ulong. Looking in C lib for some symbols... ...I did not find exp2. ...Found strftime. ...Found getrusage. ...Found sigrelse. ...Found TIOCGWINSZ. ...Found getrlimit. ...Found opendir. ...I did not find vsnprintf. ...Found dlopen. ========================================================================== By default, gp will be installed in /usr/local/bin, manual pages under /usr/local/man, etc..., with /usr/local as prefix for all installation directories. If you wish to have binaries under /bin but manual pages under /usr/local/man, that's ok: you will be prompted separately for each of the installation directories, the prefix being only used to set the defaults. (You will be prompted before the actual installation is done.) The names of executables and libraries contain their version number 2.1. A symbolic link to gp or libpari.[a/so] will point to the most recent installation of GP/PARI. Installation prefix ? [/usr/local] /opt/test/ ...for architecture-independant files (share-prefix) ? /opt/test ..."gp" executable ? [/opt/test//bin] ..."pari" library ? [/opt/test//lib] ...include files ? [/opt/test//include/pari] ...manual pages ? [/opt/test/man/man1] ...documentation, examples, and emacs macros ? [/opt/test/doc/pari] ...miscellaneous data (galois resolvents) ? [/opt/test/pari/galdata] ========================================================================== By default, we will try to build the shared library and gp will be an executable dynamically linked with it. Do you prefer to have the static archive libpari.a and a statically linked executable (which is a bit faster, but takes more disk place) ? You can always type "make all" in case you want both later. Do you want static executable and library ? [n] y Default is static executable and archive library, graphic=X11 ========================================================================== This is the name of the directory where all the object files will be : ...Enter dir name : [Osolaris-none] ========================================================================== Extracting examples/Makefile.solaris-none Extracting Osolaris-none/Makefile Extracting Makefile Extracting Osolaris-none/paricfg.h Extracting Osolaris-none/../Odos/paricfg.h Extracting scripts and macros ...in doc ...in emacs ...in misc ========================================================================== Shall we try to build pari 2.1.7 (released) now (y/n)? [n] y cd Osolaris-none; make gp ...