Linux

Packagers wanted Photivo is be ready for being packaged with checkinstall. However, some of the dependencies are not in the regular package systems, so those also have to be provided.

Compiling Photivo

Packages

First you need to install all the needed tools for the build environment and the development packages for the libraries that Photivo uses. Please use reasonably new packages. My tests are always on a current Ubuntu system. The package names below are ubuntu-style but should be the same or very similar for other distributions. You need to install the following tools:

  • gcc (at least GCC 4.6 is needed)
  • g++
  • ccache
  • qt4-qmake (Check with qmake -v that you indeed have Qt4 qmake (at least Qt 4.7) on your system. If not try qmake-qt4 and use that instead of qmake.)
  • mercurial

And the development packages:

  • libqt4-dev
  • libjpeg62-dev (Do not use libjpeg8-dev, it has issues with libTiff.)
  • libexiv2-dev
  • liblensfun-dev (Need version 0.2.5, Debian has only 0.2.4!)
  • libfftw3-dev
  • libpng12-dev
  • libtiff4-dev
  • liblcms2-dev
  • liblqr-1-0-dev
  • libgimp2.0-dev (Only if you compile the Gimp plugin also.)

Here are some package manager commands to install all the needed packages. Just execute the appropriate one for you Linux in a terminal.

Ubuntu 11.10 Oneiric Oncelot

sudo apt-get install gcc g++ ccache qt4-qmake mercurial libqt4-dev libjpeg62-dev libexiv2-dev liblensfun-dev libfftw3-dev libpng12-dev libtiff4-dev liblcms2-dev libgimp2.0-dev 

Ubuntu 10.04 Lucid Lynx and 10.10 Maverick Meerkat
Lcms2 and liquid rescale not included!

sudo apt-get install gcc g++ ccache qt4-qmake mercurial libqt4-dev libjpeg62-dev libexiv2-dev liblensfun-dev libfftw3-dev libpng12-dev libtiff4-dev libgimp2.0-dev 

Mint 14 Nadia

sudo apt-get install mercurial g++ ccache qt4-qmake libqt4-dev libjpeg8-dev libexiv2-dev liblensfun-dev libfftw3-dev libpng12-dev libtiff5-dev liblcms2-dev liblqr-1-0-dev libglib2.0-dev libgimp2.0-dev

This includes Liquid Rescale (liblqr) but you need to build GraphicsMagick yourself. See below for details. If you do not need the Gimp plugin remove libgimp2.0-dev from the apt-get call.

Fedora 14 and 15 (thanks to onefiftyfour, also see flickr thread)

sudo yum install gcc gcc-c++ ccache qt-devel mercurial libjpeg-turbo-devel exiv2-devel lensfun-devel fftw-devel libpng-devel libtiff-devel gimp-devel lcms2-devel liblqr-1-devel

Dependencies to compile

You can speed up compilation on multicore systems by telling make to work on all processor cores. For example, if you have a quad core processor use make -j4. For a dual core processor it is make -j2.

The examples show /usr as the install prefix. On some Linux systems the prefix may be /usr/local.

Lcms2

Current distributions should have lcms2 in their repositories. On older systems you might need to compile it manually. Be careful not to confuse lcms2 with the older lcms1. You must build/install lcms2 before GraphicsMagick.

Download and unpack the lcms2 sources. Then open a terminal in that folder.

./configure --prefix=/usr
make -j4
sudo make install

GraphicsMagick 16 bit

The GraphicsMagick version in Ubuntu (and most likely many other systems) is only 8 bit, so you have to compile it yourself.

You really need to do this. Versions from package managers are not sufficient!

Download and extract the latest (1.3.12 or newer) GraphicsMagick and open a terminal in that folder.

./configure --prefix=/usr --with-quantum-depth=16 --enable-shared --without-lcms
make -j4
sudo make install

Liquid rescale (liblqr)

While liquid rescale is available in many repositories, I had problems using the version that is shipped with Ubuntu. So, if you also encounter problems, build yourself. Get the sources for liblqr and open a terminal in that folder.

./configure --prefix=/usr
make -j4
sudo make install

Building Photivo

For some distributions you need to do things slightly differently.

Fedora: First execute

export PKG_CONFIG_PATH='/usr/local/lib/pkgconfig/:/usr/lib/pkgconfig'

Also use qmake-qt4 instead of qmake and add PREFIX=/usr.

In a terminal go to the folder where you want to put the Photivo source.

hg clone https://photivo.googlecode.com/hg/ photivo
cd photivo
hg update default
qmake photivo.pro
make -j4
sudo make install

You can change th location where Photivo gets installed to by extending the qmake command.

qmake photivo.pro PREFIX=/myprefix

The default should work fine for most systems.

Additionally Photivo has some custom options that control which subprojects are compiled. Photivo itself is always included. Also enabled by default are ptClear (the mini tool to reset settings) and the Gimp plugin. Disabled are the Adobe profiles creator and the Curves creator; end users do not need those two. You can specify which subprojects to build by modifying qmake’s CONFIG variable. The qmake example below demonstrates all available options.

qmake CONFIG+=WithoutClear CONFIG+=WithoutGimp CONFIG+=WithAdobeProfiles CONFIG+=WithCurves photivo.pro

Updating Photivo is straight forward as well. You already have all the necessary libraries, so you only need to build a new Photivo. Open a terminal and go to the Photivo source folder, the one that has the file photivo.pro in it, get the new source code and compile:

hg pull
hg update default
qmake photivo.pro
make -j4
sudo make install

If you had set a PREFIX for the initial install, use the same one when updating. You also need to specify your CONFIG options every time you run qmake.

To uninstall Photivo go to the source folder and execute

sudo make uninstall

Usage

After installation you can use Photivo by just calling

photivo

If it doesn't start, maybe your settings got screwed somehow. Clear them with:

ptClear