This HowTo was originally based on the HowTo for Ubuntu 9.04, but it has seen a few updates since then. It provides instructions for building Xastir from CVS on Debian Squeeze with all supported libraries enabled. It assumes the user already has a working installation of Debian Squeeze, either on a physical machine or a virtual machine. Debian Squeeze is a testing release as of this writing, so the details in this write-up may be subject to change.
Contents |
Fyi, the description below originally appeared in one of the Ubuntu HowTo documents. Although I expect it does apply to Debian given I have seen a Xastir binary in the Debian repositories, I have not tried installing the binary version in Debian Squeeze and then removing it using this procedure.
If you installed a binary version of xastir using the "apt-get install xastir" option (or via Synaptic), you'll have a somewhat outdated version, and it will have installed into /usr instead of /usr/local. The source install described on this page will install into /usr/local, so you'll want to remove your binary install first before following these directions.
If you did a lot of map configuration with the binary install, all of your maps will be in /usr/share/xastir/maps. You'll need to copy those to a safe place before removing the binary install:
mkdir /tmp/maps
cp -r /usr/share/xastir/maps/* /tmp/maps
Then remove the binary package:
su (enter your root password if prompted)
apt-get remove xastir
exit
You can then follow the instructions below to re-install xastir to /usr/local from sources. Once you're done, copy your maps back to the new installation directory:
su
cp -r /tmp/maps/* /usr/local/share/xastir/maps
exit
Then you need to edit your ~/.xastir/config/xastir.cnf file to change all occurances of "/usr/share" to "/usr/local/share"
You'll be back in business with a more easily updated xastir.
I didn't have to do anything to the repository settings after installing Debian Squeeze.
First, make sure you have a working Debian Squeeze installation. Also check that you can access the Internet. If your installation is very important to you, it is advisable to make a complete backup of your system, just in case something goes wrong.
I recommend updating your installed packages to the latest versions first. This can be done using APT:
su (enter your root password when prompted)
apt-get update
Optionally you can upgrade installed packages with the following command
apt-get upgrade
If there was a kernel upgrade or something you may want to reboot your system before proceeding.
Note: if you are already in root mode after the previous step, there is no need to enter "su" again.
su (enter your root password if prompted)
apt-get install build-essential
apt-get install cvs autoconf automake lesstif2-dev imagemagick gv libxp-dev libxpm-dev libcurl4-openssl-dev
Note: On my system imagemagick was alread installed by default, but the package is included above in case this is not true for all Debian Squeeze installations.
These packages are required for the most basic minimum build of xastir. gv is not strictly required, but if you don't install it you will be unable to print. Note that this imagemagick package is not the one that gives you on-line map support, it's the one that provides the "convert" utility needed to create the postscript that gv will use to print. This package and gv are both required to be able to print from xastir even with minimal map support.
apt-get install gpsman gpsmanshp libpcre3-dev proj libproj-dev libdb4.8-dev python-dev libax25-dev shapelib libshp-dev
apt-get install festival festival-dev libmagickcore-dev libgeotiff-dev
exit
Note: Be sure to type exit as shown above in order to exit out of superuser mode.
In this method, you get your source code directly from the "repository" that the developers use to work on the software. See Notes:CVS for details. Here's the step-by-step method for getting it this way.
ls -l ~/.cvsrc
If the ls command shows that you already have a .cvsrc file in your home directory, skip this next step.
Create a .cvsrc file in a text editor:
nano ~/.cvsrc
Enter these commands in the text file:
cvs -z3
update -P -d
status -v
diff -u
Save and exit your text editor.
You can make different choices here for where you want to store your code. I'm putting it in a src directory under my home directory:
mkdir ~/src
cd ~/src
cvs -d:pserver:anonymous@xastir.cvs.sourceforge.net:/cvsroot/xastir login
cvs -d:pserver:anonymous@xastir.cvs.sourceforge.net:/cvsroot/xastir co xastir
The "login" line will result in a prompt for a password. Simply hit "Enter" here, as there is no password.
The last command could take a while to finish if you're on a slow link, as there are a lot of files to download.
cd xastir
./bootstrap.sh
GDAL is an extremely optional paackage. If you don't want/need GDAL, skip the GDAL installation below. 99% of Users won't need it.
As of this writing, the latest GDAL source can be downloaded like this:
cd ~/src
wget http://download.osgeo.org/gdal/gdal-1.6.2.tar.gz
tar zxvf gdal-1.6.2.tar.gz
cd gdal-1.6.2
./configure
make
su
make install
ldconfig
exit
The GDAL 'make' step typically takes a long time to complete
You've now got all the libraries in place and can build the fully enabled code.
cd ~/src/xastir
./configure CPPFLAGS="-I/usr/include/geotiff"
You should be rewarded with a list of features that all say "yes" after them. If you followed all the steps above, that should look like this:
xastir 1.9.9 has been configured to use the following options and external libraries: MINIMUM OPTIONS: ShapeLib (Vector maps) ................. : yes RECOMMENDED OPTIONS: GraphicsMagick/ImageMagick (Raster maps) : yes (ImageMagick) pcre (Shapefile customization) ......... : yes dbfawk (Shapefile customization) ....... : yes rtree indexing (Shapefile speedups) .... : yes map caching (Raster map speedups) ...... : yes internet map retrieval ................. : yes (libcurl) FOR THE ADVENTUROUS: AX25 (Linux Kernel I/O Drivers) ........ : yes libproj (USGS Topos & Aerial Photos) ... : yes GeoTiff (USGS Topos & Aerial Photos) ... : yes Festival (Text-to-speech) .............. : yes GDAL/OGR (Obtuse map formats) .......... : yes GPSMan/gpsmanshp (GPS downloads) ....... : yes
make
su
make install
exit
xastir
The first time Xastir is run it'll pop up a dialog box asking you to set some station parameters.
The developers are always adding new features to Xastir and fixing bugs. You'll likely want to update your Xastir semi-regularly. Fortunately for you, you don't have to repeat all of the above steps each time. Updating is actually very simple:
cd ~/src/xastir
cvs update
./bootstrap.sh
./configure CPPFLAGS="-I/usr/include/geotiff"
make
sudo make install
You have to start the festival server by hand in a shell window before starting xastir.
festival --server &
Clicking File->Configure->Speech in xastir, I could get it to talk just by clicking the "Test" button in the dialog.