Enblend Compiling OSX

From PanoTools.org Wiki
Revision as of 09:23, 21 May 2010 by Harryvanderwolf (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Contents

Build Environment

  • Download and install the XCode Tools version for the operating system on the machine that you will use for the building job.
  • Install either Fink or MacPorts. Select the one you prefer most.
    • Fink: Install Fink for your environment and configure Fink to use the unstable repositories. See the Fink FAQ for information about the unstable packages and Fink Downloads for a package installer or source code for Fink (depending on your OS).
    • MacPorts: If you don't have it already, install MacPorts, which provides the port command, from MacPorts, giving you compilable package access to thousands of pieces of open source software. If you already have macports (formerly darwinports) installed, update it:
      $ sudo port selfupdate
      Make sure you have synced the latest port files:
      $ sudo port -d sync

Building and installing Enblend/Enfuse

Both Fink and MacPorts provide access to an earlier build of Enblend3 - however, these are really outdated versions. The following instructions are geared towards those who want to install the latest version of Enblend and Enfuse. The instructions are split into two sections: 1) satisfying prerequisites, which must only be done once; and 2) building the latest Enblend/Enfuse source, which may be done as often as you'd like.

These instructions have been tested on OSX 10.4 and 10.5 on both x86 and PPC systems:

Satisfying Enblend Dependencies and other Prerequisites

Via Fink

1. Install dependencies:

fink install lcms lcms-shlibs boost1.33 libtiff libtiff-shlibs libxmi libxmi-shlibs libjpeg libjpeg-shlibs libpng libpng-shlibs

Click yes to all questions from Fink.
Note: Fink also needs the Mercurial repository but based on your Python version you need to install mercurial-py24, mercurial-py25 or mercurial-py26.

2. Modify the lcms header file:

sudo sed -i= 's/memory.h/\/usr\/include\/memory.h/' "/sw/include/lcms.h"

Via MacPorts

1. Install dependencies:

sudo port install make lcms boost jpeg tiff libpng OpenEXR mercurial

Building Enblend/Enfuse from the Latest Source

3. Download enblend from the Mercurial repository,

hg clone http://enblend.hg.sourceforge.net:8000/hgroot/enblend enblend

On subsequent retrievals from the Mercurial repository you simply cd into the enblend development directory on your mac and you issue the following two commands:

hg pull
hg update


4. Build and install enblend

Enblend supports builds outside the source directory which will keep your source directory "clean". So cd into the source directory, create a build directory and cd into that directory.
We also need to create a makefile for our system when we download from the development repository. We do need to do that in the source directory.

cd enblend
make --makefile=Makefile.scm
mkdir build
cd build

Via Fink

CPPFLAGS=-I/sw/include LDFLAGS=-L/sw/lib ../configure --with-apple-opengl-framework
make
sudo make install 

Via Macports

CPPFLAGS=-I/opt/local/include LDFLAGS=-L/opt/local/lib ../configure --with-apple-opengl-framework
make
sudo make install 

Enblend and Enfuse should now be installed in /usr/local/bin/ and ready to use; you may need to open a new terminal window in order for your shell to find the new binaries.

Troubleshooting

Note: These troubleshoot area is Fink related and might be completely outdated.

If you see errors during make -f Makefile.cvs similar to the following, add autoconf2.5 and automake in fink.

configure.in:22: error: possibly undefined macro: AC_DEFINE
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
configure.in:30: error: possibly undefined macro: AC_MSG_WARN
make: *** [all] Error 1

If the prereq step tries to pull in db44 and it fails to compile, grab the binary of boost instead using sudo apt-get install boost1.33

An alternative MacPorts build

On the following page you will find these MacPorts instructions which can also be used to create enblend and enfuse.

Personal tools
Namespaces

Variants
Actions
Navigation
tools
Tools