JDFTx  1.3.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages

JDFTx is distributed as source packages, or for development via git, and requires a POSIX-compatible environment and a C++11 compiler to install and get running. It also depends on several GNU and open-source libraries, which will most easily be installed using a package manager. So here are the prerequisites to installing JDFTx on your system:

  • GNU/Linux (any distribution): You already have a package manager (or you are on an advanced distribution and know how to do without one!). In high likelihood, your distribution is either:

    • Debian-based (eg. Debian, Ubuntu, Mint and their numerous flavors), and you could use "sudo apt-get install <package names>", or
    • Redhat-based (eg. RHEL, CentOS, Fedora etc.), and you could use "sudo yum install <package names>".

    See Linux Package Management for a detailed introduction.

  • Mac OS X: Install the Xcode commandline tools and MacPorts (or another package manager such as Homebrew or Fink; but then you should translate the package-names below from MacPorts). You would then install packages using "sudo port install <package names>".

  • Windows: Install Cygwin which provides a POSIX-compatible environment on Windows including a terminal with the bash shell (assumed here and in the tutorials). You can select packages in the Cygwin installer graphical interface, and can rerun the installer to add / remove packages later. In addition, you should select the xinit package to get a working X11 environment, which will be necessary for opearting many of the Unix tools in graphical mode.

  • Supercomputing cluster: All the dependencies will likely already be installed by the administrators, but you will have to load necessary modules and specify some paths manually. See explicit compilation instructions for NERSC and TACC in the Compiling on supercomputers page. If you compile sucessfully on other shared compute clusters, please post instructions in the Wiki. We would greatly appreciate it and include those instructions below as well.