I am dynamically loading several shared libraries from a main program. Each library contains fortran subroutines. One of the libraries links in a module that contains data that should be shared by all of the other libraries that will be dynamically loaded. The problem is that after I load the libraries, each subroutine seems to be looking at a separate copy of the module data. If I change the value in one subroutine, the value is not reflected in the data when viewed from a subroutine that resides in a separate shared library. This result is also dependent on the order that I load in the libraries.
For compiling, I am using ifortwith the following options:
-shared -extend_source -save -fpic -c
For linking, I am using icc.