Menu

#5 xx14 build failure with GCC7

1.0
open
nobody
None
2017-04-18
2017-04-18
No

I used the gcc-devel-7.0.0 compiler (gfortran) to compile cgpack, There were a few modules that I commented out due to further errors: cgca_m2mpiio,cgca_m2netcdf and cgca_m2phys. At this point I am not sure if these are needed for the paraFEM coupling.

I am in the process of compiling xx14 using the same gcc-devel-7.0.0 compiler (gfortran) however when compiling the xx14std.f90 I receive these two errors:

[1] =xx14std.f90:458:2:
cgca_rot, cgca_origin,cgca_charlen , cgca_yesdebug )
1
Error: Rank mismatch in argument <91>charlen<92> at (1) (scalar and rank-2)

[2]xx14std.f90:701:24:
10, cgca_yesdebug )
1
Error: Type mismatch in argument <91>gcus<92> at (1); passed LOGICAL(4) to UNKNOWN

I have searched the source code and from what I can see they are declared correctly, have you seen this error before and can you point me in the correct direction for solving it.

Discussion

  • Anton Shterenlikht

    The error reported by Sam Hewitt (UoM).
    It relates to dev directory xx14, which linkes
    ParaFEM with CGPACK (http://cgpack.sf.net).

     
  • Anton Shterenlikht

    I now have a linux system with OpenCoarrays built on top of GCC 7.0.1.
    So far I can't reproduce the error.

    Have you followed these steps:

    1. Update ParaFEM to r2239, CGPACK to r394.

    2. Build cgpack with caf, i.e. make -f Makefile-bc3-oca. Make sure to start with a clean environment, i.e. make clean first.

    3. Install cgpack, i.e. make -f Makefile-bc3-oca install.

    4. Go to parafem/parafem dir and do ./make-parafem MACHINE=caf > & build.log.

    You should get to:

    Building XX14 RELEASE
    make xx14std.x xx14rot_std.x mumu_std.x \ FFLAGS="-c -I../../../../include/mpi -O2 -Wall -I/panfs/panasas01/mech/mexas/mod" \ LDFLAGS="-L../../../../lib -lParaFEM_mpi.5.0.3 -I/panfs/panasas01/mech/mexas/mod -L/panfs/p
    anasas01/mech/mexas/lib -lcgpack"
    make[1]: Entering directory /panfs/panasas01/mech/mexas/nobkp/parafem/parafem/src/programs/dev/xx14 ' caf xx14std.f90 -c -I../../../../include/mpi -O2 -Wall -I/panfs/panasas01/mech/mexas/mod caf xx14std.o -o xx14std.x -L../../../../lib -lParaFEM_mpi.5.0.3 -I/panfs/panasas01/mech/mexas/mod -L/panfs/panasas01/mech/mexas/lib -lcgpack caf xx14rot_std.f90 -c -I../../../../include/mpi -O2 -Wall -I/panfs/panasas01/mech/mexas/mod caf xx14rot_std.o -o xx14rot_std.x -L../../../../lib -lParaFEM_mpi.5.0.3 -I/panfs/panasas01/mech/me xas/mod -L/panfs/panasas01/mech/mexas/lib -lcgpack caf mumu_std.f90 -c -I../../../../include/mpi -O2 -Wall -I/panfs/panasas01/mech/mexas/mod caf mumu_std.o -o mumu_std.x -L../../../../lib -lParaFEM_mpi.5.0.3 -I/panfs/panasas01/mech/mexas/mo d -L/panfs/panasas01/mech/mexas/lib -lcgpack make[1]: Leaving directory/panfs/panasas01/mech/mexas/nobkp/parafem/parafem/src/programs/dev/xx14'
    Done xx14std.x xx14rot_std.x mumu_std.x RELEASE
    cp xx14std.x xx14rot_std.x mumu_std.x ../../../../bin

    meaning that 3 xx14 driver programs have been built.

    Anton

     
  • Anton Shterenlikht

    I had to comment out MPI_INIT, as it's called by caf behind
    the scenes:

    svn diff xx14std.f90
    Index: xx14std.f90
    ===================================================================
    --- xx14std.f90 (revision 2239)
    +++ xx14std.f90 (working copy)
    @@ -123,20 +123,20 @@
    ! intent( out ):
    !
    numpe - integer, process number (rank)
    ! npes - integer, total number of processes (size)
    -CALL find_pe_procs( numpe, npes )
    +!CALL find_pe_procs( numpe, npes )
    ! CAnnot use MPI_INIT in a coarray program with ifort 16!
    -! CALL MPI_COMM_RANK(MPI_COMM_WORLD, numpe, ier)
    -! IF (ier /= MPI_SUCCESS) THEN
    -! WRITE(
    ,'(A,A,I5)')'Error in MPI_COMM_RANK: errcode = ',ier
    -! END IF
    -!
    -! CALL MPI_COMM_SIZE(MPI_COMM_WORLD, npes, ier)
    -! IF (ier /= MPI_SUCCESS) THEN
    -! WRITE(,'(A,A,I5)')'Error in MPI_COMM_SIZE: errcode = ',ier
    -! END IF
    -!
    -! numpe = numpe + 1
    + CALL MPI_COMM_RANK(MPI_COMM_WORLD, numpe, ier)
    + IF (ier /= MPI_SUCCESS) THEN
    + WRITE(
    ,'(A,A,I5)')'Error in MPI_COMM_RANK: errcode = ',ier
    + END IF

    • CALL MPI_COMM_SIZE(MPI_COMM_WORLD, npes, ier)
    • IF (ier /= MPI_SUCCESS) THEN
    • WRITE(*,'(A,A,I5)')'Error in MPI_COMM_SIZE: errcode = ',ier
    • END IF
      +
    • numpe = numpe + 1
      +
      ! Returns the base name of the data file.
      !
      intent( out ):
      ! argv - character(), data file base name

    with that xx14std.x builds and runs fine.

     
  • Anton Shterenlikht

    committed this change as r2240.

     

Log in to post a comment.