Yinan-Scott-Shi / fds-smv

Automatically exported from code.google.com/p/fds-smv
0 stars 0 forks source link

Compile error related to turbulence.mod #836

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Please complete the following lines...

Application Version: 5.4.2
SVN Revision Number: 4534
Compile Date: User-compile (8/4/09)
Operating System: Fedora

Describe details of the issue below:

This is the first time I've tried compiling FDS since the turb.f90 file 
was added.  I'm using the gcc compilers.  I took the object dependencies 
from the most current makefile in the repository:

isob.o : isob.c
smvv.o : smvv.f90 isob.c
prec.o : prec.f90
cons.o : cons.f90 prec.f90
type.o : type.f90 prec.f90 cons.f90
devc.o : devc.f90 prec.f90
pois.o : pois.f90 prec.f90
mesh.o : mesh.f90 prec.f90 type.f90
func.o : func.f90 prec.f90 cons.f90 type.f90 mesh.f90
turb.o : turb.f90 func.f90 prec.f90 cons.f90 mesh.f90
ctrl.o : ctrl.f90 prec.f90 cons.f90 type.f90 mesh.f90 func.f90
irad.o : irad.f90 func.f90 prec.f90 cons.f90 type.f90 mesh.f90
ieva.o : ieva.f90 func.f90 prec.f90 cons.f90 type.f90 mesh.f90
fire.o : fire.f90 func.f90 prec.f90 cons.f90 type.f90 mesh.f90
wall.o : wall.f90 func.f90 prec.f90 cons.f90 type.f90 mesh.f90
velo.o : velo.f90 func.f90 prec.f90 cons.f90 type.f90 mesh.f90 turb.f90
divg.o : divg.f90 func.f90 prec.f90 cons.f90 type.f90 mesh.f90
mass.o : mass.f90 func.f90 prec.f90 cons.f90 type.f90 mesh.f90 turb.f90
radi.o : radi.f90 func.f90 prec.f90 cons.f90 type.f90 mesh.f90 irad.f90
evac.o : evac.f90 func.f90 prec.f90 cons.f90 type.f90 mesh.f90 ieva.f90
pres.o : pres.f90 func.f90 prec.f90 cons.f90 type.f90 mesh.f90 pois.f90
part.o : part.f90 func.f90 prec.f90 cons.f90 type.f90 mesh.f90 devc.f90
vege.o : vege.f90 func.f90 prec.f90 cons.f90 type.f90 mesh.f90 devc.f90
read.o : read.f90 func.f90 prec.f90 cons.f90 type.f90 mesh.f90 devc.f90 
irad.f90 evac.f90
init.o : init.f90 func.f90 prec.f90 cons.f90 type.f90 mesh.f90 devc.f90 
irad.f90 pois.f90
dump.o : dump.f90 func.f90 prec.f90 cons.f90 type.f90 mesh.f90 devc.f90 
evac.f90 smvv.f90 isob.c 
main.o : main.f90 func.f90 prec.f90 cons.f90 type.f90 mesh.f90 devc.f90 
smvv.f90 isob.c mass.f90 divg.f90 velo.f90 wall.f90 fire.f90 irad.f90 
ieva.f90 radi.f90 evac.f90 part.f90 vege.f90 dump.f90 read.f90 init.f90 
pres.f90 pois.f90 ctrl.f90 turb.f90
main_mpi.o : main_mpi.f90 func.f90 prec.f90 cons.f90 type.f90 mesh.f90 
devc.f90 smvv.f90 isob.c mass.f90 divg.f90 velo.f90 wall.f90 fire.f90 
irad.f90 ieva.f90 radi.f90 evac.f90 part.f90 vege.f90 dump.f90 read.f90 
init.f90 pres.f90 pois.f90 ctrl.f90 turb.f90

