Difference between revisions of "Hugin Compiling Ubuntu"
Line 80: | Line 80: | ||
Some additional libraries are needed. We need first to activate the <code>universe</code> repository (in adept package manager, or by editing the /etc/apt/sources.lst file for example). | Some additional libraries are needed. We need first to activate the <code>universe</code> repository (in adept package manager, or by editing the /etc/apt/sources.lst file for example). | ||
<pre>sudo apt-get install cmake libopenexr-dev libboost-dev boost-build libboost-thread-dev libboost-graph-dev \ | <pre>sudo apt-get install cmake libopenexr-dev libboost-dev boost-build libboost-thread-dev libboost-graph-dev \ | ||
− | gettext libwxgtk2.8-dev libexiv2-dev | + | gettext libwxgtk2.8-dev libexiv2-dev libimage-exiftool-perl |
</pre> | </pre> | ||
Revision as of 16:02, 23 February 2008
These instructions are work in progress. Initially tested on a blank installation of Kubuntu 6.06 (Edgy Eft) on a AMD64 computer, they have also been tested on Ubuntu 7.04 on a AMD64 computer and Ubuntu 7.10 on an AMD Athlon XP computer. Apart from the odd change in package name, nothing should be substantially different (and if does not work, please leave a comment on the hugin-ptx mailing list). Don't worry if the same package appears twice in an apt-get install line - apt-get will update existing packages if there is a newer version, and ignore duplicates if the latest version is already installed. On the other hand, if apt-get says that it can't find a package, it might be the odd change in package name. You can find a replacement package by using apt-cache search with a substring of the package required, e.g.
apt-cache search wxW
The goal is to build hugin and the whole set of helper applications required.
Building environment
Since we are going to build hugin, libpano13 and enblend we need to download and install all the development packages. This is very easy with apt-get. In a terminal window (K menu -> System -> Konsole or Applications -> Accessories -> Terminal)
sudo apt-get install build-essential autoconf automake1.9 libtool flex bison gdb
Unless you have an amd64 system prior to 7.10, add the following packages.
sudo apt-get install libc6-dev libgcc1
For older amd64 environments, these are the packages have a slightly different name.
sudo apt-get install libc6-dev-amd64 lib64gcc1
To get the bleeding edge we'll need access to the SVN and CVS repositories, and for this we need the correct tools:
sudo apt-get install subversion cvs
Building Enblend
Get the dependencies. If you are working with large images (300 megapixels and up), you should have a libtiff-devel compiled with large file support and libstdc++6.
sudo apt-get install pkg-config libtiff4-dev libboost-graph-dev libboost-thread-dev \ liblcms1-dev libglew-dev libplot-dev libglut3-dev libopenexr-dev libopenexr2c2a libxi-dev
Once all dependencies are in place, we get the code from CVS (simply press ENTER when prompted for a password on the login command) and build it.
cvs -d:pserver:anonymous@enblend.cvs.sourceforge.net:/cvsroot/enblend login cvs -z3 -d:pserver:anonymous@enblend.cvs.sourceforge.net:/cvsroot/enblend co -P enblend cd enblend
We are then ready to compile.
make -f Makefile.cvs ./configure make
The second make step can be very long and memory consuming. Make sure you have enough swap space, and go get a healthy snack while the computer is compiling.
If you encounter problems at any of these stages, please report back to the hugin-ptx mailing list. Report what command in the sequence you were executing, what machine/operating system, the revision checked out from CVS, and all other relevant information.
You are then ready to install with
sudo make install
Building libpano13
libpano13 is the new version of the PanoTools libraries. This is a necessary component for hugin, and we need to build it first.
To build libpano13 we need some libraries and particularly their dev
package:
sudo apt-get install zlib1g zliblg-dev libpng12-dev libjpeg62-dev libtiff4-dev
On older distributions, zlib1g and zlib1g-dev may not be found. In that case, the same library may be available with the names lib64z1 and lib64z1-dev.
We then need to download the source code from SVN:
svn co https://panotools.svn.sourceforge.net/svnroot/panotools/trunk/libpano libpano13 cd libpano13 ./bootstrap
If any libraries are missing, the script will complain (or at least, let you know that some library hasn't been found). In that case you probably need to install the library. To find in what package is that library, a general rule is to run the command apt-cache search missingfile
, find the relevant library and install both the library and the related -dev
package.
Run the ./configure
script and repeat this process until you have met all the dependencies.
Then we are ready to launch the make process with
make
If the library successfully compiles, you have to install it with
sudo make install sudo ldconfig
The last part is for the OS to be aware of the new library (that has been installed in /usr/local/lib
).
We can now go back up one folder level and get ready for hugin.
cd ..
Building hugin
Some additional libraries are needed. We need first to activate the universe
repository (in adept package manager, or by editing the /etc/apt/sources.lst file for example).
sudo apt-get install cmake libopenexr-dev libboost-dev boost-build libboost-thread-dev libboost-graph-dev \ gettext libwxgtk2.8-dev libexiv2-dev libimage-exiftool-perl
We download the source from SVN, as before
svn co https://hugin.svn.sourceforge.net/svnroot/hugin/hugin/trunk/ hugin cd hugin
Important: at the time of writing hugin is under development. The SVN trunk is likely to change often and can sometimes have critical bugs. Try the above first. If it does not work, please report back to the hugin-ptx mailing list. If you need a recent working version of hugin, find out from the mailing list what is the latest working revision number and plug it in after the -r switch in
svn co -r 2539 https://hugin.svn.sourceforge.net/svnroot/hugin/hugin/trunk/ hugin cd hugin
hugin has to be built using cmake (which we installed before).
cmake -DCMAKE_INSTALL_PREFIX=/usr/local .
If you compiled and installed libpano to a non standard location set the variables CMAKE_INCLUDE_PATH and CMAKE_LIBRARY_PATH to point to your install location's include and lib directories.
Finally, launch the compilation and installation with
make sudo make install sudo ldconfig
Reference: [1]
Autopano-sift-C
sudo apt-get install libxml2-dev svn co https://hugin.svn.sourceforge.net/svnroot/hugin/autopano-sift-C/trunk/ autopano-sift-C cd autopano-sift-C cmake -DCMAKE_INSTALL_PREFIX=/usr/local . make sudo make install
Match-n-shift
- copy match-n-shift to your /usr/local/bin folder.
- start Hugin
- navigate the menu File to Preferences
- In the Preferences window, open the Autopano tab
- Select Autopano -> Autopano-SIFT
- tick the checkbox for Use alternative Autopano-SIFT program
- enter the full path to match-n-shift (/usr/local/bin/match-n-shift) in the Autopano-SIFT field
- enter the following string in the Arguments field:
-f %f -v %v -c -p %p -o %o %i
MatchPoint
MatchPoint is a next generation CP generator. The result of a GSoC2007 project, it is still very experimental. Experience reports needed. Read more here
sudo apt-get install libvigraimpex-dev svn co https://hugin.svn.sourceforge.net/svnroot/hugin/gsoc07_featuredetection matchpoint cd matchpoint cmake -DCMAKE_INSTALL_PREFIX=/usr/local . make
- At the time of writing the Makefile has no install target yet, so the option in the cmake line has no effect yet.
- copy the MatchPoint executable into /usr/local/bin manually
- sudo cp MatchPoint /usr/local/bin/
- edit /usr/local/bin/autopano-c-complete.sh (do it with sudo to have the necessary permission)
- line 79: replace the .key.gz extension with .key (not sure if MatchPoint supports compression)
- lines 83 and 88: replace generatekeys "$arg" $FILENAME $SIZE with MatchPoint "$arg" $FILENAME (not sure if the size option or any other options of the original generatekeys are applicable)