Opened 9 years ago

Last modified 7 years ago

#395 new task

Possible problem compiling ropp_fm with sunf95

Reported by: Ian Culverwell Owned by: frdo,idculv
Priority: minor Milestone: Whenever
Component: ROPP (all) Version: 7.1
Keywords: sunf95 WinPC Cc:

Description

ROPP8.0 beta reviewer Dave offiler (UKMO) found:

- ROPP_FM: sunf95 reports errors compiling test t_fascod.f90: sunf95 -I../build
    -O -m64 -ftrap=%none  -I/home/dave/ropp/ropp-8.0/sunf95/include  -moddir=./
    -M/home/dave/ropp/ropp-8.0/sunf95/include  -M../build -c -o t_fascod.o 
    t_fascod.f90

      USE ropp_utils
          ^          
    "t_fascod.f90", Line = 40, Column = 7: ERROR: Incorrect rank of actual 
     argument number 1 in the generic procedure call "SIZE".

      USE ropp_io
          ^       
    "t_fascod.f90", Line = 41, Column = 7: ERROR: Incorrect rank of actual 
     argument number 1 in the generic procedure call "SIZE".

      USE geodesy
          ^       
    "t_fascod.f90", Line = 318, Column = 9: ERROR: Incorrect rank of actual 
     argument number 1 in the generic procedure call "SIZE".

    f90comp: 397 SOURCE LINES
    f90comp: 3 ERRORS, 0 WARNINGS, 0 OTHER MESSAGES, 0 ANSI
    Makefile:414: recipe for target 't_fascod.o' failed
    make[1]: *** [t_fascod.o] Error 1

  which causes the FM build to apprently fail. However, the library and module
  files are installed and ROPP_1DVAR uses the FM without further issues. There
  were no reported problems compiling any of the upstream modules being  flagged
  here, and the prvoud version of sunf95 did not report these errors, so this
  may be a strict compiler issue, rather than any real problem with  the ROPP
  code, but the occurrences of SIZE in the flagged modules should be checked.

There were no problems building sunf95 on a RHEL56 linux box, which compiled t_fascod.f90 with nary a pause:

sunf95 -I../build -O -m64 -ftrap=%none -I/data/local/idculv/ROPP/sunf95/include
-moddir=./ -M/data/local/idculv/ROPP/sunf95/include -M../build -c -o t_fascod.o 
t_fascod.f90

Why is it complaining about SIZE in a USE statement? If it's a SIZE command in the particular module, why doesn't it complain all the the (many) other times that these modules are USEd?

Setting it as a task because I don't know if there's a problem here.

Change history (4)

comment:1 by Ian Culverwell, 9 years ago

This turns out to be a problem with the latest release of sunf95. When I try to build ROPP with

/home/h03/sa_app/opt/oracle/solarisstudio12.4/bin/sunf95
/home/h03/sa_app/opt/oracle/solarisstudio12.4/bin/suncc

instead of

/home/h03/sa_app/opt/oracle/solarisstudio12.3/bin/sunf95
/home/h03/sa_app/opt/oracle/solarisstudio12.3/bin/suncc

on RHEL6, I get the same nonsense about 'SIZE' in some ROPP modules.

comment:2 by Ian Culverwell, 9 years ago

(Note that the only 'SIZE' command in ropp_fm/tests/t_fascod.f90 is in the subroutine set_obs_levels_bangle - which isn't even called!)

comment:3 by Dave Offiler, 9 years ago

Agreed this certainly looks like a bug in the Oracle SolStudio v12.4 sunf95 compiler, and so we will continue to test-build ROPP with v12.3 which does not have this issue. Noting that Oracle only formally support paid-for versions SolStudio on SunOS, and we have the free, unsupported, Linux version, there is no point in reporting this a bug. We will see if a v12.5 is released at some point and use that if the problem is solved. If not, add a note in the ROPP-9 Release Notes not to use this particular compiler version.

Leaving this ticket open for now, but no further action until a v12.5 is released before ROPP-9 deadlines.

comment:4 by Ian Culverwell, 7 years ago

Milestone: 9.0Whenever

Well, even if a free v12.5 of sunf95 exists (and Professor Google can't find it), it's not installed at the Met Office, so defer this ticket until it is - i.e, 'whenever'.

Note: See TracTickets for help on using tickets.