Email 1: You need to use gmake rather than /usr/ccs/bin/make. First build pfft++, changing fastimpRelease/pfft++/def.makefile to use /usr/local/bin/gcc, assuming you've installed it there: # if you installed the newer version gcc and g++, it will be in here GCC_ROOT = /usr/local/bin # the default place for gcc and g++ #GCC_ROOT = /usr/bin and set LD_ROOT to /usr/ccs/bin, the Solaris native ld: LD_ROOT = /usr/ccs/bin Since there is no need for ranlib on Solaris, I just changed it to touch the lib instead: RANLIB = /usr/bin/touch Make these same changes to fastimpRelease/fastImp/def.makefile. You also need to modify fastimpRelease/fastImp/src/SuperLU/SRC/supermatrix.h, inserting the following series of #undefs prior to the definition of Dtype_t: #ifdef _S #undef _S #endif #ifdef _D #undef _D #endif #ifdef _C #undef _C #endif #ifdef _Z #undef _Z #endif typedef enum { _S, /* single */ _D, /* double */ _C, /* single complex */ _Z /* double complex */ } Dtype_t; This is necessary because, on Solaris, symbols like `_S' are defined as macros /usr/include/iso/ctype_iso.h. With that change, fastImp builds nicely. -SEan ------------------------ Email 2: I forgot to mention one other change - in FastImp/src/surf/surfMain.h, I changed #include <getopt.h> to <stdlib.h>. Solaris doesn't have a separate getopt.h, and i think <stdlib.h> will define getopt() on most posix platforms. -SEan