[petsc-users] Question on PETSc makefile
Alan Wei
zhenglun.wei at gmail.com
Thu Aug 25 14:11:09 CDT 2011
Thanks a lot for the explanation. I will simply leave the makefile in the
same directory of codes to avoid making mistakes.
best,
Alan
On Thu, Aug 25, 2011 at 2:01 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
>
> ComputeRHS.o: Programs/ComputeRHS.c Programs/ComputeRHS.h Programs/def.h
> chkopts
> -${CLINKER} -o ComputerRHS.o Programs/ComputeRHS.c
> ${PETSC_SNES_LIB}
>
> Don't use the CLINKER to compile code. That is only for linking the
> executable. So for example you should be able to us
>
> myprogram: Programs/ComputeRHS.o
> -${CLINKER} -o myprogram Programs/ComputeRHS.o ${PETSC_SNES_LIB}
>
> Also it generally is much easier to have make files that site in the same
> directory as the source code, less hassle and less likely for things to go
> wrong.
>
> Barry
>
>
> On Aug 25, 2011, at 1:56 PM, Alan Wei wrote:
>
> > Dear all,
> > I hope you're having a nice day.
> > I met a problem on makefile of PETSc. Original PETSc has the makefile
> in the same directory of the .c files. However, I want to put all .c files
> to another directory. I changed the makefile also; however it always has a
> error saying the PETSc header files can not be found:
> >
> > /home/zlwei/soft/mercurial/petsc-dev/arch-linux2-c-debug/bin/mpicc -Wall
> -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas -g3 -o
> ComputerRHS.o Programs/ComputeRHS.c
> -L/home/zlwei/soft/mercurial/petsc-dev/arch-linux2-c-debug/lib -lpetsc
> -Wl,-rpath,/home/zlwei/soft/mercurial/petsc-dev/arch-linux2-c-debug/lib
> -lflapack -lfblas -lm -L/usr/lib/gcc/x86_64-redhat-linux/4.1.2 -ldl -lmpich
> -lopa -lmpl -lrt -lpthread -lgcc_s -lmpichf90 -lgfortran -lm -lm -ldl
> -lmpich -lopa -lmpl -lrt -lpthread -lgcc_s -ldl
> > Programs/ComputeRHS.c:1:23: error: petscdmda.h: No such file or directory
> > Programs/ComputeRHS.c:2:22: error: petscksp.h: No such file or directory
> > Programs/ComputeRHS.c:3:23: error: petscpcmg.h: No such file or directory
> > Programs/ComputeRHS.c:4:23: error: petscdmmg.h: No such file or directory
> > In file included from Programs/ComputeRHS.c:5:
> > Programs/def.h:6:22: error: petscsys.h: No such file or directory
> > In file included from Programs/ComputeRHS.c:5:
> > Programs/def.h:25: error: expected specifier-qualifier-list before
> PetscReal
> > Programs/def.h:29: error: expected specifier-qualifier-list before
> PetscScalar
> > Programs/def.h:35: error: expected specifier-qualifier-list before
> PetscInt
> > Programs/def.h:41: error: expected specifier-qualifier-list before
> PetscScalar
> > Programs/ComputeRHS.c:10: error: expected =, ,, ;, asm or __attribute__
> before ComputeRHS
> > make: [ComputeRHS.o] Error 1 (ignored)
> > make: *** No rule to make target `Initialization.o', needed by `ex29'.
> Stop.
> >
> > My codes are attached. Could you please help me to figure this out?
> >
> > thanks,
> > Alan
> > <MakeFileProblem.zip>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20110825/7e596c20/attachment.htm>
More information about the petsc-users
mailing list