[FLASH-USERS] looking for help

Dean Townsley Dean.M.Townsley at ua.edu
Thu Jun 16 13:38:02 EDT 2011


Hi Zhang,

I don't think anything in flash (at least in the core modules) uses the
C++ compiler (mpiCC) so don't worry about that.

The problem you are having now looks like a simple unix permissions
problem. Did you run the setup as a different user than you are running
gmake?

You apparently made it past this point before in order to get the
compiler errors from your previous email.

You might want to save your Makefile.h and start over from a fresh tree
in case something has gotten messed up.

I hope you can figure it out,
Dean

On 06/16/2011 02:34 AM, Zhang Chao wrote:
> Dear Dean and Shravan,
>
> Thank you for the help.
>
> I would like to thank Dean especially, because I learn a lot from your
> email.
> But now I meet a new problem, I follow the User’s guide, create a new
> folder (named my hostname) in the sites/ directory and create a
> Makefile.h.
>
>
> This time I want to ask 2 problems.
> Firstly, in the Makefile.h, there is a path “CPPCOMP =
> /opt/software/mpich2-gnu/bin/mpiCC”. But I cannot find “mpiCC” in my
> computer. There are “mpif90”and “mpicc” in the computer.
>
> Secondly, when I type “gmake” in the object/ directory, the error
> comes out.
> Here is the error:
>
> [walli at localhost object]$ gmake
> Calculating dependencies
> ./setup_depends.py --generateINTERMEDIATElines -c -O2 -fdefault-real-8
> -fdefault-double-8 -ffree-line-length-none -I /opt/hdf-1.6.5/include
> -O2 -c *.f *.f90 *.F90 *.F
> Traceback (most recent call last):
> File "./setup_depends.py", line 257, in ?
> main()
> File "./setup_depends.py", line 133, in main
> ofd = file("Makefile.Depend","w")
> IOError: [Errno 13] Permission denied: 'Makefile.Depend'
> rm: cannot remove `.success': Permission denied
> gmake: *** [printflags] Error 1
>
>
>
> I really don’t know how to deal with this. Could anyone help me about
> this?
>
>
> Best wish,
>
> Zhang Chao
>
>
>
> The following is my Makefile.h
> I just change the “HDF5_PATH”, “NCMPI_PATH”, “FCOMP”, “CCOMP”,
> “CPPCOMP”, “LINK”
>
> # FLASH makefile definitions for ix86-64 Linux (gfortran compiler)
>
> #----------------------------------------------------------------------------
>
> # Set the HDF/HDF5 library paths -- these need to be updated for your
> system
> #----------------------------------------------------------------------------
>
> HDF4_PATH =
> HDF5_PATH = /opt/hdf-1.6.5
>
> ZLIB_PATH =
>
> PAPI_PATH =
> PAPI_FLAGS =
>
> NCMPI_PATH = /opt/software/parallel-netcdf-1.0.2
> MPE_PATH =
>
> #----------------------------------------------------------------------------
>
> # Compiler and linker commands
> #
> # Use the MPICH wrappers around the compilers -- these will automatically
> # load the proper libraries and include files. Version of MPICH prior
> # to 1.2.2 (?) do not recognize .F90 as a valid Fortran file extension.
> # You need to edit mpif90 and add .F90 to the test of filename
> extensions,
> # or upgrade your MPICH.
> #----------------------------------------------------------------------------
>
> FCOMP = /opt/software/mpich2-gnu/bin/mpif90
> CCOMP = /opt/software/mpich2-gnu/bin/mpicc
> CPPCOMP = /opt/software/mpich2-gnu/bin/mpiCC
> LINK = /opt/software/mpich2-gnu/bin/mpif90
>
> # pre-processor flag
> PP = -D
>
> #----------------------------------------------------------------------------
>
> # Compilation flags
> #
> # Three sets of compilation/linking flags are defined: one for optimized
> # code, one for testing, and one for debugging. The default is to use the
> # _OPT version. Specifying -debug to setup will pick the _DEBUG version,
> # these should enable bounds checking. Specifying _TEST is used for
> # flash_test, and is set for quick code generation, and (sometimes)
> # profiling. The Makefile generated by setup will assign the generic
> token
> # (ex. FFLAGS) to the proper set of flags (ex. FFLAGS_OPT).
> #----------------------------------------------------------------------------
>
>
> FFLAGS_OPT = -c -O2 -fdefault-real-8 -fdefault-double-8
> -ffree-line-length-none
> FFLAGS_DEBUG = -g -c -fdefault-real-8 -fdefault-double-8
> -ffree-line-length-none
> FFLAGS_TEST = -c -fdefault-real-8 -fdefault-double-8
> -ffree-line-length-none
>
> F90FLAGS =
>
> CFLAGS_OPT = -O2 -c
> CFLAGS_DEBUG = -g -c
> CFLAGS_TEST = -c
>
> # if we are using HDF5, we need to specify the path to the include files
> CFLAGS_HDF5 = -I ${HDF5_PATH}/include
>
> CFLAGS_NCMPI = -I$(NCMPI_PATH)/include
>
> #----------------------------------------------------------------------------
>
> # Linker flags
> #
> # There is a seperate version of the linker flags for each of the _OPT,
> # _DEBUG, and _TEST cases.
> #----------------------------------------------------------------------------
>
>
> LFLAGS_OPT = -static -o
> LFLAGS_DEBUG = -g -o
> LFLAGS_TEST = -o
>
>
> #----------------------------------------------------------------------------
>
> # Library specific linking
> #
> # If a FLASH module has a 'LIBRARY xxx' line in its Config file, we
> need to
> # create a macro in this Makefile.h for LIB_xxx, which will be added
> to the
> # link line when FLASH is built. This allows us to switch between
> different
> # (incompatible) libraries. We also create a _OPT, _DEBUG, and _TEST
> # library macro to add any performance-minded libraries (like fast math),
> # depending on how FLASH was setup.
> #----------------------------------------------------------------------------
>
>
> LIB_OPT =
> LIB_DEBUG =
> LIB_TEST =
>
> LIB_HDF4 = -lmfhdf -ldf -ljpeg -lz
> LIB_HDF5 = -L ${HDF5_PATH}/lib -lhdf5 /usr/lib64/libz.a
>
> LIB_PAPI =
> LIB_MATH = -ldfftw -ldrfftw
>
> LIB_MPI =
> LIB_NCMPI = -L $(NCMPI_PATH)/lib -lpnetcdf
> LIB_MPE =
>
> #----------------------------------------------------------------------------
>
> # Additional machine-dependent object files
> #
> # Add any machine specific files here -- they will be compiled and linked
> # when FLASH is built.
> #----------------------------------------------------------------------------
>
>
> MACHOBJ =
>
>
> #----------------------------------------------------------------------------
>
> # Additional commands
> #----------------------------------------------------------------------------
>
>
> MV = mv -f
> AR = ar -r
> RM = rm -f
> CD = cd
> RL = ranlib
> ECHO = echo
>
>
>
> --------------------------------------------------
> From: "Dean Townsley" <Dean.M.Townsley at ua.edu>
> Sent: Thursday, June 16, 2011 2:44 AM
> To: "Zhang Chao" <walli1986 at hotmail.com>
> Cc: <flash-users at flash.uchicago.edu>
> Subject: Re: [FLASH-USERS] looking for help
>
>> Hi Zhang,
>>
>> It looks like your compiler flags are probably not appropriate for your
>> compiler.
>>
>> Assuming that you are using a gnu compiler stack (i.e. gfortran) the
>> flags I use are:
>>
>> FFLAGS_OPT = -c -O3 -fdefault-real-8 -fdefault-double-8
>> -ffree-line-length-none
>> FFLAGS_DEBUG = -g -Warray-bounds -c -fdefault-real-8 -fdefault-double-8
>> -ffree-line-length-non
>> e
>> FFLAGS_TEST = -c -fdefault-real-8 -fdefault-double-8
>> -ffree-line-length-none
>>
>> These are basically the same as those in the
>> sites/Prototypes/Linux/Makefile.h.gfortran file included with the
>> distribution. If you are using gnu compilers, you should take that as
>> your starting point for getting a working Makefile.h rather than the
>> plain sites/Prototypes/Linux/Makefile.h one.
>>
>> I hope that helps.
>>
>> Dean
>>
>> On 06/14/2011 10:14 PM, Zhang Chao wrote:
>>> Dear all,
>>> I am new to the flash code. when I follow the user's guide. I met lots
>>> of questions.
>>> First, when I type "./setup Sedov -auto", "cd object" and "gmake", the
>>> error came out
>>> [walli at localhost object]$ gmake
>>> rm -f reorder.sh
>>> /opt/software/mpich2-gnu/bin/mpif90 -c -O2 --tp4 -CcdRR8
>>> -DMAXBLOCKS=1000 -DNXB=8 -DNYB=8 -DNZB=1 -DN_DIM=2
>>> ut_interpolationInterface.F90
>>> gfortran: unrecognized option '-CcdRR8'
>>> cc1: error: unrecognized command line option "-ftp4"
>>> gmake: *** [ut_interpolationInterface.o] Error 1
>>> a part of my Makefile.h is that:
>>> #----------------------------------------------------------------------------
>>>
>>> # Set the HDF/HDF5 library paths -- these need to be updated for your
>>> system
>>> #----------------------------------------------------------------------------
>>>
>>>
>>> HDF5path = /opt/hdf-1.6.5
>>> MPIpath = /opt/software/mpich2-gnu
>>> PAPI_PATH =
>>> PAPI_FLAGS =
>>> ZLIB_PATH =
>>> NCMPI_PATH = /opt/parallel-netcdf-1.0.2
>>> MPE_PATH =
>>> #----------------------------------------------------------------------------
>>>
>>> # Compiler and linker commands
>>> #
>>> # We use the f90 compiler as the linker, so some C libraries may
>>> explicitly
>>> # need to be added into the link line.
>>> #----------------------------------------------------------------------------
>>>
>>> FCOMP = ${MPIpath}/bin/mpif90
>>> CCOMP = gcc
>>> CPPCOMP = gcc
>>> LINK = ${MPIpath}/bin/mpif90
>>>
>>> # pre-processor flag
>>>
>>> PP = -D
>>> FFLAGS_OPT = -c -O2 --tp4 -CcdRR8
>>> FFLAGS_DEBUG = -c -g --trace --trap --chk[aes] -CcdRR8
>>> FFLAGS_TEST = -c -CcdRR8
>>> should I change the "FFLAGS_OPT, FFLAGS_DEBUT, FFLAGS_TEST"?
>>> I really don't know how to do this. Can anybody help me?
>>> Best wishes,
>>> Zhang Chao
>>
>



More information about the flash-users mailing list