Ah - I wasn't checking your make output closly.. Looks like you are listing your libs after petsclibs. You'll have to list the object files - in the correct order of dependencies..
> > > -lirc -lgcc_s -lirc_s -ldl -o a.out global.o main.f90 Also - looks like you are compiling & linking at the same step.. [i.e using .o and .f90 in the same command]. Sugest crearing .o files before linking.. i.e ${FLINKER} -o a.out global.o main.o ${PETSC_LIB} Satish On Thu, 11 Jan 2007, Ben Tay wrote: > Yes it ran successfully. I've attached the output. > > thank you very much. > > > On 1/11/07, Satish Balay <balay at mcs.anl.gov> wrote: > > > > Do PETSc examples work? > > > > Send us the output from > > > > make test > > > > Staish > > > > On Wed, 10 Jan 2007, Ben Tay wrote: > > > > > Hi, > > > > > > I have a very simple fortran code. It compiles on a 32bit system with > > mkl > > > with no errors but on em64t, it gives "undefined reference to ...." > > error. > > > > > > It works when I compiled with the supplied blas/lapack. However if I use > > > Intel mkl, it gives the error as stated above. > > > > > > My code is > > > > > > global.F > > > > > > module global_data > > > > > > implicit none > > > > > > save > > > > > > #include "include/finclude/petsc.h" > > > #include "include/finclude/petscvec.h" > > > #include "include/finclude/petscmat.h" > > > #include "include/finclude/petscksp.h" > > > #include "include/finclude/petscpc.h" > > > #include "include/finclude/petscmat.h90" > > > > > > integer :: i,j,k > > > > > > Vec xx,b_rhs,xx_uv,b_rhs_uv ! /* solution vector, right > > hand > > > side vector and work vector */ > > > > > > Mat A_mat,A_mat_uv ! /* sparse matrix */ > > > > > > end module global_data > > > > > > main.f90 > > > > > > program ns2d_c > > > > > > use global_data > > > > > > implicit none > > > > > > integer :: ierr > > > > > > i=1 > > > > > > call PetscInitialize(PETSC_NULL_CHARACTER,ierr) > > > > > > call > > MatCreateSeqAIJ(PETSC_COMM_SELF,9,9,9,PETSC_NULL_INTEGER,A_mat,ierr) > > > > > > end program ns2d_c > > > > > > > > > The error msg is > > > > > > /tmp/ifort0JBYUf.o(.text+0x46): In function `ns2d_c': > > > /nfs/home/enduser/g0306332/test/main.F:11: undefined reference to > > > `petscinitialize_' > > > > > /tmp/ifort0JBYUf.o(.text+0xaf):/nfs/home/enduser/g0306332/test/main.F:13: > > > undefined reference to `matcreateseqaij_' > > > > > > The compiling commands, which I rephrase from the "make ex1f" are > > > > > > ifort -132 -fPIC -g -c > > > -I/nfs/lsftmp/g0306332/petsc-2.3.2-p8-I/nfs/lsftmp/g0306332/petsc- > > > 2.3.2-p8/bmake/l64-nompi-noshared > > > -I/nfs/lsftmp/g0306332/petsc-2.3.2-p8/include > > > -I/nfs/lsftmp/g0306332/petsc-2.3.2-p8/include/mpiuni global.F > > > > > > ifort -fPIC -g > > > -Wl,-rpath,/nfs/lsftmp/g0306332/petsc-2.3.2-p8/lib/l64-nompi-noshared > > > -L/nfs/lsftmp/g0306332/petsc-2.3.2-p8/lib/l64-nompi-noshared -lpetscksp > > > -lpetscdm -lpetscmat -lpetscvec -lpetsc > > > -Wl,-rpath,/nfs/lsftmp/g0306332/petsc-2.3.2-p8/lib/l64-nompi-noshared > > > -L/nfs/lsftmp/g0306332/petsc-2.3.2-p8/lib/l64-nompi-noshared -lmpiuni > > > -Wl,-rpath,/lsftmp/g0306332/inter/mkl/lib/em64t > > > -L/lsftmp/g0306332/inter/mkl/lib/em64t -lmkl_lapack -lmkl_em64t -lguide > > > -lpthread -ldl -Wl,-rpath,/usr/local/intel/cce9.0/lib > > > -L/usr/local/intel/cce9.0/lib > > > -Wl,-rpath,/usr/lib/gcc/x86_64-redhat-linux/3.4.6/ > > > -L/usr/lib/gcc/x86_64-redhat-linux/3.4.6/ > > > -Wl,-rpath,/usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../lib64 > > > -L/usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../lib64 -lsvml -limf > > > -lirc -lgcc_s -lirc_s -Wl,-rpath,"/usr/local/intel/cce9.0/lib" > > > -Wl,-rpath,"/usr/local/intel/cce9.0/lib" -L"/usr/local/intel/cce9.0/lib" > > > -Wl,-rpath,"/usr/lib/gcc/x86_64-redhat-linux/3.4.6/" > > > -Wl,-rpath,"/usr/lib/gcc/x86_64-redhat-linux/3.4.6/" > > > -L"/usr/lib/gcc/x86_64-redhat-linux/3.4.6/" > > > -Wl,-rpath,"/usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../lib64" > > > -Wl,-rpath,"/usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../lib64" > > > -L"/usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../lib64" > > > -Wl,-rpath,/usr/local/intel/fc9.0/lib -L/usr/local/intel/fc9.0/lib > > -lifport > > > -lifcore -lm -Wl,-rpath,/usr/local/intel/cce9.0/lib > > > -Wl,-rpath,/usr/local/intel/cce9.0/lib -L/usr/local/intel/cce9.0/lib > > > -Wl,-rpath,/usr/lib/gcc/x86_64-redhat-linux/3.4.6/ > > > -Wl,-rpath,/usr/lib/gcc/x86_64-redhat-linux/3.4.6/ > > > -L/usr/lib/gcc/x86_64-redhat-linux/3.4.6/ > > > -Wl,-rpath,/usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../lib64 > > > -Wl,-rpath,/usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../lib64 > > > -L/usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../lib64 -lm -ldl > > > -Wl,-rpath,/usr/local/intel/cce9.0/lib -L/usr/local/intel/cce9.0/lib > > > -Wl,-rpath,/usr/lib/gcc/x86_64-redhat-linux/3.4.6/ > > > -L/usr/lib/gcc/x86_64-redhat-linux/3.4.6/ > > > -Wl,-rpath,/usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../lib64 > > > -L/usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../lib64 -lsvml -limf > > > -lirc -lgcc_s -lirc_s -ldl -o a.out global.o main.f90 > > > > > > I have used shared,static library. I wonder if it is a problem with mkl > > > em64t or there's something wrong with my code/compilation. > > > > > > > > > > > > Thank you. > > > > > > > >