Pre-compiled binaries of XtalOpt may be obtained from here. However, the Linux binaries may not ork on every Linux computer. You may continue reading if you wish to compile XtalOpt on your own.
First and foremost, a C++ compiler with C++11 is required to compile XtalOpt. GCC >= 4.8.4 and Clang >= 3.5 will both work.
The following dependencies can be installed from the package manager of most linux distributions:
If you wish to enable SSH (default), you will also need:
None. Before release 11, XtalOpt required OpenBabel and Avogadro, but there are currently no source dependencies required.
Using the package manager for your linux distribution, install the dependencies listed above. For example, on Arch Linux, one can use the command
pacman -S git cmake glu qt5-base qwt eigen libssh openssh
On Ubuntu 16.04, one can use the command
sudo apt-get install git cmake qt5-default libqwt-qt5-dev libeigen3-dev libssh-dev
Note: if you are using Ubuntu 14.04, libqwt-qt5-dev may not be available. Installing Qwt that depends on Qt4 will not work. Therefore, you can either use the .deb file I have created here, or you can compile it yourself.
Once the dependencies are installed, installing XtalOpt is simple. First, change to your source directory:
cd $HOME/src
Check out the master branch of the XtalOpt sources:
git clone git://github.com/xtalopt/XtalOpt.git xtaloptor
git clone https://github.com/xtalopt/XtalOpt.git xtalopt
Make a build directory and enter it:
mkdir xtalopt/build cd xtalopt/build
Configure, build, and install (set the CMAKE_INSTALL_PREFIX to wherever you'd like):
cmake .. -DCMAKE_INSTALL_PREFIX=<wherever> make -j3 make install
Note: if you need to use Kerberos authentication to establish a SSH connection to the remote server, the libssh library used by XtalOpt will not work. There is a workaround for Linux (and possibly Mac) users, which will call the command line ssh/scp commands to communicate with the remote cluster. This can be enabled by adding -DUSE_CLI_SSH=true to the cmake command above. This ssh backend will not prompt for a password, and expects the ssh commands to "just work". Passwordless ssh logins can be enabled using the ssh-copy-id command.
Try running the resulting XtalOpt executable (either in the bin directory of your install directory or in the build directory). If a window opens and you are able to select options, then XtalOpt was successfully installed.