4 Characteristics of libraries, tools and applications
To set the user's environment correctly, the version number is often not sufficient. This has been taken into account, especially for the default addressing mode of a library on AIX IBM systems (OBJECT_MODE = 64 or 32). These characteristics are set by the environment modulefiles, which define some behaviour of the programming environment.
The default addressing mode is set to 64-bit on most platforms, but some libraries are provided in both modes on some machines. On IBM systems, we can compile an application or a library in two addressing bit modes, 32- or 64-bit (this is not the case for the Altix SGI and vector NEC-SX platforms, for instance). Libraries can share these two modes (by mixing 32- and 64-bit object modules), but Fortran 90 libraries (NAG, LAPACK 90, Netcdf, etc.) come often with Fortran 90 object modules, which cannot be mixed, so you must say which addressing mode you would like to use. For this reason, two modulefiles are defined on IBM AIX systems:
- mode[/64] (default),
The first one is loaded by default in the deisa modulefile, but if you ever switch to 32-bit mode, some libraries or applications may be unavailable in this mode.
> module list Currently Loaded Modulefiles: 1) c/ibm/10.0 3) fortran/ibm/12.1 5) mode/32 2) c++/ibm/10.0 4) compilerwrappers/yes 6) deisa > module load netcdf WARNING: netcdf/3 cannot be loaded due to missing prereq. HINT: The following module must be loaded first: mode/64
Please, note also that these 32-bit and 64-bit modes are conflicting, so you must load only one and switch it to another one if necessary:
> module list Currently Loaded Modulefiles: 1) c/ibm/10.0 3) fortran/ibm/12.1 5) mode/64 2) c++/ibm/10.0 4) compilerwrappers/yes 6) deisa > module load mode/32 WARNING: mode/32 cannot be loaded due to a conflict. HINT: You might try "module unload mode" first.