Installation Instructions for the Dream Software

Mac OSX installation

XCode

First download and install Apple's development environment XCode. You need to register with Apple to get this. The registration page should be easy to find from the provided link. This provides a GUI development environment and the cvs tools needed to retrieve the dream source code.

QT

Next install QT 3.x free edition from Trolltech. The installation instructions are in the archive. Open a Terminal and:

cd /Developer curl -O ftp://ftp.trolltech.com/qt/source/qt-mac-free-3.3.8.tar.gz tar xzf qt-mac-free-3.3.8.tar.gz mv qt-mac-free-3.3.8 qt

Open in a text editor (either using the GUI or vi in the Terminal) the file /Developer/qt/INSTALL and follow the instructions. You need the multi-threaded version of QT.

Where to install libraries

Most of the cross-platform libraries used by dream use the GNU autoconf system and by default install in /usr/local. If you want to make a stand-alone bundle for dream you might want to keep the libraries dream uses together so you know which ones they are.
Also faad2 and faac are used by many other programs but these other programs want the non-DRM versions so we should keep the drm versions separate. These instructions put all the library and header files in the development directory. This guide puts all the downloaded code into /Developer/dream.

cd /Developer mkdir dream cd dream

Other Required Libraries

The following additional libraries are needed if you want to use Dream to receive off air transmissions from a radio attached to your sound card input.


cd /Developer/dream curl -O http://www.fftw.org/fftw-2.1.5.tar.gz tar zxf fftw-2.1.5.tar.gz cd fftw-2.1.5 ./configure --prefix=/Developer/dream make

  • QWT: Download the sources from http://qwt.sourceforge.net. You need qwt-4.2.0.tar.bz2. Use qmake to generate a Makefile and build. The generated Makefile by default makes a shared library. If you want a static library edit the qwt.pro file. If you build a dynamic library you will have to put it somewhere the run-time linker can find it. Either put it in /usr/lib or /usr/local/lib or symlink it from /Developer/dream/lib.

cd /Developer/dream curl -O http://dl.sourceforge.net/sourceforge/qwt/qwt-4.2.0.tar.bz2 tar jxf qwt-4.2.0.tar.bz2 cd qwt-4.2.0 qmake make mkdir /Developer/dream/include/qwt cp include/* /Developer/dream/include/qwt cp lib/* /usr/local/lib

cd /Developer/dream curl -O http://www.portaudio.com/archives/pa_snapshot_v19.tar.gz tar zxf pa_snapshot_v19.tar.gz cd portaudio make -f Makefile.darwin cp include/* /Developer/dream/include cp lib/* /Developer/dream/lib

  • FAAD2: I had to use CVS. The files downloadable from sourceforge would not build on the Mac. The following script builds only the static library since we need a DRM specific build of the library and we don't want it to interfere with any other version of libfaad2 you might have on your mac.

cd /Developer/dream cvs -d:pserver:anonymous@faac.cvs.sourceforge.net:/cvsroot/faac login cvs -z3 -d:pserver:anonymous@faac.cvs.sourceforge.net:/cvsroot/faac co -P faad2 cd faad2 . bootstrap ./configure --disable-shared --without-xmms --without-bmp --with-drm --without-mpeg4ip --prefix=/Developer/dream make make install

Optional Libraries

cd /Developer/dream curl -O http://drm.sourceforge.net/download/WinFhGJourLib.zip unzip WinFhGJourLib.zip cd WinFhGJourLib/journaline_20040318 gcc -I/usr/include/malloc -DFHG_USEFLATDIRSTRUCT -c NML.cpp Splitter.cpp crc_8_16.c dabdgdec_impl.c log.c newsobject.cpp newssvcdec_impl.cpp ar r libfhgjournaline.a NML.o Splitter.o crc_8_16.o dabdgdec_impl.o log.o newsobject.o newssvcdec_impl.o ranlib libfhgjournaline.a cp libfhgjournaline.a /Developer/dream/lib mkdir /Developer/dream/include/journaline cp dabdatagroupdecoder.h  newssvcdec.h  NML.h  Splitter.h /Developer/dream/include/journaline

  • Hamlib: Get this if you want to control your rig directly from Dream. If anyone has this working please post on the forum. These instructions get the hamlib CVS head. On a Mac, hamlib probably makes most sense with USB interfaces. I needed libusb to get hamlib to compile with USB backends. To get hamlib to recognise libusb you need pkg-config. This is available in Darwin Ports. Hamlib also doesn't understand that on the mac GNU libtoolize is called glibtoolize so we have to edit autogen.sh.

cd /Developer/dream curl -O http://dl.sourceforge.net/sourceforge/libusb/libusb-0.1.12.tar.gz tar zxf libusb-0.1.12.tar.gz cd libusb-0.1.12 ./configure --prefix=/Developer/dream make make install cvs -d:pserver:anonymous@hamlib.cvs.sourceforge.net:/cvsroot/hamlib login cvs -z3 -d:pserver:anonymous@hamlib.cvs.sourceforge.net:/cvsroot/hamlib co -P hamlib cd hamlib sed -i -e "s/libtoolize/glibtoolize/" autogen.sh . autogen.sh make make install
  • FAAC: Get this if you want to transmit.
cd /Developer/dream cvs -d:pserver:anonymous@faac.cvs.sourceforge.net:/cvsroot/faac login cvs -z3 -d:pserver:anonymous@faac.cvs.sourceforge.net:/cvsroot/faac co -P faac cd faac . bootstrap ./configure --prefix=/Developer/dream --enable-drm make make install

  • LIBSNDFILE: libsndfile greatly increases the number of audio file formats dream can read I/F files from and in the future will also be used for saving transmit files. For now its really optional.

cd /Developer/dream curl -O http://www.mega-nerd.com/libsndfile/libsndfile-1.0.17.tar.gz tar zxf libsndfile-1.0.17.tar.gz cd libsndfile-1.0.17 ./configure --prefix=/Developer/dream make make install
  • LIBPCAP: libpcap lets dream read MDI and RSCI files saved in pcap format, for example from tcpdump or wireshark. libpcap seems to be installed by default on the Mac if you have Xcode.

Building Dream

Finally we are ready to build dream. Only a little bit more command line work and then we can use the Xcode graphical IDE. Get the Dream source code from CVS. To get the latest stable version:

cd /Developer/dream cvs -d:pserver:anonymous@drm.cvs.sourceforge.net:/cvsroot/drm login cvs -z3 -d:pserver:anonymous@drm.cvs.sourceforge.net:/cvsroot/drm co -P drm

To get the unstable version (no guarantees this will work for you):

cd /Developer/dream cvs -d:pserver:anonymous@drm.cvs.sourceforge.net:/cvsroot/drm login cvs -z3 -d:pserver:anonymous@drm.cvs.sourceforge.net:/cvsroot/drm co -P -r unstable drm

Make an Xcode project file:

cd /Developer/dream/drm qmake -spec macx-pbuilder dream.pro

Now run Xcode up and open the project and build.

Last modified: 15 Jul 2008