Re: [netcdfgroup] Uppercase file name extensions: netcdf.MOD etc.

Ed Hartnett wrote:
Dave Allured <dave.allured@xxxxxxxx> writes:

Netcdf support,

We have run into a minor problem with the Netcdf 3.6.3 configure script. When building the Fortran 90 API from source on a *case insensitive* file system, module files netcdf.MOD and typesizes.MOD are generated with uppercase file name extensions. This is mysterious, because the standard lowercase file names would work equally well *on the same computer*.

Actually the file system is quirky. Mac OS X 10.4 and 5. On a so-called case insensitive file system, upper and lower case are *written* on disk, but the names are case insensitive only on read back when *opening* files.

This causes trouble with Fortran compilers on *case sensitive* computers elsewhere on our local network. They can't find the module files unless the extensions are made lower case. The compilers see the network drives as case sensitive, due to the way the network transports file names. (Yes indeed, this might also be considered a bug.)

Our workaround was to hack the configure script and force a conditional to make lower case. Since we are using an automatic library maintenance system, we needed something more persistent than manually renaming the two files. (We tried that once, and the automatic system helpfully gave us back the uppercase file names the next morning.)

What is the "right" way to control whether Netcdf module file extensions are upper or lower case? I did not find anything like this in the 3.6.3 configure options or the installation and troubleshooting guides.

Would you be able to change the distribution scripts to be more restrictive about generating upper case module extensions? Such as making upper case *only* for the platforms that require this?


Howdy Dave!

Do you mean it capitalizes the filename, or the filename extension?

For example, on some of my test machines, I get TYPESIZES.mod, and on
others typesizes.mod. But the "mod" is always lower-case for me.

In any case, this is something beyond the control of the configure
script. The configure script just checks to see what the fortran
compiler produces, and uses that. From the configure output:

checking if Fortran 90 compiler capitalizes .mod filenames... no

Are there any command line options with g95 and gfortran to control
this? I can't find any.

So I am a bit stumped. I don't know how to control the names of .mod
files from fortran compilers.

Sorry,

Ed

Ed,

On the case-insensitive Mac OS computer, the Netcdf build under Fink makes the module file names lower.UPPER: netcdf.MOD and so on. Odd that you have scenarios that get the exact reverse of this.

I have no idea what is causing this. I compiled a trivial test case with gfortran on the same platform, and got all lower case, e.g. module.mod. This is not consistent with the automatic build. A quick check of the gfortran bug reports did not come up with anything about uppercase .MOD.

I was mistaken in my initial message. We did not hack the Netcdf configure script. Instead we changed the installer script to rename the module files after the Netcdf build. netcdf.MOD to netcdf.mod, same for typesizes.MOD. Each rename must be done in two stages to avoid "same file name" errors.

FYI the installer for Mac OS is Fink, and the local script that was actually changed was netcdf-gfortran.info.

I need to investigate more deeply into how the uppercase names are generated, and get back to you. Any further insights would be welcome.

--Dave


  • 2008 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the netcdfgroup archives: