Installation
Installing CONN (pre-compiled standalone release, Linux)
Step 1. Download the file conn22a_glnxa64.zip from www.nitrc.org/projects/conn, and save it to the folder /foo (in all of the following instructions change /foo to an appropriate directory in your system where you wish this software to be installed). Then simply unzip this file:
unzip /foo/conn22a_glnxa64.zip -d /foo
Step 2. Download the MCR installer file MCR_R2022a_glnxa64_installer.zip (Matlab Compiler Runtime R2022a (9.12) Linux release) from www.nitrc.org/projects/conn (also available from https://www.mathworks.com/products/compiler/mcr.html). Save this file to the temporary folder /foo/temp. Then unzip this file, and run the MCR installer:
unzip /foo/temp/MCR_R2022a_glnxa64_installer.zip -d /foo/temp/MCR
sh /foo/temp/MCR/install -mode silent -destinationFolder /foo/MCR -agreeToLicense yes
This step may be simply skipped if the appropriate version of MCR (9.12) is already installed on your target machine.
Step 3. Modify the PATH, MCRROOT, XAPPLSDIR, and LD_LIBRARY_PATH environment variables. You may do so, for example, by following one of these two methods:
Method 1: editing ~/.bashrc
Add the following lines to your ~/.bashrc file:
export PATH=/foo:$PATH
export MCRROOT=/foo/MCR/v912
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${MCRROOT}/runtime/glnxa64 ;
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${MCRROOT}/bin/glnxa64 ;
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${MCRROOT}/sys/os/glnxa64;
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${MCRROOT}/sys/opengl/lib/glnxa64
export XAPPLRESDIR=${MCRROOT}/X11/app-defaults ;
export LD_LIBRARY_PATH;
If you prefer to use your own system OpenGL libraries (e.g. VirtualGL) simply delete any line above referencing "/sys/opengl/lib/glnxa64". Similarly, if the appropriate version of MCR (9.12) was already installed on your machine, delete any line above referencing "LD_LIBRARY_PATH" or "XAPPLRESDIR" (in other words, keep only the first two lines above)
Method 2: using Environment Modules (recommended for system administrators)
If your (user- or system- level) Environment Modules root path is /modules, link or copy the template modulefile.txt file in the CONN installation folder to your Environment Modules path:
ln -s /foo/modulefile.txt /modules/conn_standalone/R2022a
Then edit your modulefile.txt file (in /modules/conn_standalone/R2022a) and change in this file the reference to /foo and /foo/MCR/v912 to point to the appropriate CONN and MCR installation folders in your system.
After that, users may use the CONN package using the syntax:
module load conn_standalone/R2022a
conn
note1: if using user-installed modules (e.g. modules listed in ~/mymodules) instead of administrator-installed modules (e.g. modules listed in /modules or /share/pkg/modules), simply use the syntax module use ~/mymodules in order to have your own modules visible to the module command.
note2: if the appropriate MCR module is already installed in your system (e.g. mcr/v9.12), simply change in CONN's modulefile.txt the entry "conflict mcr" to "prereq mcr/v9.12" and then delete all other lines with the word mcr in it within this file.
After these steps, to start CONN simply type conn in any graphic-enabled terminal (or use the syntax conn batch filename.m to run batch scripts in any graphic- or text-only terminal). See the file installation.txt for additional details (note: the first time a standalone conn is run on a target machine it will take a few seconds to get started, please be patient)
Configuration of parallelization options on Linux using a pre-compiled standalone release
If you wish to configure your multi-core Linux machine to use CONN's parallelization options, the default installation procedure above will be all that you need. If, in addition, your machine is part of a distributed cluster environment, then follow the instructions in here for additional configuration details
Remote access using VirtualGL + TurboVNC
When installing Matlab- or standalone- CONN releases on a Unix/Linux server, it is often convenient to be able to access that machine remotely using VNC or equivalent software that supports graphical applications. While not necessary, installing VirtualGL and TurboVNC is recommended, as it allows improved performance of CONN's graphical interface by supporting hardware-accelerated OpenGL rendering.
When using VirtualGL with a Matlab-based CONN release and accessing this machine remotely, please start Matlab using the syntax:
vglrun matlab -nosoftwareopengl
When using VirtualGL with a standalone CONN release and accessing this machine remotely, please start CONN using the syntax:
vglrun conn