isob.obj : isob.c
smvv.obj : smvv.f90 isob.c
prec.obj : prec.f90
cons.obj : cons.f90 prec.f90
type.obj : type.f90 prec.f90 cons.f90
devc.obj : devc.f90 prec.f90
pois.obj : pois.f90 prec.f90
mesh.obj : mesh.f90 prec.f90 type.f90
func.obj : func.f90 prec.f90 cons.f90 type.f90 mesh.f90
turb.obj : turb.f90 func.f90 prec.f90 cons.f90 mesh.f90
ctrl.obj : ctrl.f90 prec.f90 cons.f90 type.f90 mesh.f90 func.f90
irad.obj : irad.f90 func.f90 prec.f90 cons.f90 type.f90 mesh.f90
ieva.obj : ieva.f90 func.f90 prec.f90 cons.f90 type.f90 mesh.f90
fire.obj : fire.f90 func.f90 prec.f90 cons.f90 type.f90 mesh.f90
wall.obj : wall.f90 func.f90 prec.f90 cons.f90 type.f90 mesh.f90
velo.obj : velo.f90 func.f90 prec.f90 cons.f90 type.f90 mesh.f90 turb.f90
divg.obj : divg.f90 func.f90 prec.f90 cons.f90 type.f90 mesh.f90
mass.obj : mass.f90 func.f90 prec.f90 cons.f90 type.f90 mesh.f90 turb.f90
radi.obj : radi.f90 func.f90 prec.f90 cons.f90 type.f90 mesh.f90 irad.f90
evac.obj : evac.f90 func.f90 prec.f90 cons.f90 type.f90 mesh.f90 ieva.f90
pres.obj : pres.f90 func.f90 prec.f90 cons.f90 type.f90 mesh.f90 pois.f90
part.obj : part.f90 func.f90 prec.f90 cons.f90 type.f90 mesh.f90 devc.f90
vege.obj : vege.f90 func.f90 prec.f90 cons.f90 type.f90 mesh.f90 devc.f90
read.obj : read.f90 func.f90 prec.f90 cons.f90 type.f90 mesh.f90 devc.f90 
irad.f90 evac.f90
init.obj : init.f90 func.f90 prec.f90 cons.f90 type.f90 mesh.f90 devc.f90 
irad.f90 pois.f90
dump.obj : dump.f90 func.f90 prec.f90 cons.f90 type.f90 mesh.f90 devc.f90 
evac.f90 smvv.f90 isob.c 
main.obj : main.f90 func.f90 prec.f90 cons.f90 type.f90 mesh.f90 devc.f90 
smvv.f90 isob.c mass.f90 divg.f90 velo.f90 wall.f90 fire.f90 irad.f90 
ieva.f90 radi.f90 evac.f90 part.f90 vege.f90 dump.f90 read.f90 init.f90 
pres.f90 pois.f90 ctrl.f90 turb.f90
main_mpi.obj : main_mpi.f90 func.f90 prec.f90 cons.f90 type.f90 mesh.f90 
devc.f90 smvv.f90 isob.c mass.f90 divg.f90 velo.f90 wall.f90 fire.f90 
irad.f90 ieva.f90 radi.f90 evac.f90 part.f90 vege.f90 dump.f90 read.f90 
init.f90 pres.f90 pois.f90 ctrl.f90 turb.f90

I got the following error:

Building gnu_linux_mpi_64 Version of FDS-SMV...

mpicc -c -O3 -unroll -static isob.c
mpif90 -c -O3 -unroll -static -frecord-marker=4 prec.f90
mpif90 -c -O3 -unroll -static -frecord-marker=4 smvv.f90
mpif90 -c -O3 -unroll -static -frecord-marker=4 cons.f90
mpif90 -c -O3 -unroll -static -frecord-marker=4 devc.f90
mpif90 -c -O3 -unroll -static -frecord-marker=4 type.f90
mpif90 -c -O3 -unroll -static -frecord-marker=4 mesh.f90
mpif90 -c -O3 -unroll -static -frecord-marker=4 func.f90
mpif90 -c -O3 -unroll -static -frecord-marker=4 irad.f90
mpif90 -c -O3 -unroll -static -frecord-marker=4 ieva.f90
mpif90 -c -O3 -unroll -static -frecord-marker=4 pois.f90
mpif90 -c -O3 -unroll -static -frecord-marker=4 radi.f90
mpif90 -c -O3 -unroll -static -frecord-marker=4 evac.f90
mpif90 -c -O3 -unroll -static -frecord-marker=4 part.f90
mpif90 -c -O3 -unroll -static -frecord-marker=4 vege.f90
mpif90 -c -O3 -unroll -static -frecord-marker=4 ctrl.f90
mpif90 -c -O3 -unroll -static -frecord-marker=4 dump.f90
mpif90 -c -O3 -unroll -static -frecord-marker=4 read.f90
mpif90 -c -O3 -unroll -static -frecord-marker=4 mass.f90
mpif90 -c -O3 -unroll -static -frecord-marker=4 wall.f90
mpif90 -c -O3 -unroll -static -frecord-marker=4 fire.f90
mpif90 -c -O3 -unroll -static -frecord-marker=4 pres.f90
mpif90 -c -O3 -unroll -static -frecord-marker=4 divg.f90
mpif90 -c -O3 -unroll -static -frecord-marker=4 init.f90
mpif90 -c -O3 -unroll -static -frecord-marker=4 velo.f90
 In file velo.f90:55

