shankar1729 / jdftx

JDFTx: software for joint density functional theory
http://jdftx.org
82 stars 54 forks source link

static executable #162

Closed sergbuto closed 3 years ago

sergbuto commented 3 years ago

I was trying to compile a static version of the jdftx executable on Ubuntu 18.04 using option '-D StaticLinking=yes'. However, it failed to compile because of attempting to '"link dynamic object libmpi_cxx.so". As far as I understood, there is no a static version of this library. What can be done in this situation?

shankar1729 commented 3 years ago

You will need static versions of all libraries to make a static executable. The packages distributed with the OS typically do not include static libraries, so if you want to do this, you may need to build MPI, GSL, FFTW etc. from source and configure each build to generate static libraries.

Note that there is no advantage to building a static binary in most cases. The only cases where we have needed it are on Windows/Cygwin before WSL became available, and on Bluegene/Q supercomputers.

Best, Shankar