Opened 12 years ago

Closed 12 years ago

#309 closed defect (fixed)

ROPP_UTILS fails typesizes in stand-alone build

Reported by: Dave Offiler Owned by: Dave Offiler
Priority: normal Milestone: 7.0
Component: ropp_utils Version: 6.1
Keywords: TypeSizes Cc:

Description

Many ROPP routines depend on typeSizes.f90, including several in ROPP_UTILS. This file is provided with the netCDF library package and is normally installed to <prefix>/include by the netCDF make install. ROPP builds will then use this installed module when code with USE typesizes is compiled.

A copy of typeSizes.f90 is included in ROPP_UTILS (in ropp_utils/common), which is intended for cases where it is desired to build ROPP components without having (or wanting) netCDF support. ROPP_UTILS itself makes no use of netCDF, apart from typsesizes.

However, compilations fail to find the typesizes.mod module. This is because the order of source code building is incorrect. The typesizes module is currently included in the build of common; there is a Catch-22 as the arrays (and other) code sub-directories require typesizes, yet other code in common requires modules from arrays, etc, so the common build cannot simply come first.

The order of source code compilation needs rearranging such that typsizes is built first, and all remaining code in common is built last. I.e. typesizes.f90 is compiled separately.

Change history (2)

comment:1 by Dave Offiler, 12 years ago

Status: newaccepted

comment:2 by Dave Offiler, 12 years ago

Resolution: fixed
Status: acceptedclosed

Re-ordered configure.ac common/Makefile.am and build/Makefile.am to split the build (the latter is the critical change), such that common/typeSizes.f90 is built first, and other code in common built last.

Checked to correctly build ROPP_UTILS from clean with manual ropp_configure_ifort_linux and make and then again using buildpack ropp_utils ifort, both without having pre-built netCDF to the target <prefix>.

Checked into Branch do_dev7 as [3584].

Note: See TracTickets for help on using tickets.