in reply to Re: Compiling MATH::Pari on Solaris 10
in thread Compiling MATH::Pari on Solaris 10
I searched for the pari application on goggle found it, but it was up to version 2.3.2 In the archives I found version 2.1.7 and downloaded it.# 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 -l +m 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/galda +ta] 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 !
Stuck at step 3 in these instructions, whereas I got a compiled and running pari application when I used Configure -ask# make all cd Osolaris-sparcv9; make all make[1]: Entering directory `/opt/rhome/barrem01/Math-Pari-2.010709/pa +ri-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 > parii +nl.h /opt/local/bin/gcc -c -O3 -DGCC_INLINE -Wall -Wno-implicit -fomit-fram +e-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 `overfl +ow' 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/par +i-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 br +ackets. 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 t +o press Ctrl-C, then start again. Another possibility is to wait till the que +stions 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 arch +itecture 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 bu +ild 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 compile +r 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 becaus +e of general inlining, but can be used in library mode only with C++ progra +ms (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-fra +me-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-fra +me-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 -l +m ====================================================================== +==== 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, m +antissa 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 installati +on 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 defa +ults. (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 recen +t 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 sta +tic 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 ...
|
|---|