geodynamics / axisem

AxiSEM is a parallel spectral-element method to solve 3D wave propagation in a sphere with axisymmetric or spherically symmetric visco-elastic, acoustic, anisotropic structures.
67 stars 31 forks source link

Parallel builds don't work. #7

Closed QuLogic closed 10 years ago

QuLogic commented 10 years ago

Building in parallel does not seem to work:

$ cmake .
-- The C compiler identification is GNU 4.8.2
-- The CXX compiler identification is GNU 4.8.2
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- The Fortran compiler identification is GNU
-- Check for working Fortran compiler: /usr/bin/gfortran
-- Check for working Fortran compiler: /usr/bin/gfortran  -- works
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Checking whether /usr/bin/gfortran supports Fortran 90
-- Checking whether /usr/bin/gfortran supports Fortran 90 -- yes
-- Found MPI_C: /usr/lib64/openmpi/lib/libmpi.so  
-- Found MPI_CXX: /usr/lib64/openmpi/lib/libmpi_cxx.so;/usr/lib64/openmpi/lib/libmpi.so  
-- Found MPI_Fortran: /usr/lib64/openmpi/lib/libmpi_usempi.so;/usr/lib64/openmpi/lib/libmpi_mpifh.so;/usr/lib64/openmpi/lib/libmpi.so  
-- Try OpenMP Fortran flag = [/openmp]
-- Try OpenMP Fortran flag = [/Qopenmp]
-- Try OpenMP Fortran flag = [-openmp]
-- Try OpenMP Fortran flag = [-fopenmp]
-- Found OpenMP_Fortran: -fopenmp  
-- Failed to find NetCDF interface for F90
-- Could NOT find NetCDF (missing:  NetCDF_has_interfaces) 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/elliott/code/axisem
$ make -j
Scanning dependencies of target xmesh
Scanning dependencies of target axisem
[  1%] [  2%] [  3%] Building Fortran object CMakeFiles/xmesh.dir/MESHER/data_diag.f90.o
Building Fortran object CMakeFiles/xmesh.dir/MESHER/global_parameters.f90.o
[  5%] [  6%] Building Fortran object CMakeFiles/xmesh.dir/MESHER/clocks.f90.o
Building Fortran object CMakeFiles/xmesh.dir/MESHER/data_numbering.f90.o
Building Fortran object CMakeFiles/xmesh.dir/MESHER/data_coarse.f90.o
[  7%] [  8%] [ 10%] [ 11%] Building Fortran object CMakeFiles/axisem.dir/SOLVER/data_proc.f90.o
Building Fortran object CMakeFiles/axisem.dir/SOLVER/clocks.f90.o
Building Fortran object CMakeFiles/axisem.dir/SOLVER/global_parameters.f90.o
[ 14%] [ 15%] [ 12%] Building Fortran object CMakeFiles/axisem.dir/SOLVER/kdtree2.f90.o
[ 16%] Building Fortran object CMakeFiles/xmesh.dir/MESHER/data_grid.f90.o
Building Fortran object CMakeFiles/xmesh.dir/MESHER/data_gllmesh.f90.o
[ 17%] [ 19%] [ 20%] Building Fortran object CMakeFiles/xmesh.dir/MESHER/data_bkgrdmodel.f90.o
Building Fortran object CMakeFiles/xmesh.dir/MESHER/interpolation.f90.o
Building Fortran object CMakeFiles/xmesh.dir/MESHER/data_pdb.f90.o
Building Fortran object CMakeFiles/xmesh.dir/MESHER/data_spec.f90.o
[ 21%] [ 23%] Building Fortran object CMakeFiles/xmesh.dir/MESHER/data_mesh.f90.o
[ 25%] [ 24%] Building Fortran object CMakeFiles/xmesh.dir/MESHER/splib.f90.o
[ 26%] Building Fortran object CMakeFiles/xmesh.dir/MESHER/data_time.f90.o
Building Fortran object CMakeFiles/xmesh.dir/MESHER/analytic_semi_mapping.f90.o
Building Fortran object CMakeFiles/xmesh.dir/MESHER/analytic_spheroid_mapping.f90.o
Building Fortran object CMakeFiles/xmesh.dir/MESHER/subpar_mapping.f90.o
[ 28%] [ 29%] [ 30%] Building Fortran object CMakeFiles/axisem.dir/SOLVER/data_io.f90.o
Building Fortran object CMakeFiles/axisem.dir/SOLVER/apply_masks.f90.o
[ 32%] [ 33%] [ 34%] [ 35%] Building Fortran object CMakeFiles/axisem.dir/SOLVER/list.f90.o
[ 37%] Building Fortran object CMakeFiles/xmesh.dir/MESHER/mesh_info.f90.o
Building Fortran object CMakeFiles/axisem.dir/SOLVER/data_pointwise.f90.o
[ 39%] [ 38%] Building Fortran object CMakeFiles/axisem.dir/SOLVER/data_time.f90.o
Building Fortran object CMakeFiles/axisem.dir/SOLVER/analytic_semi_mapping.f90.o
Building Fortran object CMakeFiles/axisem.dir/SOLVER/data_spec.f90.o
[ 41%] Building Fortran object CMakeFiles/xmesh.dir/MESHER/sorting.f90.o
[ 43%] Building Fortran object CMakeFiles/axisem.dir/SOLVER/subpar_mapping.f90.o
[ 44%] [ 43%] [ 46%] Building Fortran object CMakeFiles/axisem.dir/SOLVER/interpolation.f90.o
[ 47%] Building Fortran object CMakeFiles/axisem.dir/SOLVER/splib.f90.o
Building Fortran object CMakeFiles/xmesh.dir/MESHER/background_models.F90.o
Building Fortran object CMakeFiles/axisem.dir/SOLVER/data_matr.f90.o
Building Fortran object CMakeFiles/axisem.dir/SOLVER/data_source.f90.o
Building Fortran object CMakeFiles/axisem.dir/SOLVER/data_heterogeneous.f90.o
/home/elliott/code/axisem/MESHER/sorting.f90:284.10:

  iclock01 = tick()
          1
Error: Symbol 'iclock01' at (1) has no IMPLICIT type
/home/elliott/code/axisem/MESHER/sorting.f90:288.10:

  iclock05 = tick()
          1
Error: Symbol 'iclock05' at (1) has no IMPLICIT type
/home/elliott/code/axisem/MESHER/sorting.f90:286.28:

  iclock01 = tick(id=idold01, since=iclock01)
                            1
Error: Symbol 'idold01' at (1) has no IMPLICIT type
/home/elliott/code/axisem/MESHER/sorting.f90:333.28:

  iclock05 = tick(id=idold05, since=iclock05)
                            1
Error: Symbol 'idold05' at (1) has no IMPLICIT type
make[3]: *** [CMakeFiles/xmesh.dir/MESHER/sorting.f90.o] Error 1
make[2]: *** [CMakeFiles/xmesh.dir/MESHER/sorting.f90.o.provides] Error 2
make[2]: *** Waiting for unfinished jobs....

What I don't understand is that there are no complaints about missing headers or modules, so I don't know why those variables are undefined...

martinvandriel commented 10 years ago

Did you try the old way of compiling, i.e. without cmake? Seems to be a cmake problem to me...

eheien commented 10 years ago

I’ll look into this when I have a minute. I think it has to do with the ordering of source files in the build.

-Eric

On Apr 14, 2014, at 2:09 AM, Martin van Driel notifications@github.com wrote:

Did you try the old way of compiling, i.e. without cmake? Seems to be a cmake problem to me...

— Reply to this email directly or view it on GitHub.