[petsc-users] Compiling Fortran Code
Smith, Barry F.
bsmith at mcs.anl.gov
Wed Mar 13 21:10:13 CDT 2019
Put the use petscksp starting in column 7 of the file
> On Mar 13, 2019, at 9:05 PM, Maahi Talukder via petsc-users <petsc-users at mcs.anl.gov> wrote:
>
> Hi,
>
> Thank you all for your suggestions. I made the changes as suggested. But now I get the following error-
> .................................................................................................................................
> [maahi at CB272PP-THINK1 egrid2d]$ make egrid2d
> /home/maahi/petsc/arch-linux2-c-debug/bin/mpif90 -Wall -ffree-line-length-0 -Wno-unused-dummy-argument -g -I/home/maahi/petsc/include -I/home/maahi/petsc/arch-linux2-c-debug/include -Ofast -fdefault-real-8 -c -I/home/maahi/petsc/include -I/home/maahi/petsc/arch-linux2-c-debug/include -Ofast -fdefault-real-8 main.F -Wl,-rpath,/home/maahi/petsc/arch-linux2-c-debug/lib -L/home/maahi/petsc/arch-linux2-c-debug/lib -Wl,-rpath,/home/maahi/petsc/arch-linux2-c-debug/lib -L/home/maahi/petsc/arch-linux2-c-debug/lib -Wl,-rpath,/usr/lib/gcc/x86_64-redhat-linux/7 -L/usr/lib/gcc/x86_64-redhat-linux/7 -lpetsc -lflapack -lfblas -lm -lpthread -lstdc++ -ldl -lmpifort -lmpi -lgfortran -lm -lgfortran -lm -lgcc_s -lquadmath -lstdc++ -ldl
> main.F:6:1:
>
> use petscksp
> 1
> Error: Non-numeric character in statement label at (1)
> main.F:6:1:
>
> use petscksp
> 1
> Error: Unclassifiable statement at (1)
> make: *** [makefile:28: main.o] Error 1
>
> .............................................................................
> Any idea how to fix that?
>
> Thanks,
> Maahi Talukder
>
>
> On Wed, Mar 13, 2019 at 8:44 PM Balay, Satish <balay at mcs.anl.gov> wrote:
> check petsc makefile format - for ex: src/tao/unconstrained/examples/tutorials/makefile
>
> Also rename your fortran sources that have petsc calls from .f to .F
>
>
> On Wed, 13 Mar 2019, Matthew Knepley via petsc-users wrote:
>
> > On Wed, Mar 13, 2019 at 7:36 PM Maahi Talukder via petsc-users <
> > petsc-users at mcs.anl.gov> wrote:
> >
> > > Dear All,
> > >
> > > I am trying to compile a Fortran code. The make is as it follows-
> > >
> > >
> > > ............................................................................................................................................................................................................................
> > > # Makefile for egrid2d
> > >
> > > OBJS = main.o egrid2d.o
> > >
> > > FFLAGS = -I/home/maahi/petsc/include
> > > -I/home/maahi/petsc/arch-linux2-c-debug/include -Ofast -fdefault-real-8
> > >
> > > #
> > > # link
> > > #
> > > include ${PETSC_DIR}/lib/petsc/conf/variables
> > > include ${PETSC_DIR}/lib/petsc/conf/rules
> > >
> > > egrid2d: $(OBJS)
> > >
> > > ${FLINKER} $(OBJS) -o egrid2d ${PETSC_LIB}
> > >
> >
> > Move this above your includes
> >
> The location is fine. Can you change OBJS to a different name - say OBJ [or something else] and see if that works.
>
> Satish
>
> >
> > >
> > > #
> > > # compile
> > > #
> > > main.o:
> > > ${FLINKER} -c $(FFLAGS) main.f ${PETSC_LIB}
> > >
> >
> > You should not need this rule.
> >
> > Thanks,
> >
> > Matt
> >
> >
> > > #
> > > # Common and Parameter Dependencies
> > > #
> > >
> > > main.o: main.f par2d.f
> > > egrid2d.o: egrid2d.f par2d.f
> > >
> > > .....................................................................................................................................................................................................................................
> > >
> > > But I get the following error-
> > >
> > >
> > > ..............................................................................................................................................................................
> > > /home/maahi/petsc/arch-linux2-c-debug/bin/mpif90 -Wall
> > > -ffree-line-length-0 -Wno-unused-dummy-argument -g
> > > -I/home/maahi/petsc/include -I/home/maahi/petsc/arch-linux2-c-debug/include
> > > -Ofast -fdefault-real-8 -o egrid2d
> > > -Wl,-rpath,/home/maahi/petsc/arch-linux2-c-debug/lib
> > > -L/home/maahi/petsc/arch-linux2-c-debug/lib
> > > -Wl,-rpath,/home/maahi/petsc/arch-linux2-c-debug/lib
> > > -L/home/maahi/petsc/arch-linux2-c-debug/lib
> > > -Wl,-rpath,/usr/lib/gcc/x86_64-redhat-linux/7
> > > -L/usr/lib/gcc/x86_64-redhat-linux/7 -lpetsc -lflapack -lfblas -lm
> > > -lpthread -lstdc++ -ldl -lmpifort -lmpi -lgfortran -lm -lgfortran -lm
> > > -lgcc_s -lquadmath -lstdc++ -ldl
> > > /*usr/lib/gcc/x86_64-redhat-linux/7/../../../../lib64/crt1.o: In function
> > > `_start':*
> > > *(.text+0x20): undefined reference to `main'*
> > > collect2: error: ld returned 1 exit status
> > > make: *** [makefile:18: egrid2d] Error 1
> > >
> > > ........................................................................................................................................
> > >
> > > Any idea how to fix it ?
> > >
> > > Thanks,
> > > Maahi Talukder
> > >
> > >
> > >
> > >
> >
> >
>
More information about the petsc-users
mailing list