SwisTrack/Developers/Setting up a development environment/Linux
Prerequisites
[edit | edit source]You need the following programs and libraries:
The following libraries are optional and only necessary if you want to use the corresponding cameras:
- Basler Pylon driver
- Firewire camera driver
Ubuntu 12.04 and later
[edit | edit source]Install Subversion
sudo apt-get install subversion
Install wxWidgets:
sudo apt-get install libwxgtk3.0-dev
Install OpenCV2:
sudo apt-get install libopencv-dev
Checkout the trunk of the svn repository:
svn checkout svn://svn.code.sf.net/p/swistrack/code/trunk
Compile:
cd trunk make
Run:
cd SwisTrackEnvironment ./SwisTrack
Ubuntu 8.04
[edit | edit source]On Ubuntu 8.04, it should be enough to install the packages
- libwxgtk2.8-dev (wxWidgets)
- libhighgui-dev (OpenCV)
- libcvaux-dev (OpenCV)
Use Synaptic Packet Manager or type
sudo apt-get install libwxgtk2.8-dev sudo apt-get install libhighgui-dev libcvaux-dev
on the terminal to install these packages.
Other distributions
[edit | edit source]If your distribution does not provide a package, you can compile and install these libraries manually.
Manually Installing OpenCV
[edit | edit source]Download the OpenCV 1.0 sources [ http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/1.0/ ]and compile and install them:
tar xfz opencv-1.0.0.tar.gz cd opencv-1.0.0 ./configure --prefix=/usr make sudo make install
For detailed installation instructions, check out the INSTALL file.
Note that the current SwisTrack Makefile expects OpenCV to be installed with the prefix /usr. If you install it elsewhere, do not forget to modify the INCL_DIRS line in the Makefile appropriately.
When installing OpenCV 1.0 in newer Ubuntu distributions you may find the following issues:
1) Error message:
../../cxcore/include/cxmisc.h:133:6: error: #elif with no expression
To fix it, change line 133 in cxmisc.h from #elif to #else.
2) Error message:
../../../otherlibs/highgui/.libs/libhighgui.so: undefined reference to `cvCaptureFromCAM_V4L(int)'
To fix it, add #define HAVE_CAMV4L after line 24 in cvconfig.h
3) Error message:
cvcap_v4l.cpp:208:28: fatal error: linux/videodev.h: No such file or directory
To fix it, install libv4l-dev and link to it with the following commands:
sudo apt-get install libv4l-dev sudo ln -s /usr/include/libv4l1-videodev.h /usr/include/linux/videodev.h
Manually Installing wxWidgets
[edit | edit source]Download the wxWidgets 2.8.8 sources (either wxGTK or wxAll) [ http://sourceforge.net/projects/wxwindows/files/wxAll/2.8.8/ ] and compile and install them.
tar xfz wxWidgets-2.8.8.tar.gz cd wxWidgets-2.8.8 ./configure make sudo make install
You are free to change the prefix here, as SwisTrack uses 'wx-config' to locate wxWidgets.
Installing Optional Libraries
[edit | edit source]If you have a FireWire camera, install the 1394camera driver.
Installing OpenCV legacy packages
[edit | edit source]Depending on the opencv version installed in your system, you may also need to install the OpenCV legacy packages. In that case, run the following command:
sudo apt-get install libcv-dev libhighgui-dev libcvaux-dev libcv2.3 libcvaux2.3 libhighgui2.3
Library Paths
[edit | edit source]Depending on your system configuration, SwisTrack will complain about missing libraries. You may see error messages like this:
./SwisTrack: error while loading shared libraries: libwx_gtk2_aui-2.8.so.0: cannot open shared object file: No suchfile or directory
In this case, you need to set your LD_LIBRARY_PATH variable to point to the directory where these libraries are installed. If you are using a bash shell, this can be achieved as follows:
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
On Ubuntu 10.10 the following is required : export LD_LIBRARY_PATH=/usr/lib:$LD_LIBRARY_PATH
and create a dynamic link on the cvaux libs : sudo ln -s libcvaux.so.2.1 libcvaux.so
in /usr/lib/