I just tried the makefile trick, I think that will serve my purpose for now.
thanks. Sanjay ________________________________________ From: [email protected] [[email protected]] on behalf of Satish Balay [[email protected]] Sent: 05 April 2015 19:32 To: Sanjay Kharche Cc: [email protected] Subject: Re: [petsc-users] compiling code that uses Petsc and Sundials 1. you can always rebuild PETSc on the "local supercomputer" Just grab the reconfigure_arch.py script from the current install [to capture the recommended mpi, blas etc..] - modify it as you need - and rerun it with your copy of PETSc sources. Wrt your install of sundials [assuming its built with the same compilers, mpi etc.. the following might work.. Satish ---------- $ cat makefile MYSUNDIALS_INCLUDE = -I/path/to/my-sundials/include MYSUNDIALS_LIB = -L/path/to/my-sundials -sundials_cvode -lsundials_nvecserial -lsundials_nvecparallel CPPFLAGS = ${MYSUNDIALS_INCLUDE} CLEANFILES = *.dat *.vtk *.vts ex15 *.o sk2d *~ include ${PETSC_DIR}/conf/variables include ${PETSC_DIR}/conf/rules sk2d: sk2d.o chkopts -${CLINKER} -o sk2d sk2d.o ${PETSC_TS_LIB} ${MYSUNDIALS_LIB} ${BLASLAPACK_LIB} ${MPI_LIB} -lm -inline-calloc On Sun, 5 Apr 2015, Sanjay Kharche wrote: > > Dear All > > I would like to compile my code that uses Petsc and Sundials using a morph of > the petsc makefile on my supercomputer. There are a few technical issues that > I will appreciate your feedback on. > > My code uses Petsc and Sundials. On my local machine, I installed Petsc with > Sundials. The makefile examples I got allow me to compile my code which is a > single file. I can see that -lsundials_cvode -lsundials_nvecserial > -lsundials_nvecparallel are all there, as well as the blas lapack. Pasted > below is my simple makefile and what happens when I make sk2d > > Now I want to port my code to our local supercomputer, where I am not admin. > The admin have installed petsc. I managed to compile and run the examples of > that install - so it works on its own. This copy of petsc was not installed > by connecting to Sundials. Therefore, I have installed sundials in my home > directory. I tried to add the sundials paths in the makefile below at various > locations (in fact, I could not work out where exactly to put the includes > and libs!), but I could not get my code to compile. Any suggestions? > > cheers > Sanjay > > Local computer makefile: > cat makefile > > include ${PETSC_DIR}/conf/variables > include ${PETSC_DIR}/conf/rules > > sk2d: sk2d.o chkopts > -${CLINKER} -o sk2d sk2d.o ${PETSC_TS_LIB} -lm -inline-calloc > > veryclean: > rm -rf *.dat *.vtk *.vts ex15 *.o sk2d *~ > > output of make sk2d: > > make sk2d > /media/6c6201d2-4e2e-4b24-8d04-263b5bc06dfa/sanjay/petsc/linux-gnu-c-debug/bin/mpicc > -o sk2d.o -c -fPIC -Wall -Wwrite-strings -Wno-strict-aliasing > -Wno-unknown-pragmas -g3 -O0 -I/export2/sanjay/petsc/include > -I/export2/sanjay/petsc/linux-gnu-c-debug/include > -I/media/6c6201d2-4e2e-4b24-8d04-263b5bc06dfa/sanjay/petsc/linux-gnu-c-debug/include > `pwd`/sk2d.c > /export2/sanjay/mypetscProgs/Work/twod/sk2d.c: In function ‘main’: > /export2/sanjay/mypetscProgs/Work/twod/sk2d.c:112:24: warning: variable > ‘usr_time’ set but not used [-Wunused-but-set-variable] > /export2/sanjay/mypetscProgs/Work/twod/sk2d.c:111:7: warning: unused variable > ‘output’ [-Wunused-variable] > /export2/sanjay/mypetscProgs/Work/twod/sk2d.c:101:72: warning: unused > variable ‘usr_nbs’ [-Wunused-variable] > /media/6c6201d2-4e2e-4b24-8d04-263b5bc06dfa/sanjay/petsc/linux-gnu-c-debug/bin/mpicc > -fPIC -Wall -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas -g3 > -O0 -o sk2d sk2d.o -Wl,-rpath,/export2/sanjay/petsc/linux-gnu-c-debug/lib > -L/export2/sanjay/petsc/linux-gnu-c-debug/lib -lpetsc > -Wl,-rpath,/media/6c6201d2-4e2e-4b24-8d04-263b5bc06dfa/sanjay/petsc/linux-gnu-c-debug/lib > > -L/media/6c6201d2-4e2e-4b24-8d04-263b5bc06dfa/sanjay/petsc/linux-gnu-c-debug/lib > -lscalapack -lsundials_cvode -lsundials_nvecserial -lsundials_nvecparallel > -lflapack -lfblas -lX11 -lssl -lcrypto -lpthread -lm > -Wl,-rpath,/usr/lib/gcc/x86_64-redhat-linux/4.6.3 > -L/usr/lib/gcc/x86_64-redhat-linux/4.6.3 -lmpichf90 -lgfortran -lm -lgfortran > -lm -lquadmath -lm -lmpichcxx -lstdc++ > -Wl,-rpath,/media/6c6201d2-4e2e-4b24-8d04-263b5bc06dfa/sanjay/petsc/linux-gnu-c-debug/lib > > -L/media/6c6201d2-4e2e-4b24-8d04-263b5bc06dfa/sanjay/petsc/linux-gnu-c-debug/lib > -Wl,-rpath,/usr/lib/gcc/x86_64-redhat-linux/4.6.3 > -L/usr/lib/gcc/x86_64-redhat-linux/4.6.3 -ldl > -Wl,-rpath,/media/6c6201d2-4e2e-4b24-8d04-263b5bc06dfa/sanjay/petsc/linux-gnu-c-debug/lib > -lmpich -lopa -lmpl -lrt -lpthread -lgcc_s -ldl -lm -inline-calloc >
