Problems Building Shared Libraries or Compiling with Them on fish.arsc.edu
By default, the Cray compute environment for Fish does not use dynamic libraries. This sometimes explains problems building software using the proper cc, CC, or ftn compiler. There are several ways to override the default. Be aware, however, that dynamic libraries create over-head in Cray Linux Environment (CLE) that can lead to slightly lower performance.
A quick override is to pass in the -dynamic flag to cc, CC, or ftn, by setting the LDFLAGS environment variable to "-dynamic". Alternatively, set the environment variable CRAYPE_LINK_TYPE to "dynamic" to change the default link type.
Cray documentation contains much more detailed information on the use of dynamic libraries in the Cray environment. Please see Chapter 5, Dynamic Linking, in the Cray Programming Environment User's Guide (S–2529–107).
Users should also be familiar with Cluster Compatibility Mode (CCM). CCM is described in detail in Workload Management and Application Placement for the Cray Linux Environment, in Chapter 6, Using Cluster Compatibility Mode in CLE (S–2496–5001).