Type "sudo cp 40-open-ephys.rules /etc/udev/rules.d", then type your password.
(Note: The development branch of the GUI has included some differences related to the building process. Those will be marked as such with a "development:" note)
Create a GitHub account if you haven't already.
Some plugins require additional dependencies to build and work. Specifically, in the case of the ones supplied by default:
This section describes the steps needed to install those dependencies on your system.
(development: These plugins are no longer shipped by default, so this section is not required unless you want to install them. They are available on their own repository)
You will need to install the ZeroMQ library, either from a PPA or from source.
Installing from a PPA. Here are the terminal commands needed to install from a PPA. Note that we specify version 3 of the API ("libzmq3"), which is necessary for the current version of the GUI. These commands work on Ubuntu-like distributions but may need to be modified for others.
sudo add-apt-repository ppa:chris-lea/zeromq
sudo apt-get update
sudo apt-get install libzmq3-dbg libzmq3-dev libzmq3
Installing from source. Alternatively, you can build from source using the instructions from http://zeromq.org/intro:get-the-software, copied below:
(development: These plugins are no longer shipped by default, so this section is not required unless you want to install them. They are available on their own repository)
In order to compile the KWIKFormat and NWBFormat plugins, you need to have the HDF5 library installed. HDF5 is a file format that's optimized for scientific data sets. It is extremely powerful, and offers many advantages over traditional binary formats. The GUI now allows users to save data in the Kwik format and NWB format which are based on HDF5.
The plugin requires you to use a specific version of the HDF5 library (≥1.8.12 and <1.8.21).
To install HDF5 from source, download the source from this page (version 1.8.20 recommended) and follow the instructions in the INSTALL file. Briefly:
In the source code directory, run configure by typing the following:
./configure --prefix=/usr/local/hdf5 --enable-cxx
(development: Build files for the GUI must be created beforehand. See creating build files for instructions. The working directory with the Makefiles will be Build and the GUI executables will be located on either Build/Debug or Build/Release)
Change your current working directory to Builds/Linux. The following steps could be executed by the script "setup.sh" in this directory, but we recommend following these steps and typing the commands manually, in case you encounter any errors.
Type "make" to build the main application. If this fails, you are probably missing dependencies (see above, and please let us know if any dependencies are missing from the instructions).
Now you can both use the GUI and make changes to the source code. We recommend reading through the developer documentation before doing so.
Any changes you commit can be synced with your GitHub repository by typing "git push origin master" from any directory inside your project. If you change something that you think would be useful for others, you can submit a pull request to the Open Ephys version of the GUI.
wheezy
with trusty
in the file /etc/apt/sources.list.d/chris-lea-zeromq-wheezy.list
. If you have an issue with libc being too old, you can do a partial upgrade to Debian 8 by editing /etc/apt/sources.list
and replace all instances of wheezy
with jessie
. Then sudo apt-get update
and sudo apt-get upgrade
.If you're running the software inside of gdb (which is recommended, at least until all the kinks are worked out), you may see the message "Program received signal SIGSEGV ... juce_String.cpp:203" after printing "Got audio device." With certain hardware, you'll get a segfault before this point is reached. Either you have the wrong drivers (or no drivers) installed, or (more commonly) the audio hardware is in use by another application.
How to troubleshoot:
sudo alsa force-reload
in a terminal; this will refresh the sound server, and may fix your problem.#!/bin/bash
echo autospawn = no > $HOME/.config/pulse/client.conf
pulseaudio --kill
... run open-ephys ...
rm $HOME/.config/pulse/client.conf
If you're using the Intan EVAL board, replace the RHD2000.bit file in the GUI source with main.bit from the Intan Open-Source RHD2000 Interface Software code.