Dependencies
- Python 2.4
Either use latest official binary from www.python.org (this has the advantage of being a Universal binary and supporting correct launch of applications via the python binary). Or install boost's python2.4 (which is required for boost anyway).
Ensure current python includes are in /usr/include e.g. /usr/include/python2.4
(This is only necessary for the Openlibraries build, which does not allow you to specify the python root)
- BOOST
Use darwinports "boost +python"
- Python 2.4 (Darwinports version)
To ensure that libboost_python is linked against the correct Framework ensure that the bjam variable PYTHON_ROOT is set to /opt/local/Library/Frameworks.
Or use the following bjam command:
bjam --prefix=/opt/local --layout=system -sTOOLS=darwin -sPYTHON_ROOT=/opt/local/Library/Frameworks/Python.framework/Versions/2.4 --with-python -sPYTHON_VERSION=2.4 stage
--layout=system is required, or else the file names include the boost version. This is in-compatible with the olib build.
This will stage libboost_python in the boost source tree.
- Qt v3
ftp://ftp.trolltech.com/qt/source/
./configure -fast -thread -pch -plugin-imgfmt-png -plugin-imgfmt-jpeg -plugin-imgfmt-mng
- FFMpeg (ffmpeg.sourceforge.net)
Fetch latest from SVN:
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
Run configure:
./configure --prefix=/opt/local --enable-shared --extra-cflags=-DHAVE_LRINTF
Optionally the following flags if you want gpl'd plugins:
--enable-faac --enable-faad --enable-mp3lame --enable-gpl
Then make and make install.
FFmpeg exists as a darwinports port, but this version is stale - don't use with olibs.
Add --extra-cflags="-DHAVE_LOCALTIME_R" to Portfile to avoid duplicate symbol with OS library (see http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/2004-April/025312.html)
Edit 'configure' to remove -mdynamic-no-pic flag. This flag leaves relocatable entries in the read-only TEXT section of the static library, which prevent openlibraries from linking. Then run 'ranlib' on libav*.a
- GLEW (glew.sourceforge.net or darwinports)
- OpenEXR (darwinports)
- pkg-config (darwinports)
- Nvidia Cg framework: http://developer.nvidia.com/object/cg_toolkit.html
- Openlibraries
Ensure current python includes are in /usr/include e.g. /usr/include/python2.4 (configure script doesn't seem to respect CPPFLAGS so an alternative would be to add -I/opt/local/include to CFLAGS)
Configure using:
./configure --prefix=/opt --with-boostprefix=/opt/local --with-qtinclude=/usr/local/qt/include --with-qtlib=/usr/local/qt/lib --enable-openalframework --with-pythonversion=2.4 --enable-gpl
Currently (7/8/06) openlibraries use incorrect flags when linking the python plugins. They should use -bundle to produce a MH_BUNDLE shared library. However they currently use -dyanmiclib, which produces a dynamic shared libary of type MH_DYLIB. To work around this I have just "hacked" the dylib link by copying the command line, removing -dynamiclib (and associated flags) and replacing with -bundle. This need to be added to the configure/make system.
