Opened 19 years ago

Closed 19 years ago

Last modified 16 years ago

#8 closed defect (fixed)

Compilation of FM on NAG Linux fails

Reported by: frae Owned by: frcm
Priority: normal Milestone:
Component: ROPP (all) Version: 0.8
Keywords: Cc:

Description

f95 -I../build -dusty -I/data/nwp1/frcm/ropp/naginclude -c -o ../refrac_1d/ropp_fm_refrac_1d.o `test -f '../refrac_1d/ropp_fm_refra

c_1d.f90'
echo './'`../refrac_1d/ropp_fm_refrac_1d.f90

Error: ../refrac_1d/ropp_fm_refrac_1d.f90, line 80: USE ROPP_FM in program-unit ROPP_FM_REFRAC_1D_ECMWF imports symbol ROPP_FM_REFRAC_1 D_ECMWF

detected at ROPP_FM_REFRAC_1D@<end-of-statement> [f95 terminated - errors found by pass 1] make[1]: * refrac_1d/ropp_fm_refrac_1d.o Error 2 make[1]: Leaving directory `/net/home/h02/frae/temp/ropp_fm/build' make: * [all-recursive] Error 1

Change history (3)

comment:1 by frcm, 19 years ago

Status: newassigned

That's a problem occuring rather often, and related to the strictness of the NAG compiler when it comes to symbol names. What happens is that the NAG compiler does not accept if a routine or function loads a module which provides an interface for a routine/function of the same name; this works for all other compilers I know. Thus, upon loading the module, the particular interface needs to be renamed. So for a function foo, of which the interface is defined in foo_mod, a construct like this one is required:

function foo(...)
   use foo_mod, not_this => foo
     ...
end function foo

In this particular case, I had renamed the actual function name(s), but not the renaming when using the modules... The problem also affected the adjoint and tangent linear versions, as well as the bending angle forward model; I have corrected all of them. There might be other subroutines or function in ropp_fm that exhibit the same problem; please report them here if this is the case, or close the ticket.

Thanks,

Chris.

comment:2 by frcm, 19 years ago

Resolution: fixed
Status: assignedclosed

Fixed in changeset [638].

comment:3 by (none), 16 years ago

Milestone: 0.8

Milestone 0.8 deleted

Note: See TracTickets for help on using tickets.