Type "sudo cp 40-open-ephys.rules /etc/udev/rules.d", then type your password.
Create a GitHub account if you haven't already.
type "make".
This will start the process of building the GUI. If it crashes, it probably means you're missing some dependencies. If so, you can use "sudo apt-get install <libraryname>" to install them (assuming you're using Ubuntu or a related distribution). Don't forget to install the dependencies before (see below). If you discover missing dependencies, definitely let us know!
If you get an error message about "‘class H5::H5File’ has no member named ‘attrExists’", then you are linking to a version of HDF5 that is 1.8.11 or lower. See above for the section about installing HDF5 from source.
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.
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.
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:
In order to compile the KWIKFormat plugin, 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, which is based on HDF5.
The plugin requires you to use version 1.8.12, or higher, of HDF5. You can try to install from your package manager first, by running "sudo apt-get install libhdf5-serial-dev" or "sudo yum install hdf5-devel". However, if you see that this installs version 1.8.11 or lower, which as of January 2015 was still the case in Ubuntu-like distributions, you will need to either use the ubuntu14.04 branch or uninstall that older version and install a newer version of HDF5 by following the instructions on the HDF5 website.
To install HDF5 from source, download the source from this page 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
Troubleshooting
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 the GUI won't start on Linux, it's likely due to problems communicating with the audio hardware. Your computer's sound card is what generates the callbacks that drive data acquisition, so the GUI can't run unless it establishes proper communication with your audio device.
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.