[Clam-devel] Mac OSX Build HOWTO

Pau Arumi parumi at iua.upf.edu
Fri Dec 29 13:36:24 PST 2006

It's a first draft. Edit/Improve/Comment in the wiki :

== Install Darwinports packages ==

 * Download and install darwinports package: http://darwinports.opendarwin.org/
   A direct link for a Tiger universal binary:
   $ wget http://darwinports.opendarwin.org/downloads/DarwinPorts-1.3.1-10.4.dmg

 * Check that ~/.profile has been automatically modified with PATH pointing at  
 * If not already done, add this line in ./profile 
   export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/:$PKG_CONFIG_PATH
   (I'm not sure if its really necessary --Pau)

 * If you don't have wget installed it, consider doing it now, it always comes handy:
   $ sudo port install wget

 * Install CLAM dependencies available in darwinports. This command will compile each 
   packages from upstream (the original project site) and will automatically pull its 
   $ sudo port install xercesc pkgconfig libsndfile libogg libmad fftw-single fftw cppunit

== Install packages not available in darwinports ==

 * portaudio
   $ wget http://www.portaudio.com/archives/pa_snapshot_v19.tar.gz
   untar the package, ./configure, make and finally sudo make install

 * qt3 mac-free (not x11)
   $ wget ftp://ftp.trolltech.com/qt/source/patch-qt-mac-free-3.3.7
   untar, ./configure, make, and make install

 * qt4.2 mac-free (not x11)
   $ wget http://ftp.iasi.roedu.net/mirrors/ftp.trolltech.com/qt/source/qt-mac-opensource-src-4.2.2.tar.gz
   and do the typical dance

== CLAM build ==

  Read the CLAM/INSTALL file if you're not familiar with the clam scons 
  build sequence.
  * Take into account that you'll need to export QTDIR to the qt3 dir or qt4 
    depending on the case at hand
    * before doing "scons configure" point QTDIR to qt3  
      (in my case export QTDIR=/Developer/qt)
    * before compiling SMSTools point QTDIR to qt3
    * before compiling Annotator point QTDIR to qt4 
      (in my case export QTDIR=/usr/local/Trolltech/Qt-4.2.2/)
    * before compiling NetworkEditor point QTDIR to qt4

  * Tip: if some library fails to configure inform the devel-list but you can go with a subset.
    For example I first compiled clam with this clam.conf :

prefix = '/usr/local'
release = 1
double = 0
sandbox = 1
checks = 1
release_asserts = 0
with_ladspa_support = 1
with_osc_support = 0
with_jack_support = 1
with_fftw = 1
with_nr_fft = 1
with_sndfile = 1
with_oggvorbis = 0
with_mad = 0
with_id3 = 0
with_portaudio = 1
with_portmidi = 0

 * Remember that before building Annotator you must build Annotator/vmqt

 * All applications should build and run. Inform clam-devel for any problem  
 * TODO: applications packaging not done

 * TODO: check if installation to non-system path (/usr/local) works

== Troubleshooting ==

 * I (Pau) got this weird error when executing clam-unrelated applications 
   like gvim : "dyld: Symbol not found: __cg_jpeg_resync_to_restart" it is a 
   bug explained here:
   In my case I had to remove /opt/local/lib from DYLD_LIBRARY_PATH
   You can also add export DYLD_FALLBACK_LIBRARY_PATH=/opt/local/lib but it's not
   really necessary for CLAM

This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.

More information about the clam-devel mailing list