REMARK:

It is possible to compile PARI library dynamically linked (at least on
Solaris). I do it with the following additions to PARI/GP Makefile:
(on SVR4 you should change -R `pwd` part to LD_RUN_LIB=`pwd` before
the final link command).

STATIC_LIBS = -lsunmath

dynamic:	genpari.h gp-dynamic

gp-dynamic:	genpari.h $(GPMAIN) $(OBJS) plot.o $(RLLIBS) libpari.so
	$(CC) $(CFLAGS) $(LFLAGS) -o gp $(GPMAIN) $(OBJS) plot.o  -R `pwd` -L. -lpari $(STATIC_LIBS) $(LIBS) $(PLOTLIBS) $(RLFLAGS)

install-dynamic: install-lib-dynamic install-bin install-man

install-lib-dynamic: libpari.so
	$(INSTALL_DATA) libpari.so $(LIBDIR)

libpari.so: $(OBJS) plot.o
	ld -G -o libpari.so $(OBJS) $(LIBS) $(PLOTLIBS) $(RLFLAGS) plot.o

You should also add libpari.so to the clean rule.

REMARK^2:

You need an option -K pic when you compile files for dynamic
linking. However, I just linked objects from usual (static) compile
into libpari.so, and it is used without any problem both from gp and
perl. If anybody can explain at what moment should I expect to get
problems, give me know. Is it _after_ the .so library is upgraded?

REMARK^3:

It is possible to compile PARI/GP on Solaris, at least if you have a
Sparc compiler. You should delete all the "_" from sparcv?.s, and the
makefile rule should be 

gp:	genpari.h $(GPMAIN) $(OBJS) plot.o $(RLLIBS)
	$(CC) $(CFLAGS) $(LFLAGS) -o gp $(GPMAIN) $(OBJS) plot.o $(LIBS) $(PLOTLIBS) $(RLFLAGS)

and

CFLAGS = -O -DLONG_IS_32BIT -DSOLARIS

You need also to apply the following patch:

*** ../gencom.h	Sat Oct 22 16:52:56 1994
--- gencom.h	Mon Nov  7 21:51:24 1994
***************
*** 132,137 ****
--- 132,141 ----
  extern  long    pari_randseed;
  extern  long    DEBUGLEVEL;
  
+ #ifdef SOLARIS
+ #include <sunmath.h>
+ #endif
+ 
  extern const int STACKSIZE;  /* nombre de gn possibles */
  extern const int TBLSZ;  /* taille de la table de hashcodes */
  extern const int MAXBLOC;  /* nombre de blocs autorises dans le tas */


I did not manage to compile files versionsparcv8.c and plot.c with
gcc. All other files compile OK with the following definitions:

CFLAGS = -O2 -ansi  -DLONG_IS_32BIT -DSOLARIS -DULONG_NOT_DEFINED -I/opt/SUNWspro/SC3.0/include/cc

STATIC_LIBS = -L/opt/SUNWspro/SC3.0/lib -lsunmath

Obviously, you need to have sunmath.h and libsummath.a available. 

If you proceed anywhere further, please give me know (and send mail to
PARI maintainers, their portability attitude can improve still).
