From XastirWiki
Jump to: navigation, search

This HowTo provides a step by step procedure for installing XASTIR from source using the CVS repository. Downloading the source from CVS provides the most up to date version available.

This write-up covers in detail the procedure that applies to PCLinuxOS 2010.

Preparing the system

A shell script is available near the bottom of this write-up that automates the entire process of syncing with repositories, fetching and installing libraries as well as Xastir itself. See the link below:

If you prefer a manual installation, which provides more options, continue on here.

It is usually best to do the following at a command line in order to make sure you are in sync with the repositories.

 su
 <enter your root password here>
 apt-get update

Optionally you can upgrade any existing packages that are installed by issuing...

 apt-get upgrade

Add Libraries

1. Still in root mode in the terminal, issue the following command to load the first set of libraries:

 apt-get install automake cvs liblesstif-devel GraphicsMagick gv xfontsel libxpm-devel

2. Next issue the following command to load additional packages supporting a fairly decent set of features:

 apt-get install libcurl-devel pcre libpcre0-devel proj-devel libdb4.8-devel libax25_0-devel GraphicsMagick-devel

3. If you want support for Geotiff maps, issue the following command:

 apt-get install geotiff-devel

4. Another very optional feature is text to speech, which can be had via festival:

 apt-get install festival-devel festvox-kallpc16k

5. Finally for advanced users who want to leverage the limited GDAL support:

 apt-get install gdal-devel

Note: PCLinuxOS does not appear to have either shapelib, gpsman, or gpsmanshp in its repositories. Shapelib, however, is available internally to Xastir.

6. If you need gpsman, an RPM package can be retrieved as follows (assuming your terminal is still in root mode):

 exit
 wget http://www.ncc.up.pt/gpsman/gpsmanhtml/gpsman-6.4-2.noarch.rpm

Then install the rpm back in root mode

 su
 <enter your root password here>
 rpm -i gpsman-6.4-2.noarch.rpm
 exit

The next section is taken mostly from one of the HowTo's for Ubuntu as the procedure for retrieving the XASTIR source code is the same.

Make sure you have exited out of root mode in the terminal before going on to the next steps.

Get XASTIR source code

From the "bleeding edge" CVS repository

If you really want the latest developments of xastir immediately upon their being made, CVS is the approach for you. 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.

In the steps below, you might have to change the "cd" and "mkdir" commands to suit your taste. I like to keep my projects separated rather rigidly into directories, and the steps below reflect my personal style. This does tend to make rather deep directory trees, but makes clean-up easy because everything's separate. Your mileage may vary.

  • Prepare your .cvsrc if you don't have one (I prefer to do this in my home directory.)
 ls -l ~/.cvsrc
 # DO NOT DO THE STEPS BELOW IF THE COMMAND ABOVE SHOWS THAT YOU ALREADY HAVE ONE
 cat > ~/.cvsrc
 cvs -z3
 update -P -d
 status -v
 diff -u
 type control-D to finish creating the file
  • Get the source code per README.CVS or Notes:CVS:

You can make different choices here for where you want to store your code. The example puts it in a tree under the home

directory:

  mkdir src
  mkdir src/XASTIR
  cd src/XASTIR
  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.

  • Run bootstrap to generate Makefile.am and configure:
  cd xastir
  ./bootstrap.sh

Build XASTIR

It is recommended to build the code in a separate directory from the source code so as to keep the source code tree

clean at all times:

 cd ~/src/XASTIR
 mkdir build1
 cd build1
 ../xastir/configure

Among other text, the following list will be displayed after running configure: If all of the libraries above have been installed, the output will look like what is shown below.

 options and external libraries:
 
 MINIMUM OPTIONS:
   ShapeLib (Vector maps) ................. : yes (internal)
 
 RECOMMENDED OPTIONS:
   GraphicsMagick/ImageMagick (Raster maps) : yes (GraphicsMagick)
   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
 
 xastir will be installed in /usr/local/bin.
 

Note: it is not necessary to load all of the libraries in order to exactly match the list above.

After configure finishes (assuming with no errors), type the following:

 make

After the build completes and assuming no errors, give yourself root privileges by typing in su and then your root password when prompted

Note: in the December 2010 version of PCLOS, you may need to change directories back to where you were before entering the su command, which would be ~/src/XASTIR/build1 if you followed the recommendation above.

Next type...

 make install

Next type exit in order to get back to your normal user account (in other words, exit out of root mode) That's it, at a command line, type the following to launch XASTIR:

 xastir &

Shell Script

The shell script below will automatically fetch and install Xastir and all of its dependencies for you. It installs everything except GDAL. Copy/paste the text below into a new file named install-xastir.sh and save it. At the command line in the same directory where you saved it, enter the following commands:

 su
 (enter your root password when prompted)
 chmod +x install-xastir.sh
 exit

Then execute the script with

 ./install-xastir.sh

The shell script text is immediately below

 #!/bin/bash
 # Build script for Xastir from CVS for PCLinuxOS 2010
 # May 26, 2010
 
 if ! grep -q "PCLinuxOS release 2010" /etc/release; then
   echo "This script applies only to PCLinuxOS 2010."
   exit 1
 fi
 
 # check if user is in root mode and abort if yes
 
 if [[ $UID -eq 0 ]]; then
    echo "This script must NOT be run as root."
    exit 1
 fi
 
 # Fetch the gpsman rpm since it is not in the repositories
 wget http://www.ncc.up.pt/gpsman/gpsmanhtml/gpsman-6.4-2.noarch.rpm  || exit 1
 
 # install gpsman, refresh repositories and grab dependencies
 echo -e "\nEnter your root password when prompted...\n"
 su -c "rpm -i gpsman-6.4-2.noarch.rpm && apt-get update && apt-get -y install automake cvs liblesstif-devel GraphicsMagick gv xfontsel libcurl-devel pcre libpcre0-devel proj-devel libdb4.8-devel libax25_0-devel GraphicsMagick-devel geotiff-devel festival-devel festvox-kallpc16k libxpm-devel || exit 1"
 
 # create a .cvsrc if one does not exist.
 [ -f ~/.cvsrc ] || echo -e "cvs -z3\nupdate -P -d\nstatus -v\ndiff -u" > ~/.cvsrc
 
 # create directories for source code, etc.
 mkdir -p ~/src ; cd ~/src || exit 1
 mkdir XASTIR ; cd XASTIR || exit 1
 
 # retrieve Xastir from CVS
 echo -e "\nHit <ENTER> when prompted for a password...\n"
 cvs -d:pserver:anonymous@xastir.cvs.sourceforge.net:/cvsroot/xastir login
 cvs -d:pserver:anonymous@xastir.cvs.sourceforge.net:/cvsroot/xastir co xastir || exit 1
 
 # execute the bootstrap shell script
 cd xastir
 ./bootstrap.sh
 cd ..
 
 # create a build directory and configure
 mkdir build1; cd build1 || exit 1
 ../xastir/configure || exit 1
 
 # compile and install
 make || exit 1
 echo -e "\nEnter your root password when prompted...\n"
 su -c "make install"