My copy of the Fortran 2003 Standard (Adams, et al., The Fortran 203 Handbook), says Fortran Names (incl. procedures, section 3.2.2) are permitted to be up to 63 characters.  This is not phrased as a requirement, though.  It could be that a conforming processor could restrict this to fewer characters i.e., if the linker/loader does not support that many characters in an external symbol.

Larry Baker
US Geological Survey

On 22 Jan 2014, at 8:50 AM, Jeff Squyres (jsquyres) wrote:

On Jan 21, 2014, at 11:49 PM, Paul Hargrove <> wrote:

Looks like we may be getting closer, but are not quite there:

 PPFC     mpi-f08.lo
  BIND(C, name="ompi_type_create_hindexed_block_f")
pathf95-1690 pathf95: ERROR OMPI_TYPE_CREATE_HINDEXED_BLOCK_F, File = /global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.7-latest-linux-x86_64-pathcc-4.0/openmpi-1.7.4rc2r30361/ompi/mpi/fortran/use-mpi-f08/mpi-f-interfaces-bind.h, Line = 605, Column = 17
 NAME= specifier in BIND clause requires scalar character constant

Wow.  Pulling on this thread turned up a whole pile of bugs :-\, including several other names that are >=32 characters:

Found long name: ompi_type_create_indexed_block_f (32)
Found long name: ompi_type_create_hindexed_block_f (33)
Found long name: pompi_type_create_indexed_block_f (33)
Found long name: pompi_type_create_hindexed_block_f (34)
Found long name: pompi_file_get_position_shared_f (32)
Found long name: pompi_file_write_ordered_begin_f (32)

Can you do me a favor and cd into ompi/mpi/fortran/use-mpi-f08 and try to manually "make type_create_indexed_block_f08.lo" and see if it also complains?  That's a 32 character name -- let's see if the limit is >=32 or >=33...

pathf95-1044 pathf95: INTERNAL OMPI_COMM_CREATE_KEYVAL_F, File = /global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.7-latest-linux-x86_64-pathcc-4.0/openmpi-1.7.4rc2r30361/ompi/mpi/fortran/use-mpi-f08/mpi-f-interfaces-bind.h, Line = 1242, Column = 38
 Internal : Unexpected ATP_PGM_UNIT in check_interoperable_pgm_unit()
make[2]: *** [mpi-f08.lo] Error 1
make[2]: Leaving directory `/global/scratch2/sd/hargrove/OMPI/openmpi-1.7-latest-linux-x86_64-pathcc-4.0/BLD/ompi/mpi/fortran/use-mpi-f08'

The first error appears likely to be due to the 33-character name for the C binding.
Not sure if that is a limitation allowed by the fortran spec, or an arbitrary limitation in this compiler.

The "Internal" may be a show-stopper (not OMPI's fault), unless it goes away once the prior error is resolved.

I'll ask Pathscale; thanks.

Jeff Squyres
For corporate legal information go to:

devel mailing list