forked from Xastir/Xastir
-
Notifications
You must be signed in to change notification settings - Fork 0
/
INSTALL
1532 lines (1165 loc) · 61 KB
/
INSTALL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
General steps to configure/compile/install Xastir:
(See detailed steps and library installation instructions below)
----------------------------------------------------------------------
1) Get one of the source releases from Github at
https://github.com/Xastir/Xastir/releases
and explode it. (Replace X.Y.Z with the release number below)
mkdir Xastir
cp Xastir-Release-X.Y.Z.tar.gz Xastir
cd Xastir
tar xzvf Xastir-Release-X.Y.Z.tar.gz
An alternative to the above steps is to use git to download the
Xastir sources. See README.GIT for those instructions. Git allows
you to easily keep up to date with the developers.
2) Go into the xastir directory to build the executable:
cd Xastir
If you used Git to fetch the sources, you need one more step here
before you run the following steps: "./bootstrap.sh"
Then create a build directory, configure and build the code:
mkdir -p build
cd build
../configure
make
su (become the root user)
make install (make install-strip can be used after the first time)
chmod 4555 /usr/local/bin/xastir (only if you use kernel ax.25, see below)
exit (from root)
3) Xastir should be installed in /usr/local/bin (the default on most
systems). You can run it by typing this from a shell:
xastir &
Short summary of libraries Xastir can use:
-------------------------------------------------------------------------
Motif or OpenMotif or LessTiff Required The GUI widget set
pthreads Required Threading capability
Shapelib Recommended ESRI Shapefile maps and WX alerts
pcre Recommended used with Shapefile maps
Xpm Optional XPM images + Snapshots + Printing
ImageMagick Optional MANY graphics images
libtiff/libgeotiff/libproj Optional geoTIFF maps (USGS topos)
AX.25 Optional Kernel AX.25 networking support
festival Optional Speaking alerts
libcurl or wget Optional Internet images as maps
GPSMan/gpsmanshp Optional Converts GPS data to Shapefiles
libdb (4.0 or newer) Optional Internet map caching (fast!)
libpq Experimental Persistent data with Postgis
libmysqlclient Experimental Persistent data with MySQL
Library/Option Heirarchy:
-------------------------
ImageMagick (Usually requires additional libraries)
error_popups (Annoying popups, turned off by default)
libgc (developer stuff: memory leak testing)
"festival --server &" (Xastir connects to this server)
|
`-----------> Festival
gprof
|
`-+---------> profiling (developer stuff)
/
|
gprof-helper.so
libax25
|
`-----------> AX25
libProj
|
`-+-------+-> GeoTiff
/ /
/ /
libtiff /
/
libgeotiff
gpsmanshp
|
`-+------+--> GPSMan
/ /
| /
tcl/tk /
/
ShapeLib
|
+-----------> rtree
|
`-+---------> Dbfawk
/
|
PCRE
libcurl or wget
|
`-+--------> map_caching
/
|
Berkeley DB
MySQL --------> MySQL database interfaces (Experimental)
|
`-+---------> db2APRS (Xastir connects to this server)
/
|
Meteo
Postgresql
|
`-+--------> Postgis database interfaces (Experimental)
| +
/ QGIS [station data in another GIS application]
|
Postgis
---------------------------------
Installing only the required libs gives you these capabilities:
PocketAPRS maps
aprsDOS maps
WinAPRS maps
MacAPRS maps
GNIS labels
Address searching
serial port and Internet gateway connectivity.
Adding XPM or ImageMagick libs, ImageMagick's "convert" utility, and
the "gv" utility gives you printing capability. Postscript or
emulated postscript printing capability is required for this as well.
Adding XPM or ImageMagick libs plus "convert" also give the
capability to create automatic PNG images on disk from the map
screen (useful for web pages!).
Adding Shapelib support also gives you the capability to use Tiger
2000 maps which were converted to Shapefile format by ESRI. This
allows you to use free detailed street maps for any point in the
U.S.
Adding other libraries gives you the additional capabilities listed
above.
For those who would like to see the full list of libraries Xastir
might use (to decide what packages to install), here's the ldd
command run against a pretty much fully-loaded Xastir. Note that
quite a few of these libraries are pulled in by the ImageMagick
library, and your library list may look little like it due to
differences in how ImageMagick was compiled:
> ldd /usr/local/bin/xastir
libXm.so.3 => /usr/X11R6/lib/libXm.so.3 (0x40030000)
libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0x40287000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x402db000)
libMagick.so.0 => /usr/lib/libMagick.so.0 (0x403d7000)
liblcms.so.1 => /usr/lib/liblcms.so.1 (0x4052f000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x40553000)
libexif.so.9 => /usr/lib/libexif.so.9 (0x405a9000)
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x405be000)
libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x405cc000)
libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x405d5000)
libbz2.so.1 => /usr/lib/libbz2.so.1 (0x405ed000)
libz.so.1 => /usr/lib/libz.so.1 (0x405fd000)
libpthread.so.0 => /lib/i686/libpthread.so.0 (0x4060c000)
libm.so.6 => /lib/i686/libm.so.6 (0x4065d000)
libdb-4.1.so => /usr/lib/libdb-4.1.so (0x40680000)
libXpm.so.4 => /usr/X11R6/lib/libXpm.so.4 (0x40744000)
librt.so.1 => /lib/librt.so.1 (0x40755000)
libcurl.so.2 => /usr/lib/libcurl.so.2 (0x40768000)
libXp.so.6 => /usr/X11R6/lib/libXp.so.6 (0x4078f000)
libshp.so.1 => /usr/local/lib/libshp.so.1 (0x40797000)
libpcre.so.0 => /usr/lib/libpcre.so.0 (0x4079f000)
libproj.so.0 => /usr/local/lib/libproj.so.0 (0x407ab000)
libtiff.so.3 => /usr/lib/libtiff.so.3 (0x407e2000)
libgeotiff.so => /usr/local/lib/libgeotiff.so (0x4082b000)
libax25.so.0 => /usr/lib/libax25.so.0 (0x4084d000)
libc.so.6 => /lib/i686/libc.so.6 (0x40b64000)
libdl.so.2 => /lib/libdl.so.2 (0x40c97000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
libssl.so.0.9.7 => /usr/lib/libssl.so.0.9.7 (0x40c9b000)
libcrypto.so.0.9.7 => /usr/lib/libcrypto.so.0.9.7 (0x40ccb000)
libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x40dbd000)
libjasper-1.700.so.2 => /usr/lib/libjasper-1.700.so.2 (0x40ddd000)
libpng.so.3 => /usr/lib/libpng.so.3 (0x40e2c000)
libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x40e5b000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x40f1b000)
Things you need for this version:
---------------------------------
* Get Lesstif/OpenMotif from your favorite Linux/Unix distribution.
-or-
* Lesstif: www.lesstif.org (look below for RED-HAT instructions)
-or-
* OpenMotif: www.openmotif.org
* AX25 packages: (if you want support for kernel AX25 interfaces)
Lib AX25
AX25 apps
AX25 tools
The apps package is not required, but strongly suggested.
These packages are in most Linux distributions but may be out
of date. See the linux-hams mailing list for details.
* You should have glibc on your system that supports threads!
For geoTIFF support (such as USGS DRG topo maps) you also need:
libtiff (should be in the package set of most distributions):
------------------------------------------------
http://www.simplesystems.org/libtiff/
libproj (proj-4.4.9 or later):
---------------------
http://proj4.org/
Datum translations (proj-nad27 or proj-datumgrid):
--------------------------------------------------
http://proj4.org/
libgeotiff (any version later than libgeotiff-1.1.5):
--------------------------------------------------
http://geotiff.osgeo.org/
Please note that the order of installation for the above libraries is
critical. Follow the instructions below carefully. Also, the particular
libgeotiff you use depends on the version of libtiff you have installed.
For Linux kernel AX.25 interfaces, you require these packages:
Lib AX25
AX25 apps
AX25 tools
These packages are in most Linux distros. Source code and other
information about them can be found at:
http://www.linux-ax25.org/wiki/Main_Page
The apps package is not required, but strongly suggested.
See the AX.25 HOWTO and the linux-hams mailing list for
details.
For speech support via the festival speech synthesis software you need:
festival. Many package management systems have it already
but source and documentation are at:
http://www.cstr.ed.ac.uk/projects/festival/
For ESRI Shapefile format maps/weather alert maps:
Shapelib:
http://shapelib.maptools.org/
pcre:
http://www.pcre.org
For ImageMagick support for maps in any of 68 major graphics formats,
including the capability to use online maps and weather radar images:
ImageMagick:
http://www.imagemagick.org/
To use online maps or findu.com historical data, you'll need wget or
libcurl/libcurl-devel installed. Many systems have these pre-installed,
so check first. You may need to upgrade your installed version for
this feature to work correctly from within Xastir:
Wget:
ftp://ftp.gnu.org/gnu/wget/
libcurl:
http://curl.sourceforge.net/
To download GPS tracks/waypoints/routes from a Garmin GPS into Xastir,
converting to Shapefile format maps as it runs, you'll need gpsmanshp and
GPSMan. GPSMan 6.0 and later has command-line support built-in so that
Xastir can control it directly, but only GPSMan 6.1 and later are currently
usable with Xastir:
gpsmanshp:
http://www.ncc.up.pt/gpsmanshp/
GPSMan:
http://www.ncc.up.pt/gpsman/
http://sunsite.unc.edu/pub/Linux/science/cartography
See below for instructions on installing all of these libraries. Once the
libraries are installed, ./configure should find the libraries and allow
compiling in support for the new features.
If you wish to enable/disable configure's testing of certain
features, you can add any of the following flags to configure:
--without-ax25
--without-festival
--without-gpsman
--without-imagemagick
--without-libproj
--without-geotiff
--without-shapelib
--without-pcre
--without-dbfawk
--without-map-cache
--with-errorpopups
--with-libgc
--with-profiling
--with-rtree
--with-lsb
--with-postgis
--with-mysql
For example, "./configure --without-ax25" will disable the AX.25
networking code in Xastir.
If you have installed Xastir before, read the "UPGRADE" file for
information on changes in file location and permissions.
First Time Install:
-------------------
1. OPTIONAL: If you wish to use AX.25 interfaces, install the AX.25
packages. Verify that they are configured and working. Use "listen"
to watch the packets fly by after getting AX.25 configured and hooked
to a TNC. Use the AX.25 HOWTO document to guide you in this process.
2. Install LessTif or OpenMotif
If you already have Motif or OpenMotif on your system, including
the development headers, then you won't need to install LessTif. Most
distributions include one of these; step 2a describes building from
source, while 2b describes installing from pre-built packages on
your distribution. Now that OpenMotif is available, you may be happier
running it than LessTif, but either one should work with Xastir.
Some users have had problems with OpenMotif, and others have had troubles
with LessTif. Symptoms are often menu problems (menus don't draw
correctly, menus won't respond to clicks). If you encounter these
problems, then uninstall the current Motif and install the other. Several
Mac users have reported problems with OpenMotif, so LessTif may be a
better place to start.
2a. Download LessTif version 0.91.1 or higher or download OpenMotif.
Follow the instructions provided, compile it and install it.
Usually,
./configure
make
su (root)
make install
/sbin/ldconfig
exit (from root)
Or you can try any other OSF/Motif(R) version 1.2
2b. Install LessTif or OpenMotif (from a package)
Download the lestif-devel (if it exists) and lestif, and install it
as your distribution instructs you to install packages.
3. OPTIONAL: Install geoTIFF support. Allows using USGS DRG topo maps or
other types of geoTIFF maps/images and has the ability to tile smaller
maps into a larger contiguous map of an area:
3a. Check/Edit your startup files:
-----------------------------
Check that /usr/local/lib, /usr/lib, and /usr/X11R6/lib are
all listed in /etc/ld.so.conf, and run /sbin/ldconfig to
re-create the system's cache file. If you don't have
permission to edit this file:
Edit ~/.bashrc, ~/.bash_profile, .cshrc, or
.login and add:
export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/usr/X11R6/lib
This will let the loader find the shared libraries when it tries to
load Xastir into memory.
If you instead have a /etc/ld.so.conf.d directory, then this will add
the /usr/local/lib directory to the search: Create a file in the
/etc/ld.so.conf.d called "local.conf". The file should contain exactly
one line:
/usr/local/lib
Use your favorite text editor or use these commands:
echo "/usr/local/lib" > /etc/ld.so.conf.d/local.conf
ldconfig -v
Check that you aren't already defining LD_LIBRARY_PATH somewhere else.
If so, just add the paths above to it. Make sure this environment
variable is defined in the current shell you're using to compile Xastir.
Note that if you're running Xastir SUID root, the LD_LIBRARY_PATH
variable is ignored.
3b. Install libproj:
--------------------
NOTE: You must install libproj BEFORE compiling libgeotiff, because
libgeotiff uses libproj to do the datum translations. If you install
libgeotiff first, datum translations won't work.
proj-nad27-1.1.tar.gz or proj-datumgrid-1.3.zip must be decompressed in
the nad subdirectory of the proj distribution directory before you run
configure.
tar xzvf proj-4.4.9.tar.gz (or newer)
cd proj-4.4.9/nad
unzip ../../proj-datumgrid-1.3.zip (or tar xzvf ../../proj-nad27-1.1.tar.gz)
cd ..
./configure
make
su (root)
make install
/sbin/ldconfig
exit (from root)
libproj should now be installed in:
/usr/local/include/
/usr/local/lib/
/usr/local/bin/
/usr/local/share/proj/
You may need to do this (as root) if the "make install" portion fails
because it can't find "ginstall":
cd /usr/bin
ln -s install ginstall
Then retry the "make install" portion above.
3c. Upgrade libtiff if needed:
-----------------------------
The best way to install libtiff is to get it from the ftp site
for your Linux distribution. You must have libtiff 3.5.5 or
newer for libgeotiff 1.1.x to compile and run correctly, or libtiff
3.6.0 BETA or newer for libgeotiff 1.2.x to work correctly.
If you're using libtiff 3.6.0 BETA or newer, things are simplified.
Just use libgeotiff 1.2.x or newer and they should play nicely together.
---------
Notes for older libtiff (less than 3.6.0 BETA):
If you are compiling libtiff from source, you must use
"make install_private" because the libtiff private include files
are required for libgeotiff to compile and work correctly.
You may also snag just the include files listed below from the
source distribution or the source RPM, and copy them manually to
their destinations.
The errors you'll get if you don't match up the older libtiff and
libgeotiff by way of the include files: Xastir will seg-fault when
it tries to read a geotiff file.
---------
If you upgrade libtiff, check that programs like XV, ImageMagick, and
the Gimp still run (if you have these programs installed). Graphics
programs that read/write TIFF format depend on libtiff.
3d. Install libgeotiff:
-----------------------
NOTE: Depending on your version of libtiff, either libgeotiff-1.1.5 or
libgeotiff-1.2.4 may compile properly. libgeotiff is intimately
tied to your version of libtiff. libgeotiff 1.2.x or greater
requires libtiff-3.6.0 BETA or later. If your version of libtiff is
older, get libgeotiff 1.1.4 or 1.1.5. For the latter case you may
also have to download the sources for your version of libtiff in
order to copy one libtiff header file into the libgeotiff source
directory.
-----------------------
Pre 3.6.0 libtiff NOTE: You may need to snag some files from your exact
libtiff source distribution and place them into your /usr/include
directory before libgeotiff will compile. Note: I said use files from
the EXACT same distribution of libtiff that you already have installed!
libtiff/tiffconf.h
libtiff/tiffiop.h
libtiff/tif_dir.h
contrib/dosdjgpp/port.h
Drop all four files into the /usr/include/ directory, creating no
subdirectories at all. This allows the libgeotiff code to "see"
into the libtiff library so that it can use some functions that
aren't normally (publicly) available. Try to make sure that
you're not overwriting any files in /usr/include/ by the same name.
Some of these files may already be present in /usr/local/. If so,
they should be exact duplicates. "diff filename1 filename2" will
tell you if there are any differences between two files.
If you'd rather not mess with the /usr/include directory,
you can drop the four files into the
libgeotiff-1.1.5/libtiff_private/ directory instead. Libgeotiff
will pick up the files there, issue a warning to you that you're
using private include files, yet still compile in support for your
particular version of libtiff.
With libgeotiff-1.2.4/libtiff-3.6.0-beta or newer you shouldn't
need to copy these files across. The newer libtiff and libgeotiff
can work together using public interfaces.
------------------------
tar xzvf libgeotiff-1.2.4.tar.gz (or newer)
cd libgeotiff-1.2.4
./configure
make
su (root)
make install
/sbin/ldconfig (tells the loader about the new libraries)
exit (from root)
libgeotiff should now be installed in:
/usr/local/include/
/usr/local/lib/
/usr/local/share/epsg_csv/
/usr/local/bin/
If you must re-run "configure" for any of these libraries, remember to
delete "config.status" and "config.cache" files first.
4. RECOMMENDED: Install ESRI Shapefile support. Allows using many sources
of online polygon, polyline, and point maps, including ones from NOAA.
This is also the format for weather alert maps. This support is provided
by the shapelib package.
NOTE: There are TWO ways to install Shapelib, using the version of
Shapelib that comes with Xastir (statically linked with Xastir), or using
a separate Shapelib shared library (dynamically linked with Xastir). If
you ONLY require Shapelib for Xastir and won't need it for any other
program, then you may use the private copy distributed with Xastir,
skipping the Shapelib install instructions in this section. If you have
other programs which need Shapelib, then it is recommended that you
install Shapelib first as a shared library, per the instructions below.
If you skip the instructions in this sections, "./configure" will set the
compile up so that the private Shapelib code will be statically
linked to the executable.
It isn't clear from the install instructions in shapelib, but just
installing the library is sufficient, and just typing "make" and
"make install" doesn't make or install the libraries. Take these steps:
make lib
su (root)
make lib_install
/sbin/ldconfig
exit (from root)
and you should have what you need.
You may also need to tweak "/etc/ld.so.conf" to contain the proper path
to the libraries and then run /sbin/ldconfig to update "/etc/ld.so.cache".
Once this is done the loader should be able to find the Shapelib library.
Must run /sbin/ldconfig as root for the system to be able to re-create its
cache file. See the instructions earlier in this file if you have an
/etc/ld.so.conf.d directory instead (section 3A).
For MacOSX: Bill Owen, N2RKL, suggested the following for
ShapeLib:
"The shapelib Makefile wouldn't work out of the box, so I
figured out what the important bits were and built them by
hand:"
-----------------------------------------------
cc -c shpopen.c
cc -c shptree.c
cc -c dbfopen.c
ar cru libshp.a shpopen.o shptree.o dbfopen.o
sudo cp libshp.a /sw/lib
sudo ranlib /sw/lib/libshp.a
sudo mkdir /sw/include/libshp
sudo cp shapefil.h /sw/include/libshp/
-----------------------------------------------
Note that you'll have to set up /etc/sudoers file to allow those
commands to be run by a normal user before sudo will work for
you. See the README.Git file for sudo instructions.
COMPILING OPTIONAL UTILITIES FOR SHAPELIB:
These utilities are sometimes useful when writing dbfawk rules
but aren't necessary for running Xastir.
cd xastir/src/shapelib
make -f Makefile_shapelib_orig
cd contrib
make -f Makefile_orig
You'll be left with useful executables in the xastir/src/shapelib and
xastir/src/shapelib/contrib directories. It's your choice whether to
copy them to a directory in your path (perhaps /usr/local/bin?) to make
them easier to use.
5. OPTIONAL: Install -either- GraphicsMagick or ImageMagick support as
shown below. Xastir will use one or the other but not both. It'll prefer
GraphicsMagick over ImageMagick if both are installed. Do step 5a -or- 5b
below to get this type of image support compiled into Xastir.
Allows using more than 68 different graphics format files as maps, by
creating an associated .geo file for each with tie-points. This support
will allow use of online Tiger and Terraserver maps with Xastir, and NOAA
weather radar images. Other people are working on integrating even more
online mapping sources. This will also allow you to use any GIF/JPG/XPM/
BMP/... image as an Xastir map. Installation instructions are included in
the package. If you choose to install from a binary install, be sure that
you have all the graphic format libraries that it was originally built
with.
The easiest way to install one of these is via a package from your linux
distribution's CD or ftp site. If you install from such a package, make
sure the header files are installed. These are often in a separate package
called GraphicsMagick-devel or ImageMagick-devel or similar.
5a. OPTIONAL: Install GraphicsMagick support.
Download the GraphicsMagick sources from:
http://www.graphicsmagick.org
Uncompress/un-tar them...
tar -xzvf Gr*
Change directory to the newly created GraphicsMagick directory and
compile:
cd Gr*
./configure --with-quantum-depth=16 --enable-shared
make
su -c 'make install'
su -c '/sbin/ldconfig'
Skip the next step (5b) as you only need ImageMagick support installed if
you _don't_ install GraphicsMagick.
5b. OPTIONAL: Install ImageMagick graphics support.
Note that Xastir's "./configure" stage may fail trying to compile in
ImageMagick support. If this happens, make sure you have the ImageMagick
development package installed if using RPM packages, or have installed
the ImageMagick header files. If it still fails, check the "config.log"
file _very_ carefully. Often ImageMagick tests fail due to some other
library that ImageMagick depends upon being absent, such as liblcms,
libbz2, or others. This can also cause AX.25 support to be dropped in our
current "configure" script. We're working on that.
Until the RPM packagers for ImageMagick include all of the dependent
libraries in their RPM dependency list, the best way to assure that
ImageMagick is installed properly is to install it from sources.
-------------------------------------------------------------------------
Note: Red Hat 9.0's install of ImageMagick does not work with
XASTIR. It will need to be removed and installed from sources.
If w3m text based web browser is installed, you will need to remove
it before removing ImageMagick:
rpm -e w3m
rpm -e ImageMagick
Download the Imagemagick sources from:
ftp://ftp.imagemagick.org/pub/ImageMagick/
At the time of writing, this was
ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick-5.5.7-34.tar.gz
But you may need to get a newer version by the time you read this.
Uncompress/un-tar them...
tar -xzvf im*
Change directory to the newly created ImageMagick directory and
compile:
cd im*
./configure
make
su -c 'make install'
su -c '/sbin/ldconfig'
These instructions are courtesy of Wes Johnston.
-------------------------------------------------------------------------
6. OPTIONAL: If your system doesn't have wget or libcurl/libcurl-devel
installed, and you want to use online maps, install either or both of
those packages now. Installation instructions are included in the
package. Some older versions of wget don't work properly with
Xastir, so even if you already have wget you may need to upgrade it.
Please refer to the wget man pages or the web pages at
http://www.gnu.org/software/wget/wget.html for info concerning wget.
Note that if the remote server is down, Xastir can appear to hang
for a bit before wget times out. Xastir calls wget with no retries
and a 30-second timeout, but one user reported that wget takes one
minute fifteen seconds to time out. Also note that the users ~/.wgetrc
and the system-wide wgetrc file can change the timeouts and retries as
well. See the man pages for details. Pay particular attention to
which file/command-line-options take priority over others. It looks
like the command-line option "--execute command" will allow overriding
the .wgetrc files, which means the user can override the hard-coded
timeouts/retries in Xastir by specifying new defaults in their ~/.wgetrc
file.
Libcurl should be a drop-in replacement for the wget functionality that
we use, and it's a faster and more secure method.
7. OPTIONAL: Installing gpsmanshp/GPSMan allows Xastir to fetch GPS
waypoints/routes/tracks from a GPS. Xastir can fetch the data
automatically, create a Shapefile map, then index/select/display the
new map.
Make sure you have Shapelib installed first (see above instructions).
Note that you may have to change the gpsmanshp Makefile to call out
"TCLVERSION = 8.4" instead of 8.3, depending upon which version of tcl is
installed on your system. Use your package manager to determine this
("rpm -q -a | grep tcl"), or you may be able to find out in /usr/lib by
typing "ls -ld tcl*".
Install gpsmanshp:
tar xzvf gpsmanshp_1.2.2.tgz
cd gpsmanshp
make
su -c 'make install'
Install GPSMan:
tar xzvf gpsman-6.0.tgz
cd gpsman-6.0
vi gpsman.tcl
Change SRCDIR line to: "set SRCDIR /usr/lib/gpsman"
su (root)
mkdir /usr/lib/gpsman
cp gpsman.tcl /usr/lib/gpsman
ln -s /usr/lib/gpsman/gpsman.tcl /usr/X11R6/bin/gpsman
cd gmsrc
cp * /usr/lib/gpsman
cp -R gmicons /usr/lib/gpsman
chmod -R 755 /usr/lib/gpsman
chmod 644 /usr/lib/gpsman/gmicons
chmod 777 /usr/local/share/xastir/maps/GPS (IMPORTANT!)
exit (from root)
Verify that GPSMan will start up and will download information from a
Garmin GPS in Garmin-Garmin mode. This also creates the configuration
files needed to use GPSMan with Garmin GPS's from within Xastir (sets
GPS type, serial port, etc within GPSMan's configs).
8. OPTIONAL: Install Festival for speech support
To use speech you must have a sound card and the 'festival' speech
synthesis software installed. Install Festival and start it in 'server'
mode prior to starting up XASTIR. The normal command for this is
"festival --server &". More info about the speech features is in the
Xastir help file. An easy way to get festival installed on some systems
is to go to rpmfind.com and search for both festival and festival-dev,
then install the RPM's found. Red Hat RPM's installed onto SuSE 7.3 with
no problems. Note that the default voice doesn't speak numbers very well.
Edit /usr/share/festival/voices.scm and put "ked_diphone" at the first of
the "defvar default-voice-priority-list". This will change the default
voice to "ked_diphone".
Note that you can start up the festival server and test it out manually
by typing these commands:
telnet localhost 1314
(SayText "Hello")
To exit, press control-] and then type "quit".
9. OPTIONAL: Install Berkely DB Library to enable map caching
of internet maps.
Please note that segfaults (crashes) in Berkeley DB calls can be caused
by having multiple versions of the library installed. The programming
interface has changed between the versions. If you compile Xastir with
one version's header files but Xastir links to another version's
library, you can easily end up with segfaults when Xastir runs. SuSE
Linux for instance has these available which you _should_ install:
db
db-devel
Plus SuSE has these additional packages available which you should _not_
install. Remove them if they're on your system (using YaST or rpm):
db-40
db42
Xastir will normally try to use /usr/include/db.h as the header file,
and /usr/lib/libdb.so as the library it will link to (which is usually
a symlink to something else, like /usr/lib/libdb-4.1.so). If the
header file and the library file don't match, a segfault often occurs.
The easiest way to avoid problems is to keep one and only one version
of the Berkeley DB library on your system.
Here's how to test what version of include file and library file you're
using: Find the db.h file. It's usually in /usr/include/db.h.
grep DB_VERSION db.h
Mine shows this:
#define DB_VERSION_MAJOR 4
#define DB_VERSION_MINOR 1
#define DB_VERSION_PATCH 25
#define DB_VERSION_STRING "Sleepycat Software: Berkeley DB 4.1.25: (October 2, 2003)"
Now do this:
ldd /usr/local/bin/xastir | grep libdb
Mine shows this:
libdb-4.1.so => /usr/lib/libdb-4.1.so (0x40680000)
In this case, version 4.1 of the include file matches 4.1 of the library
file, so it works fine. A mismatch in the first two numbers can cause
segfaults when Xastir tries to do map caching.
If you install the Berkeley DB library in an unusual place (something
other than /usr/lib and /usr/include), you should still be able to tell
configure where to find it. This comes courtesy of Tom Russo:
> > Someone installed Berkeley DB Library here:
> >
> > /user/local/BerkeleyDB.4.3/include/db.h
> >
> > Perhaps I can assume that the library would be located here:
> >
> > /usr/local/BerkeleyDB.4.3/lib/libdb.so
> >
> > How does one go about specifying the location of the db.h file and
> > the libdb.so file so that configure/compile/loading of Xastir work
> > properly?
> --with-bdb-libdir=/usr/local/BerkeleyDB.4.3/lib
> and
> --with-bdb-incdir=/usr/local/BerkeleyDB4.3/include
10. OPTIONAL: Compile db2APRS and install MySQL and Meteo to
allow Davis weather station support.
Install MySQL and Meteo.
"cd Davis"
"./bootstrap.sh"
"./configure"
"make"
This should build db2APRS in the "src" directory. Start up db2APRS.
Xastir should be able to connect to the db2APRS server in order to get
the Davis weather station data. See further instructions in the Davis
directory.
11. OPTIONAL: Experimental. Add GIS database support.
Note: Database support is experimental and any aspect may change at
any time, including database structures. Scripts to create database
tables for MySQL and Postgres/Postgis are in the scripts directory
as db_gis_postgis.sql and db_gis_mysql.sql.
Warning: If you are connected to internet feeds for APRS data, it
is possible to accumulate several million station records per day
which could amount to around 300 MB of database records per day.
Postgres + Postgis:
Install Postgres. Include development packages (libpq).
Add Postgis spatial object support to Postgres.
Compile xastir with --with-postgis
After building xastir:
Create a database named xastir and a user with create rights on
that database.
Edit db_gis_postgis.sql to set username and password for an xastir
user with select access to the xastir database.
Default values are database=xastir, user=xastir_user
You may also need to set permissions in pg_hba.conf.
Run the queries in db_gis_postgis.sql.
Run xastir and add a SQL Database interface, start with the postgis
defaults, add the username and password of the xastir user.
Other GIS applications (e.g. QGIS, Mapserver, GRASS) can access and
display station data directly from the postgresql/postgis database.
You can configure the database interface to read station from the
database on startup and to save stations as they are heard to the
database. This provides persistance of station data between
xastir sessions.
MySQL:
Install MySQL. Include development packages (libmysqlclient).
Compile xastir with --with-mysql
After building xastir:
Create a database named xastir and a user with create rights on
that database.
Edit db_gis_mysql.sql to set username and password for an xastir
user with select access to the xastir database.
Default values are database=xastir, user=xastir_user
Run the queries in db_gis_mysql.sql
mysql xastir -p < db_gis_mysql.sql
Run xastir and add a SQL Database interface, start with the MySQL
defaults, add the username and password of the xastir user.
You can configure the database interface to read station from the
database on startup and to save stations as they are heard to the
database. This provides persistance of station data between
xastir sessions.
If you have one or more spatial database interfaces set to activate on
startup, and this produces a situation that won't let you start xastir
normally [e.g. Station data with unusual characters could concevable
cause xastir to segfault when retrieved from the database, and
interactions between multiple databases that are both writing are
reading station data at the same time from each other could potentally
be unstable], you should be able to start xastir by editing the
device configuration in ~/.xastir/config/xastir.cnf
Look for DEVICEn_TYPE:14 lines (where n is the interface number, between 0
and 14, TYPE:14 devices are sql database interfaces), and edit the
device to set both query on startup and on startup values to 0.
DEVICEn_QUERY_ON_STARTUP:0
DEVICEn_ONSTARTUP:0
If the cause is problematic data in your database, you may need to
run a delete query to eliminate the problematic row(s).
12. Building XASTIR: Note that you'll need autoconf 2.53 or newer and
automake 1.6.3 or newer in order to run the "./bootstrap.sh" script.
"./bootstrap.sh" (This step needed only for those using Git)
"mkdir -p build"
"cd build"
"../configure"
"make" ("gmake" for Solaris or *BSD)
This builds XASTIR, You should not get any error or warning messages.
If you get the message from Xastir's configure script saying:
"**** NO MOTIF HEADERS FOUND **** install Motif development headers or
use --with-motif-includes to specify location of Xm/Xm.h"
even though you've got the Motif libraries and headers installed in the
proper places, you might need to add this to the configure line:
"--x-includes=/usr/X11R6/include"
If that option does not help, then Motif is installed somewhere other
than with the standard X includes. You must locate the file "Xm.h,"
which should be in a subdirectory called "Xm" somewhere. Once located
(let's say in /usr/include/Motif/Xm/Xm.h), use the configure option:
"--with-motif-includes=/usr/include/Motif"
If you get the message:
"**** MOTIF LIBRARIES NOT FOUND **** Install Motif development
headers/libraries or use --with-motif-libraries to specify path