From: Axel Kohlmeyer (akohlmey_at_cmm.chem.upenn.edu)
Date: Mon Jun 01 2009 - 15:54:17 CDT
On Mon, 2009-06-01 at 16:15 -0400, Guanglei Cui wrote:
> Dear Axel,
> Thanks for the suggestion. It took me a while to work on this again.
> After some fiddling, I was able to compile 2.7b1 with openmpi-1.3.2
> and the Intel compiler 11 with libraries (intel and openmpi)
> dynamically loaded. However, I couldn't figure out how to build a
> static executable. The linker always complains about some undefined
> openmpi symbols even with -lmpi -lmpi_cxx -lopen-pal -lopen-rte -lote
> specified. Did I miss anything?
can't say without actually seeing which symbols are not found.
you cannot link a fully static executable, if you have configured
openmpi to use dynamic loading. you should never need to provide
any of the linker flags that you quote but rather you mpiCC.
with intel compilers, all you want is to link the intel libraries
statically, i.e. use -i-static -static-libcxa.
why do you want to link statically in the first place. with recent
glibc versions, this is a very bad idea, as it would make your
binaries fail in uncontrolled ways whenever an update would change
the lowlevel ABI.
-- ======================================================================= Axel Kohlmeyer akohlmey_at_cmm.chem.upenn.edu http://www.cmm.upenn.edu Center for Molecular Modeling -- University of Pennsylvania Department of Chemistry, 231 S.34th Street, Philadelphia, PA 19104-6323 tel: 1-215-898-1582, fax: 1-215-573-6233, office-tel: 1-215-898-5425 ======================================================================= If you make something idiot-proof, the universe creates a better idiot.
This archive was generated by hypermail 2.1.6 : Wed Feb 29 2012 - 05:22:06 CST