On Thu, 7 Nov 2013, at 14:15, Jed Brown wrote: > Svetlana Tkachenko <svetlana.tkache...@fastmail.fm> writes: > > > On Thu, 7 Nov 2013, at 13:59, Jed Brown wrote: > >> Svetlana Tkachenko <svetlana.tkache...@fastmail.fm> writes: > >> > What do you mean? (I don't think the program name has to be 'main'.). > >> > >> No, it doesn't. The name is meaningless in Fortran, but you need to use > >> the keyword "program". > >> > >> > ~/dev/test/petsc $ cat myexample.F90 > >> > program myexample > >> > > >> > call solver > >> > end > >> > ~/dev/test/petsc $ > >> > >> Add myexample.o to the makefile so it gets compiled. > > > > Already did, please, see: > > > > ~/dev/test/petsc $ cat makefile > > myexample: myexample.o solver.o > > ${CLINKER} -o $@ $^ ${PETSC_LIB} > > > > include ${PETSC_DIR}/conf/variables > > include ${PETSC_DIR}/conf/rules > > ~/dev/test/petsc $ > > Run make clean; make. If you get the same error, check > > $ nm myexample.o > U _gfortran_set_args > U _gfortran_set_options > U _GLOBAL_OFFSET_TABLE_ > 0000000000000000 T main > 0000000000000000 r options.0.1881 > U solver_ >
~/dev/test/petsc $ make clean ~/dev/test/petsc $ make gfortran -c -fPIC -Wall -Wno-unused-variable -g -fopenmp -I/home/<username>/petsc/include -I/home/<username>/petsc/linux-amd64/include -I/home/<username>/petsc/include/mpiuni -o myexample.o myexample.F90 gfortran -c -fPIC -Wall -Wno-unused-variable -g -fopenmp -I/home/<username>/petsc/include -I/home/<username>/petsc/linux-amd64/include -I/home/<username>/petsc/include/mpiuni -o solver.o solver.F90 gcc -fopenmp -fopenmp -fPIC -Wall -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas -g3 -fno-inline -O0 -fopenmp -o myexample myexample.o solver.o -Wl,-rpath,/home/<username>/petsc/linux-amd64/lib -L/home/<username>/petsc/linux-amd64/lib -lpetsc -Wl,-rpath,/home/<username>/petsc/linux-amd64/lib -lflapack -lfblas -lX11 -lpthread -Wl,-rpath,/usr/lib/gcc/x86_64-redhat-linux/4.4.7 -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7 -lgfortran -lm -lm -lstdc++ -lstdc++ -ldl -lgcc_s -ldl /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crt1.o: In function `_start': (.text+0x20): undefined reference to `main' collect2: ld returned 1 exit status make: *** [myexample] Error 1 ~/dev/test/petsc $ nm myexample.o 0000000000000000 T MAIN__ U _GLOBAL_OFFSET_TABLE_ U _gfortran_set_options 0000000000000000 r options.0.1516 U solver_ ~/dev/test/petsc $