The recommended approach to get Entangle is to simply install your distro vendor’s own pre-built packages. In the case where their packages are too old though, the adventurous may wish to compile everything themselves from scratch. This page describes how to do this on Fedora or Ubuntu distros.
Building a custom libgphoto2
If the libgphoto2 package provided by the vendor is too old (eg lacking support for your camera), a new libgphoto2 can be built first
Installing pre-requisites for libgphoto2
Before compilation can be attempted, a number of build pre-requisites must be installed for libgphoto2.
Fedora packages
As root, run
# yum install libusb1-devel libusb-devel lockdev-devel \ libexif-devel libjpeg-devel pkgconfig sharutils \ libtool-ltdl-devel popt-devel gd-devel
Debian / Ubuntu packages
As root, run
# apt-get install libtool libltdl-dev zlib1g-dev libusb-dev \ libgpmg1-dev pkg-config libexif-dev libjpeg-dev doxygen \ graphviz libdbus-1-dev libgd2-xpm-dev
Unpack the new libgphoto2 release
As non-root, run
$ mkdir build $ cd build $ tar jxvf /path/to/download/of/libgphoto2-2.5.1.1.tar.bz2 $ cd libgphoto2-2.5.1.1
Compile the new libgphoto2 release
As non-root, run
$ ./configure --prefix=$HOME/entangle-0.5.1 $ make $ make install
Install udev rules for USB devices
To make udev grant access to the USB camera device when it is plugged in, a rules file must be created and installed.
As non-root, run
$ cd $HOME/entangle-0.5.1 $ mkdir -p lib/udev/rules.d $ ./lib/libgphoto2/print-camera-list udev-rules version 136 > \ lib/udev/rules.d/40-libgphoto2.rules
As root, run
# cd /lib/udev/rules.d # ln -s /home/YOURUSERNAME/entangle-0.5.1/lib/udev/rules.d/40-libgphoto2.rules .
Building a custom entangle
With the new libgphoto2 built, we can move onto building entangle itself
Installing pre-requisites for entangle
Before compilation can be attempted, a number of build pre-requisites must be installed for entangle.
Fedora packages
As root, run
# yum install gcc glib2-devel libgexiv2-devel \ libgudev1-devel libpeas-devel lcms-devel gtk3-devel \ gobject-introspection-devel dbus-glib-devel \ intltool LibRaw-devel
If not building a custom ligphoto2, then add ‘libgphoto2-devel’ to the above command
Debian / Ubuntu packages
As root, run
# apt-get install gcc libglib2.0-dev libgdk-pixbuf2.0-dev \ libgexiv2-dev libgudev-1.0-dev libpeas-dev \ liblcms1-dev libgtk-3-dev libgirepository1.0-dev \ libdbus-glib-1-dev libffi-dev gobject-introspection \ intltool libraw-dev
If not building a custom libgphoto2, then add ‘libgphoto2-2-dev’ to the above command
Unpack the new entangle release
As non-root, run
$ mkdir build $ cd build $ tar xvf /path/to/download/of/entangle-0.5.1.tar.gz $ cd entangle-0.5.1
Compile the new entangle release
As non-root, run
$ export PKG_CONFIG_PATH=$HOME/entangle-0.5.1/lib/pkgconfig $ export LD_LIBRARY_PATH=$HOME/entangle-0.5.1/lib $ ./configure --prefix=$HOME/entangle-0.5.1 $ make $ make install
Setting up shell profile
Since entangle and libgphoto2 were installed into private directories, a few environment variables should be added to your shell profile. For bash users, edit $HOME/.profile and add the following lines at the end of it
export PATH=$HOME/entangle-0.5.1/bin:$PATH export LD_LIBRARY_PATH=$HOME/entangle-0.5.1/lib export XDG_DATA_DIRS=$HOME/entangle-0.5.1/share:/usr/share:/usr/local/share
Running entangle
Assuming you updated $HOME/.profile as detailed above, running entangle should simply be a matter of invoking the ‘entangle’ command from the shell.