USE TURBULENCE, ONLY: VARDEN_DYNSMAG
                                   1
Fatal Error: Can't open module file 'turbulence.mod' for reading at (1): 
No such file or directory
make: *** [velo.o] Error 1

Any thoughts on what that might be caused by?  I'm assuming it is trying 
to access turbulence.mod before it has been created...but I'm not sure why 
that is.  Thanks!

Jamie

Original issue reported on code.google.com by jamie.l...@gmail.com on 4 Aug 2009 at 2:21

GoogleCodeExporter commented 9 years ago
Please disregard/close this one.  It was me missing a few lines I needed to 
adjust 
at the top of the makefile.  Sorry!

Original comment by jamie.l...@gmail.com on 4 Aug 2009 at 2:29

GoogleCodeExporter commented 9 years ago
No problem -- are you saying that the makefile that is maintained in the FDS 
Repository is missing something, or is it OK?

Original comment by mcgra...@gmail.com on 4 Aug 2009 at 2:39

GoogleCodeExporter commented 9 years ago
The makefile in the repository is fine.  I use a slighty different one for
my OS and had neglected to update a few key lines that are correct in the
repository.

Original comment by jamie.l...@gmail.com on 4 Aug 2009 at 3:09

GoogleCodeExporter commented 9 years ago
Should we add the lines to the makefile that is on-line? Our goal is to have a 
makefile that works on as many different platforms as possible, so that we can 
better control all the various compiler options that make one version of FDS 
different from another.

Original comment by mcgra...@gmail.com on 4 Aug 2009 at 3:12

GoogleCodeExporter commented 9 years ago
That would be great.  The only addition I have is for serial compile of Gnu 
Linux 64:

gnu_linux_64 : FFLAGS = -O3 -unroll -static -frecord-marker=4
gnu_linux_64 : CFLAGS = -O3 -unroll -static
gnu_linux_64 : FCOMPL = mpif90
gnu_linux_64 : CCOMPL = mpicc
gnu_linux_64 : obj = fds5_serial_linux_64
gnu_linux_64 : setup $(obj_serial)
    $(FCOMPL) $(FFLAGS) -o $(obj) $(obj_serial)

Original comment by jamie.l...@gmail.com on 4 Aug 2009 at 3:26

GoogleCodeExporter commented 9 years ago
Why do you use mpif90 and mpicc for a serial compile?

Original comment by mcgra...@gmail.com on 4 Aug 2009 at 4:04

GoogleCodeExporter commented 9 years ago
I hadn't noticed...that is probably the result of a copy and paste that somehow 
worked.  I suspect I would be better off with gfortran and gcc instead.  I will 
try 
to change to that and see what happens, then post the result here.  It may be a 
day 
or two before I can give it a shot.

Original comment by jamie.l...@gmail.com on 4 Aug 2009 at 4:16

GoogleCodeExporter commented 9 years ago
Take a look at what we currently have listed for the gnu compilers. I'd like to 
make 
these as consistent as possible. Sometimes we get compiler options that are so 
specific to a particular machine/OS that the options work for no one else.

Original comment by mcgra...@gmail.com on 4 Aug 2009 at 4:48

GoogleCodeExporter commented 9 years ago
The following code works.  It is also consistent with the current listing for 
the 
mpi version of gnu_linux_64 as well as for the serial version of gnu_linux_32.

gnu_linux_64 : FFLAGS = -O3 -unroll -static -frecord-marker=4
gnu_linux_64 : CFLAGS = -O3 -unroll -static
gnu_linux_64 : FCOMPL = gfortran
gnu_linux_64 : CCOMPL = gcc
gnu_linux_64 : obj = fds5_serial_linux_64
gnu_linux_64 : setup $(obj_serial)
    $(FCOMPL) $(FFLAGS) -o $(obj) $(obj_serial)

Original comment by jamie.l...@gmail.com on 4 Aug 2009 at 4:58

GoogleCodeExporter commented 9 years ago
I just committed the change. Note that I call the executable fds5_gnu_linux_64 
to 
conform to our standard practice

fds5_compiler_OS_bit

Thanks

Original comment by mcgra...@gmail.com on 4 Aug 2009 at 5:06

GoogleCodeExporter commented 9 years ago

Original comment by mcgra...@gmail.com on 23 Nov 2009 at 9:44