Installing from Source
You should only be building fldigi locally if the binary distribution
does not work on your Linux distribution. Unless you are
modifying the code or need to compile for debugging you will not have
any additional functionality over the binary files. The source
code for fldigi is very large and has a number of dependencies that
must be satisfied before a successful compile. If you are not
familiar with compiling and linking source code you should probably
practice on a simpler package before treading these waters.
To compile fldigi you will need:
- A recent
C++ compiler. The GNU C++ compilers in the 4.x series
are known to work. Building with g++ 3.x requires the
development headers for the Boost C++ library.
- Version
1.1.x of the Fast Light Tool Kit (FLTK), with its development
library and headers. Versions 1.1.7 to 1.1.9 are known to
work. FLTK's multi-threading support is required.
- The samplerate (a.k.a. secret rabbit code) library.
- The Independent JPEG Group's JPEG library, or the PNG library.
You should also install the libraries and headers for PortAudio, the Portable audio I/O library.
Additional features are enabled if the corresponding libraries are present on your system:
- Support for rig control via hamlib is enabled if the hamlib development files are installed.
- Audio file generation, capture and playback support is enabled if `configure' can find the sndfile library.
- The
PulseAudio sound backend is compiled if the development files for
libpulse-simple, the PulseAudio simple API library, are present.
- The embedded XML-RPC web server is enabled if `configure' can find the C++ bindings for the libxmlrpc-c3 library.
Once
you have installed the required packages, the following commands should
be sufficient to compile fldigi and install it under /usr/local:
./configure
make
make install (you may need superuser privileges for installation)
The
`install' target installs the executable, an icon, and a .desktop
file. After installation, an fldigi launcher should appear
somewhere in
your applications menu.
Use
./configure -help to see all of the possible compile configurable items
that are available. It is possible to compile fldigi for doing
benchmark testing and for batch decoding. This is obtained by
configuring with the --enable-benchmark switch. The binary is
then suitable for measuring the modem's decoding speed.
Mac OS X installation notes
Mac
OS X support was added in version 2.10. To run fldigi on OS X,
you will need to create an app bundle. For this purpose, the
Makefile has an `appbundle' target that can be used instead of
`install':
make appbundle
This target will generate two bundles inside the build directory (by default src/):
- mac-bundle/fldigi.app, which only contains the bare minimum that is required to run fldigi on the build system
- mac-libs-bundle/fldigi.app,
which also includes copies of non-system libraries (such as
PortAudio and FLTK) that the binary links to
The configure
script has some support for building universal x86/ppc binaries.
Pass the following additional arguments to enable it:
--enable-mac-universal --disable-dependency-tracking
Fldigi has not been well tested on OS X. Any feedback, suggestions, or patches will be very welcome.
Windows installation notes
As
of version 3.0, fldigi supports win32 systems via the Cygwin POSIX
environment. To install cygwin, use the following installer link:
http://www.cygwin.com/setup.exe
Refer
to the list of library requirements and install the corresponding
cygwin packages. You will need at least the following:
- Base: (all base packages)
- Devel: binutils boost-devel fltk-devel gcc-g++ make pkg-config
- Graphics: libjpeg-devel libpng12-devel
- Libs: zlib
Use the default "Curr" option for the package selection.
PortAudio
and libsamplerate are not available from Cygwin and must be compiled
from source. If you wish to build easily redistributable
binaries, configure these libraries for static linking, e.g. with
`--enable-static --disable-shared'.
After you have installed them in the desired location, remember to tell `pkg-config' how to find them, e.g. with
export PKG_SEARCH_PATH=/usr/local/lib/pkgconfig
To configure fldigi itself for static linking, use the following command:
./configure --enable-static LDFLAGS=-static
This will produce a binary that only depends on the cygwin library, which can be found in /bin/cygwin1.dll.
At
the time of writing, fldigi has been built with the latest release of
Cygwin, version 1.5.25. The binary runs on Windows 2000 and XP,
however, a newer version of the cygwin1.dll library may be required for
Vista. Version 20080530 of the 1.7 pre-release snapshot has been
tested and is known to work:
http://cygwin.com/snapshots/
Free Software Foundation Generic Installation Instructions.