In creating new lammpi and gromacs-mpi packages for fink on
MacOS X, I noticed that common symbols exist in liblammpio.a
which mpicc will silently link into the shared libraries of
gromacs-mpi. According to Ulrich Drepper, linking non-PIC code from
static libraries into shared libraries is broken behavior and
must be avoided. Why doesn't lam 7.1.1 simply compile the code for
liblammpio.a as PIC code if configure has been passed the --enable-shared
flag as well as --enable-static? While I can't demonstrate any specific
breakage at the moment, on architectures like linuxppc, we have always
seen the bad effects (strange crashes) that can occur when non-PIC code
gets linked into shared libraries. Thanks in advance for any feedback.
Jack
|