• Subscribe

    Subscribe to This Week In Panospace by eMail.
    Subscribe in a reader
  • License

    Creative Commons License
    This work is © 2008-2012
    by Yuval Levy
    and licensed under a
    Creative Commons License.
  • Entries

    April 2014
    M T W T F S S
    « Dec    
  • Archives

Hugin-2009.2.0 Windows Installer

hugin-logoJust as I was laying out the current status with regards to binary distributions, Allard Katan released a Windows binary installer of 2009.2.0 and uploaded it to the project’s Sourceforge page. I quickly fired up my ailing Windows XP partition to test it.

It is still based on the old 0.7.0 installer that I wrote more than two years ago. My verdict upfront: not official release quality if you ask me. The devil lies in the details.




The most serious issue is Enblend/Enfuse. Because Windows does not have a package manager, the Hugin installer must ship runtime dependencies with the actual Hugin binary. Enblend/Enfuse is a mandated runtime dependency, and a moving target. Compare the images on the right.

The first one are six layers, simulating six images to be blended into a 360°x180° full spherical panorama.

The second one is the blend by Enblend-3.2 as shipped with this installer. The third one is the blend by Enblend’s pre-release 4.0. All using default settings. This installer ships with an outdated version of Enblend.

Unlike Enblend/Enfuse which is a mandated dependency, a control point generator is not mandatory.

Ippei Ukai has introduced an elegant modular plug-in solution for control point detectors for 0.8.0 on OSX, and the Windows version should be updated to a similar mechanism. It’s only a few lines in the installer. But it requires understanding for the process.

There are good reasons not to include control point detectors with Hugin binary distributions: Patents. U.S.-based Linux distributions such as Fedora/Red Hat and Debian steer away from distributing Autopano-SIFT-C because of the patents. And the SURF algorithm, used by Panomatic is restricted by a European patent. I personally would have not uploaded a binary installer with control point detectors to Sourceforge.

Last but not least: the release notes are unclean. They are simply copy & pasted from the source code release notes. To me this is a warning about the quality of the installer. This shortcut may not be critical, but how many other corners have been cut? In my opinion this installer’s quality is closer to an unofficial snapshot than to an official, long term supported release. There are plenty of such snapshots around the net, some of them linked from the download page of this blog. It’s the beauty of the GPL: the code is set free and others can do almost all they want with it.

I do not endorse this installer. But if it makes other users happy, let it be. When I wrote the community charter, I meant it. My opinion on the Windows installer is unimportant. I am anyway not using Hugin on Windows. Even if I disagree with Allard, I gave him full access rights so that he can go ahead and do what he thinks is right with the Windows installer. And I don’t regret it. I wrote the installer when I had an interest to understand the process of building an installer for Windows, and even if I am the original author of the installer, it does not belong to me. I’m happy if you like it as-is. Just don’t complain that it does not match up to the binaries on OSX or on Linux, it is a known bug and limitation.

Hugin-0.8.0_beta2 installer

hugin-logoAllard Katan has released an installer of the latest Hugin beta.

Hugin 0.8.0 Alpha Installer

hugin-logoIt’s good to see the project moving forward. And it is even better to see this done by a new generation of contributors. Last October the Windows build broke: new dependencies introduced with the new fast preview required an updated of the SDK. The SDK is the set of libraries and other third party code on which Hugin depends to build and run. In Linux, package management software takes care of such dependencies. In Windows, good luck!

The purpose of the SDK is to build Hugin. Like Hugin itself, many SDK components are under active development with new features introduced in the bleeding edge and stable releases recommended for daily usage. This yields four different types of build:

  • Hugin release against SDK releases. This is what most users need. It is the most stable and usable Hugin, and is the current 0.7.0 release.
  • Hugin trunk against SDK releases. Many users cherish this. It gives them early access to the bleeding edge Hugin features. Harry has been publishing such builds for OS X. Linux users have easy access to them through self-building. For Windows, this build was broken since October 2008.
  • Hugin trunk agains SDK trunk. This is a developers’ dream, and what I am currently working on in my very little spare time. It is the edgiest of the bleeding edge and its purpose is to help advance both the Hugin project and the upstream projects.
  • Hugin release against SDK trunk is a special case, useful to identify if regressions have been introduced. I’ve used it to determine that a bug I reported was not a Hugin bug.

I’ve been tinkering with the SDK and modified/updated it to build, but my objective is Hugin trunk against SDK trunk. My building environment is a minefield full of experimental stuff that need not encumber the current Hugin release process. I have no time/resources for the other types of builds at the moment.

Enter Guido Kohlmeyer. Earlier this month he published an updated stable SDK for initial testing. It had a few glitches, but with two simple fixes to the process (which I found while tinkering with bleeding edge SDK) it was made to work.

Other users followed, reporting first building attempts, then successful building attempts, and finally even experimental packages for download. Until one new contributor got the whole release process including my installer right: well done, Allard Katan, and thank you for moving the Windows installer forward! I have updated the downloads section of this blog