Are you a spammer

Please note, that the first 3 posts you make, will need to be approved by a forum Administrator or Moderator before they are publicly viewable.
Each application to join this forum is checked at the Stop Forum Spam website. If the email or IP address appears there when checked, you will not be allowed to join this forum.
If you get past this check and post spam on this forum, your posts will be immediately deleted and your account inactivated.You will then be banned and your IP will be submitted to your ISP, notifying them of your spamming. So your spam links will only be seen for an hour or two at most. In other words, don't waste your time and ours.

This forum is for the use and enjoyment of the members and visitors looking to learn about and share information regarding the topics listed. It is not a free-for-all advertising venue. Your time would be better spent pursuing legitimate avenues of promoting your websites.

GPSMAN IN XASTIR

Source code I have written openly published for your viewing pleasure.


GPSMAN IN XASTIR

Postby alexanderthegreat » Tue Dec 23, 2008 8:53 pm

How can I disable or remove GPSMAN from Xastir 1.9
alexanderthegreat
U.E. Newbie
U.E. Newbie
 
Posts: 1
Joined: Tue Jul 22, 2008 7:13 pm
Operating System: Ultimate Edition 3.2 32 BIT



Re: GPSMAN IN XASTIR

Postby ixnod » Tue Dec 23, 2008 9:57 pm

the following may preset a few options available to you.

first, here is an install/re-install option. NOTE the without gpsman option.


2 $Id: INSTALL,v 1.104 2008/08/30 23:30:33 we7u Exp $
3
4
5 General steps to configure/compile/install Xastir:
6 (See detailed steps and library installation instructions below)
7 ----------------------------------------------------------------------
8
9 1) Get one of the source releases and explode it.
10
11 mkdir xastir
12 cp xastir*.tgz xastir
13 cd xastir
14 tar xzvf xastir*
15
16 An alternative to the above steps is to use CVS to download the
17 Xastir sources. See README.CVS for those instructions. CVS allows
18 you to easily keep up to date with the developers.
19
20 2) Go into the xastir directory to build the executable:
21
22 cd xastir*
23
24 If you used CVS to fetch the sources, you need one more step here
25 before you run configure: "./bootstrap.sh"
26
27 ./configure
28 make
29 su (become the root user)
30 make install (make install-strip can be used after the first time)
31 chmod 4555 /usr/local/bin/xastir (only if you use kernel ax.25, see below)
32 exit (from root)
33
34 3) Xastir should be installed in /usr/local/bin (the default on most
35 systems). You can run it by typing this from a shell:
36
37 xastir &
38
39
40 Short summary of libraries Xastir can use:
41 -------------------------------------------------------------------------
42 Motif or OpenMotif or LessTiff Required The GUI widget set
43 pthreads Required Threading capability
44 Shapelib Recommended ESRI Shapefile maps and WX alerts
45 pcre Recommended used with Shapefile maps
46 Xpm Optional XPM images + Snapshots + Printing
47 ImageMagick Optional MANY graphics images
48 libtiff/libgeotiff/libproj Optional geoTIFF maps (USGS topos)
49 AX.25 Optional Kernel AX.25 networking support
50 festival Optional Speaking alerts
51 libcurl or wget Optional Internet images as maps
52 GPSMan/gpsmanshp Optional Converts GPS data to Shapefiles
53 GDAL/OGR Optional Many formats (coming soon)
54 libdb (4.0 or newer) Optional Internet map caching (fast!)
55 libpq Experimental Persistent data with Postgis
56 libmysqlclient Experimental Persistent data with MySQL
57
58 Library/Option Heirarchy:
59 -------------------------
60
61 ImageMagick (Usually requires additional libraries)
62
63 GDAL/OGR (Usually requires additional libraries)
64
65 error_popups (Annoying popups, turned off by default)
66
67 libgc (developer stuff: memory leak testing)
68
69 "festival --server &" (Xastir connects to this server)
70 |
71 `-----------> Festival
72
73 gprof
74 |
75 `-+---------> profiling (developer stuff)
76 /
77 |
78 gprof-helper.so
79
80 libax25
81 |
82 `-----------> AX25
83
84 libProj
85 |
86 `-+-------+-> GeoTiff
87 / /
88 / /
89 libtiff /
90 /
91 libgeotiff
92
93 gpsmanshp
94 |
95 `-+------+--> GPSMan
96 / /
97 | /
98 tcl/tk /
99 /
100 ShapeLib
101 |
102 +-----------> rtree
103 |
104 `-+---------> Dbfawk
105 /
106 |
107 PCRE
108
109 libcurl or wget
110 |
111 `-+--------> map_caching
112 /
113 |
114 Berkeley DB
115
116
117 MySQL --------> MySQL database interfaces (Experimental)
118 |
119 `-+---------> db2APRS (Xastir connects to this server)
120 /
121 |
122 Meteo
123
124 Postgresql
125 |
126 `-+--------> Postgis database interfaces (Experimental)
127 | +
128 / QGIS [station data in another GIS application]
129 |
130 Postgis
131
132 ---------------------------------
133
134
135 Installing only the required libs gives you these capabilities:
136
137 PocketAPRS maps
138 aprsDOS maps
139 WinAPRS maps
140 MacAPRS maps
141 GNIS labels
142 Address searching
143 serial port and Internet gateway connectivity.
144
145 Adding XPM or ImageMagick libs, ImageMagick's "convert" utility, and
146 the "gv" utility gives you printing capability. Postscript or
147 emulated postscript printing capability is required for this as well.
148
149 Adding XPM or ImageMagick libs plus "convert" also give the
150 capability to create automatic PNG images on disk from the map
151 screen (useful for web pages!).
152
153 Adding Shapelib support also gives you the capability to use Tiger
154 2000 maps which were converted to Shapefile format by ESRI. This
155 allows you to use free detailed street maps for any point in the
156 U.S.
157
158 Adding other libraries gives you the additional capabilities listed
159 above.
160
161 For those who would like to see the full list of libraries Xastir
162 might use (to decide what packages to install), here's the ldd
163 command run against a pretty much fully-loaded Xastir. Note that
164 quite a few of these libraries are pulled in by the ImageMagick
165 library, and your library list may look little like it due to
166 differences in how ImageMagick was compiled:
167
168 > ldd /usr/local/bin/xastir
169 libXm.so.3 => /usr/X11R6/lib/libXm.so.3 (0x40030000)
170 libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0x40287000)
171 libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x402db000)
172 libMagick.so.0 => /usr/lib/libMagick.so.0 (0x403d7000)
173 liblcms.so.1 => /usr/lib/liblcms.so.1 (0x4052f000)
174 libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x40553000)
175 libexif.so.9 => /usr/lib/libexif.so.9 (0x405a9000)
176 libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x405be000)
177 libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x405cc000)
178 libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x405d5000)
179 libbz2.so.1 => /usr/lib/libbz2.so.1 (0x405ed000)
180 libz.so.1 => /usr/lib/libz.so.1 (0x405fd000)
181 libpthread.so.0 => /lib/i686/libpthread.so.0 (0x4060c000)
182 libm.so.6 => /lib/i686/libm.so.6 (0x4065d000)
183 libdb-4.1.so => /usr/lib/libdb-4.1.so (0x40680000)
184 libXpm.so.4 => /usr/X11R6/lib/libXpm.so.4 (0x40744000)
185 librt.so.1 => /lib/librt.so.1 (0x40755000)
186 libcurl.so.2 => /usr/lib/libcurl.so.2 (0x40768000)
187 libXp.so.6 => /usr/X11R6/lib/libXp.so.6 (0x4078f000)
188 libshp.so.1 => /usr/local/lib/libshp.so.1 (0x40797000)
189 libpcre.so.0 => /usr/lib/libpcre.so.0 (0x4079f000)
190 libproj.so.0 => /usr/local/lib/libproj.so.0 (0x407ab000)
191 libtiff.so.3 => /usr/lib/libtiff.so.3 (0x407e2000)
192 libgeotiff.so => /usr/local/lib/libgeotiff.so (0x4082b000)
193 libax25.so.0 => /usr/lib/libax25.so.0 (0x4084d000)
194 libgdal.so.1 => /usr/local/lib/libgdal.so.1 (0x40856000)
195 libc.so.6 => /lib/i686/libc.so.6 (0x40b64000)
196 libdl.so.2 => /lib/libdl.so.2 (0x40c97000)
197 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
198 libssl.so.0.9.7 => /usr/lib/libssl.so.0.9.7 (0x40c9b000)
199 libcrypto.so.0.9.7 => /usr/lib/libcrypto.so.0.9.7 (0x40ccb000)
200 libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x40dbd000)
201 libjasper-1.700.so.2 => /usr/lib/libjasper-1.700.so.2 (0x40ddd000)
202 libpng.so.3 => /usr/lib/libpng.so.3 (0x40e2c000)
203 libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x40e5b000)
204 libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x40f1b000)
205
206
207
208 Things you need for this version:
209 ---------------------------------
210 * Get Lesstif/OpenMotif from your favorite Linux/Unix distribution.
211 -or-
212 * Lesstif: www.lesstif.org (look below for RED-HAT instructions)
213 -or-
214 * OpenMotif: www.openmotif.org
215
216 * AX25 packages: (if you want support for kernel AX25 interfaces)
217 Lib AX25:http://prdownloads.sourceforge.net/ax25/libax25-0.0.7.tar.gz
218 AX25 apps:http://prdownloads.sourceforge.net/ax25/ax25-apps-0.0.4.tar.gz
219 AX25 tools:http://prdownloads.sourceforge.net/ax25/ax25-tools-0.0.8.tar.gz
220 The apps package is not required, but strongly suggested. These versions
221 are current as of the writing of this document; feel free to use newer
222 versions. Make sure the versions you choose match your kernel version.
223 Also note that there are patches required to the 2.4 kernel for AX.25
224 kernel networking. See the linux-hams mailing list for details.
225
226 * You should have glibc on your system that supports threads!
227
228
229 For geoTIFF support (such as USGS DRG topo maps) you also need:
230
231 libtiff (should be on your distribution's CD's):
232 ------------------------------------------------
233 http://www.libtiff.org
234
235 libproj (proj-4.4.9):
236 ---------------------
237 http://proj.maptools.org/
238 http://www.remotesensing.org/proj/
239 http://wetnet.net/~we7u/xastir/
240
241 Datum translations (proj-nad27 or proj-datumgrid):
242 --------------------------------------------------
243 http://proj.maptools.org/
244 ftp://ftp.remotesensing.org/pub/proj/
245 http://wetnet.net/~we7u/xastir/
246
247 libgeotiff (libgeotiff-1.1.5 or libgeotiff-1.2.4):
248 --------------------------------------------------
249 http://dl.maptools.org/dl/geotiff/libgeotiff/
250 http://www.remotesensing.org/geotiff/geotiff.html
251 ftp://ftp.remotesensing.org/pub/geotiff/libgeotiff/
252 http://wetnet.net/~we7u/xastir/
253
254 Please note that the order of installation for the above libraries is
255 critical. Follow the instructions below carefully. Also, the particular
256 libgeotiff you use depends on the version of libtiff you have installed.
257
258 For Linux kernel AX.25 interfaces, you require these packages:
259 Lib AX25:http://prdownloads.sourceforge.net/ax25/libax25-0.0.11.tar.gz
260 AX25 apps:http://prdownloads.sourceforge.net/ax25/ax25-apps-0.0.6.tar.gz
261 AX25 tools:http://prdownloads.sourceforge.net/ax25/ax25-tools-0.0.8.tar.gz
262 The apps package is not required, but strongly suggested. These versions
263 are current as of the writing of this document; feel free to use newer
264 versions. Make sure the versions you choose are compatible with your
265 kernel version. See the AX.25 HOWTO and the linux-hams mailing list for
266 details.
267
268 For speech support via the festival speech synthesis software you need:
269 festival:
270 http://www.speech.cs.cmu.edu/festival/
271 http://at.rpmfind.net/opsys/linux/RPM/r ... .i386.html
272
273 If you're running a slightly older version of Linux you'll need to install
274 festival from sources to make it work properly.
275
276 For ESRI Shapefile format maps/weather alert maps:
277 Shapelib:
278 http://shapelib.maptools.org/
279 http://wetnet.net/~we7u/xastir/
280 pcre:
281 http://www.pcre.org
282
283 For GDAL/OGR:
284 http://www.gdal.org/
285 http://remotesensing.org/gdal/
286 http://www.maptools.org
287 http://wetnet.net/~we7u/xastir/
288
289 For ImageMagick support for maps in any of 68 major graphics formats,
290 including the capability to use online maps and weather radar images:
291 ImageMagick:
292 http://www.imagemagick.org/
293
294 To use online maps or findu.com historical data, you'll need wget or
295 libcurl/libcurl-devel installed. Many systems have these pre-installed,
296 so check first. You may need to upgrade your installed version for
297 this feature to work correctly from within Xastir:
298 Wget:
299 ftp://ftp.gnu.org/gnu/wget/
300 libcurl:
301 http://curl.sourceforge.net/
302
303
304 To download GPS tracks/waypoints/routes from a Garmin GPS into Xastir,
305 converting to Shapefile format maps as it runs, you'll need gpsmanshp and
306 GPSMan. GPSMan 6.0 and later has command-line support built-in so that
307 Xastir can control it directly:
308 gpsmanshp:
309 http://www.ncc.up.pt/gpsmanshp/
310 GPSMan:
311 http://www.ncc.up.pt/gpsman/
312 http://sunsite.unc.edu/pub/Linux/science/cartography
313
314 See below for instructions on installing all of these libraries. Once the
315 libraries are installed, ./configure should find the libraries and allow
316 compiling in support for the new features.
317
318
319 If you wish to enable/disable configure's testing of certain
320 features, you can add any of the following flags to configure:
321
322 --without-ax25
323 --without-festival
324 --without-gpsman
325 --without-imagemagick
326 --without-libproj
327 --without-geotiff
328 --without-gdal
329 --without-shapelib
330 --without-pcre
331 --without-dbfawk
332 --without-map-cache
333 --with-errorpopups
334 --with-libgc
335 --with-profiling
336 --with-rtree
337 --with-lsb
338 --with-postgis
339 --with-mysql
340
341 For example, "./configure --without-ax25" will disable the AX.25
342 networking code in Xastir.
343
344 If you have installed Xastir before, read the "UPGRADE" file for
345 information on changes in file location and permissions.
346
347
348 First Time Install:
349 -------------------
350
351 1. OPTIONAL: If you wish to use AX.25 interfaces, install the AX.25
352 packages. Verify that they are configured and working. Use "listen"
353 to watch the packets fly by after getting AX.25 configured and hooked
354 to a TNC. Use the AX.25 HOWTO document to guide you in this process.
355
356
357 2. Install LessTif or OpenMotif
358
359 If you already have Motif or OpenMotif on your system, including
360 the development headers, then you won't need to install LessTif. Most
361 distributions include one of these; step 2a describes building from
362 source, while 2b describes installing from pre-built packages on
363 your distribution. Now that OpenMotif is available, you may be happier
364 running it than LessTif, but either one should work with Xastir.
365
366 Some users have had problems with OpenMotif, and others have had troubles
367 with LessTif. Symptoms are often menu problems (menus don't draw
368 correctly, menus won't respond to clicks). If you encounter these
369 problems, then uninstall the current Motif and install the other. Several
370 Mac users have reported problems with OpenMotif, so LessTif may be a
371 better place to start.
372
373 2a. Download LessTif version 0.91.1 or higher or download OpenMotif.
374 Follow the instructions provided, compile it and install it.
375
376 Usually,
377 ./configure
378 make
379 su (root)
380 make install
381 /sbin/ldconfig
382 exit (from root)
383
384 Or you can try any other OSF/Motif(R) version 1.2
385
386
387 2b. Install LessTif or OpenMotif (from a package)
388
389 Download the lestif-devel (if it exists) and lestif, and install it
390 as your distribution instructs you to install packages.
391
392
393 3. OPTIONAL: Install geoTIFF support. Allows using USGS DRG topo maps or
394 other types of geoTIFF maps/images and has the ability to tile smaller
395 maps into a larger contiguous map of an area:
396
397
398 3a. Check/Edit your startup files:
399 -----------------------------
400 Check that /usr/local/lib, /usr/lib, and /usr/X11R6/lib are
401 all listed in /etc/ld.so.conf, and run /sbin/ldconfig to
402 re-create the system's cache file. If you don't have
403 permission to edit this file:
404 Edit ~/.bashrc, ~/.bash_profile, .cshrc, or
405 .login and add:
406
407 export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/usr/X11R6/lib
408
409 This will let the loader find the shared libraries when it tries to
410 load Xastir into memory.
411
412 If you instead have a /etc/ld.so.conf.d directory, then this will add
413 the /usr/local/lib directory to the search: Create a file in the
414 /etc/ld.so.conf.d called "local.conf". The file should contain exactly
415 one line:
416
417 /usr/local/lib
418
419 Use your favorite text editor or use these commands:
420
421 echo "/usr/local/lib" > /etc/ld.so.conf.d/local.conf
422 ldconfig -v
423
424 Check that you aren't already defining LD_LIBRARY_PATH somewhere else.
425 If so, just add the paths above to it. Make sure this environment
426 variable is defined in the current shell you're using to compile Xastir.
427 Note that if you're running Xastir SUID root, the LD_LIBRARY_PATH
428 variable is ignored.
429
430
431 3b. Install libproj:
432 --------------------
433 NOTE: You must install libproj BEFORE compiling libgeotiff, because
434 libgeotiff uses libproj to do the datum translations. If you install
435 libgeotiff first, datum translations won't work.
436
437 proj-nad27-1.1.tar.gz or proj-datumgrid-1.3.zip must be decompressed in
438 the nad subdirectory of the proj distribution directory before you run
439 configure.
440
441 tar xzvf proj-4.4.9.tar.gz (or newer)
442 cd proj-4.4.9/nad
443 unzip ../../proj-datumgrid-1.3.zip (or tar xzvf ../../proj-nad27-1.1.tar.gz)
444 cd ..
445 ./configure
446 make
447 su (root)
448 make install
449 /sbin/ldconfig
450 exit (from root)
451
452 libproj should now be installed in:
453
454 /usr/local/include/
455 /usr/local/lib/
456 /usr/local/bin/
457 /usr/local/share/proj/
458
459 You may need to do this (as root) if the "make install" portion fails
460 because it can't find "ginstall":
461
462 cd /usr/bin
463 ln -s install ginstall
464
465 Then retry the "make install" portion above.
466
467
468 3c. Upgrade libtiff if needed:
469 -----------------------------
470 The best way to install libtiff is to get it from the ftp site
471 for your Linux distribution. You must have libtiff 3.5.5 or
472 newer for libgeotiff 1.1.x to compile and run correctly, or libtiff
473 3.6.0 BETA or newer for libgeotiff 1.2.x to work correctly.
474
475 If you're using libtiff 3.6.0 BETA or newer, things are simplified.
476 Just use libgeotiff 1.2.x or newer and they should play nicely together.
477
478 ---------
479 Notes for older libtiff (less than 3.6.0 BETA):
480
481 If you are compiling libtiff from source, you must use
482 "make install_private" because the libtiff private include files
483 are required for libgeotiff to compile and work correctly.
484
485 You may also snag just the include files listed below from the
486 source distribution or the source RPM, and copy them manually to
487 their destinations.
488
489 The errors you'll get if you don't match up the older libtiff and
490 libgeotiff by way of the include files: Xastir will seg-fault when
491 it tries to read a geotiff file.
492 ---------
493
494 If you upgrade libtiff, check that programs like XV, ImageMagick, and
495 the Gimp still run (if you have these programs installed). Graphics
496 programs that read/write TIFF format depend on libtiff.
497
498
499 3d. Install libgeotiff:
500 -----------------------
501
502 NOTE: Depending on your version of libtiff, either libgeotiff-1.1.5 or
503 libgeotiff-1.2.4 may compile properly. libgeotiff is intimately
504 tied to your version of libtiff. libgeotiff 1.2.x or greater
505 requires libtiff-3.6.0 BETA or later. If your version of libtiff is
506 older, get libgeotiff 1.1.4 or 1.1.5. For the latter case you may
507 also have to download the sources for your version of libtiff in
508 order to copy one libtiff header file into the libgeotiff source
509 directory.
510
511 -----------------------
512 Pre 3.6.0 libtiff NOTE: You may need to snag some files from your exact
513 libtiff source distribution and place them into your /usr/include
514 directory before libgeotiff will compile. Note: I said use files from
515 the EXACT same distribution of libtiff that you already have installed!
516
517 libtiff/tiffconf.h
518 libtiff/tiffiop.h
519 libtiff/tif_dir.h
520 contrib/dosdjgpp/port.h
521
522 Drop all four files into the /usr/include/ directory, creating no
523 subdirectories at all. This allows the libgeotiff code to "see"
524 into the libtiff library so that it can use some functions that
525 aren't normally (publicly) available. Try to make sure that
526 you're not overwriting any files in /usr/include/ by the same name.
527 Some of these files may already be present in /usr/local/. If so,
528 they should be exact duplicates. "diff filename1 filename2" will
529 tell you if there are any differences between two files.
530
531 If you'd rather not mess with the /usr/include directory,
532 you can drop the four files into the
533 libgeotiff-1.1.5/libtiff_private/ directory instead. Libgeotiff
534 will pick up the files there, issue a warning to you that you're
535 using private include files, yet still compile in support for your
536 particular version of libtiff.
537
538 With libgeotiff-1.2.4/libtiff-3.6.0-beta or newer you shouldn't
539 need to copy these files across. The newer libtiff and libgeotiff
540 can work together using public interfaces.
541 ------------------------
542
543 tar xzvf libgeotiff-1.2.4.tar.gz (or newer)
544 cd libgeotiff-1.2.4
545 ./configure
546 make
547 su (root)
548 make install
549 /sbin/ldconfig (tells the loader about the new libraries)
550 exit (from root)
551 libgeotiff should now be installed in:
552
553 /usr/local/include/
554 /usr/local/lib/
555 /usr/local/share/epsg_csv/
556 /usr/local/bin/
557
558 If you must re-run "configure" for any of these libraries, remember to
559 delete "config.status" and "config.cache" files first.
560
561
562 4. RECOMMENDED: Install ESRI Shapefile support. Allows using many sources
563 of online polygon, polyline, and point maps, including ones from NOAA.
564 This is also the format for weather alert maps. This support is provided
565 by the shapelib package.
566
567 NOTE: There are TWO ways to install Shapelib, using the version of
568 Shapelib that comes with Xastir (statically linked with Xastir), or using
569 a separate Shapelib shared library (dynamically linked with Xastir). If
570 you ONLY require Shapelib for Xastir and won't need it for any other
571 program, then you may use the private copy distributed with Xastir,
572 skipping the Shapelib install instructions in this section. If you have
573 other programs which need Shapelib, then it is recommended that you
574 install Shapelib first as a shared library, per the instructions below.
575 If you skip the instructions in this sections, "./configure" will set the
576 compile up so that the private Shapelib code will be statically
577 linked to the executable.
578
579 It isn't clear from the install instructions in shapelib, but just
580 installing the library is sufficient, and just typing "make" and
581 "make install" doesn't make or install the libraries. Take these steps:
582
583 make lib
584 su (root)
585 make lib_install
586 /sbin/ldconfig
587 exit (from root)
588
589 and you should have what you need.
590
591 You may also need to tweak "/etc/ld.so.conf" to contain the proper path
592 to the libraries and then run /sbin/ldconfig to update "/etc/ld.so.cache".
593 Once this is done the loader should be able to find the Shapelib library.
594 Must run /sbin/ldconfig as root for the system to be able to re-create its
595 cache file. See the instructions earlier in this file if you have an
596 /etc/ld.so.conf.d directory instead (section 3A).
597
598 For MacOSX: Bill Owen, N2RKL, suggested the following for
599 ShapeLib:
600
601 "The shapelib Makefile wouldn't work out of the box, so I
602 figured out what the important bits were and built them by
603 hand:"
604
605 -----------------------------------------------
606 cc -c shpopen.c
607 cc -c shptree.c
608 cc -c dbfopen.c
609 ar cru libshp.a shpopen.o shptree.o dbfopen.o
610 sudo cp libshp.a /sw/lib
611 sudo ranlib /sw/lib/libshp.a
612 sudo mkdir /sw/include/libshp
613 sudo cp shapefil.h /sw/include/libshp/
614 -----------------------------------------------
615
616 Note that you'll have to set up /etc/sudoers file to allow those
617 commands to be run by a normal user before sudo will work for
618 you. See the README.CVS file for sudo instructions.
619
620
621 Note from Gale Wilkinson, kc4pl:
622 > >
623 > > How do you get shapelib to "make" properly under cygwin? I
624 > > have installed the latest cygwin (packages per the win32
625 > > install notes) and then downloaded and unpacked the latest
626 > > shapelib source package for compiling. But when trying to do
627 > > the "make lib" it errors out part way through the process.
628 > > The error seems to be:
629 > >
630 > > dbfopen.lo: In function 'DBFReadAttribute':
631 > > /home/gwilkinson/src/shapelib-1.2.10/dbfopen.c:724:undefined reference to '__getreent'
632 > > /home/gwilkinson/src/shapelib-1.2.10/dbfopen.c:716:undefined reference to '__getreent'
633 > > make: *** [lib] Error 1
634
635 Dan Brown, n8ysz, responded:
636 >
637 > I wrote this to get/make shapelib:
638 >
639 > http://brauhaus.org/xastir/get_shapelib.sh
640 > or
641 > http://brauhaus.org/xastir/get_shapelib.sh.txt
642
643 This script is now also in the Xastir sources as
644 "xastir/scripts/get_shapelib.sh".
645
646
647 COMPILING OPTIONAL UTILITIES FOR SHAPELIB:
648
649 These utilities are sometimes useful when writing dbfawk rules
650 but aren't necessary for running Xastir.
651
652 cd xastir/src/shapelib
653 make -f Makefile_shapelib_orig
654
655 cd contrib
656 make -f Makefile_orig
657
658 You'll be left with useful executables in the xastir/src/shapelib and
659 xastir/src/shapelib/contrib directories. It's your choice whether to
660 copy them to a directory in your path (perhaps /usr/local/bin?) to make
661 them easier to use.
662
663
664 5. OPTIONAL: Install -either- GraphicsMagick or ImageMagick support as
665 shown below. Xastir will use one or the other but not both. It'll prefer
666 GraphicsMagick over ImageMagick if both are installed. Do step 5a -or- 5b
667 below to get this type of image support compiled into Xastir.
668
669 Allows using more than 68 different graphics format files as maps, by
670 creating an associated .geo file for each with tie-points. This support
671 will allow use of online Tiger and Terraserver maps with Xastir, and NOAA
672 weather radar images. Other people are working on integrating even more
673 online mapping sources. This will also allow you to use any GIF/JPG/XPM/
674 BMP/... image as an Xastir map. Installation instructions are included in
675 the package. If you choose to install from a binary install, be sure that
676 you have all the graphic format libraries that it was originally built
677 with.
678
679 The easiest way to install one of these is via a package from your linux
680 distribution's CD or ftp site. If you install from such a package, make
681 sure the header files are installed. These are often in a separate package
682 called GraphicsMagick-devel or ImageMagick-devel or similar.
683
684
685 5a. OPTIONAL: Install GraphicsMagick support.
686
687 Download the GraphicsMagick sources from:
688
689 http://www.graphicsmagick.org
690
691 Uncompress/un-tar them...
692
693 tar -xzvf Gr*
694
695 Change directory to the newly created GraphicsMagick directory and
696 compile:
697
698 cd Gr*
699 ./configure --with-quantum-depth=16 --enable-shared
700 make
701 su -c 'make install'
702 su -c '/sbin/ldconfig'
703
704 Skip the next step (5b) as you only need ImageMagick support installed if
705 you _don't_ install GraphicsMagick.
706
707
708 5b. OPTIONAL: Install ImageMagick graphics support.
709
710 Note that Xastir's "./configure" stage may fail trying to compile in
711 ImageMagick support. If this happens, make sure you have the ImageMagick
712 development package installed if using RPM packages, or have installed
713 the ImageMagick header files. If it still fails, check the "config.log"
714 file _very_ carefully. Often ImageMagick tests fail due to some other
715 library that ImageMagick depends upon being absent, such as liblcms,
716 libbz2, or others. This can also cause AX.25 support to be dropped in our
717 current "configure" script. We're working on that.
718
719 Until the RPM packagers for ImageMagick include all of the dependent
720 libraries in their RPM dependency list, the best way to assure that
721 ImageMagick is installed properly is to install it from sources.
722
723 -------------------------------------------------------------------------
724 Note: Red Hat 9.0's install of ImageMagick does not work with
725 XASTIR. It will need to be removed and installed from sources.
726 If w3m text based web browser is installed, you will need to remove
727 it before removing ImageMagick:
728
729 rpm -e w3m
730 rpm -e ImageMagick
731
732 Download the Imagemagick sources from:
733
734 ftp://ftp.imagemagick.org/pub/ImageMagick/
735
736 At the time of writing, this was
737
738 ftp://ftp.imagemagick.org/pub/ImageMagi ... -34.tar.gz
739
740 But you may need to get a newer version by the time you read this.
741
742 Uncompress/un-tar them...
743
744 tar -xzvf im*
745
746 Change directory to the newly created ImageMagick directory and
747 compile:
748
749 cd im*
750 ./configure
751 make
752 su -c 'make install'
753 su -c '/sbin/ldconfig'
754
755 These instructions are courtesy of Wes Johnston.
756 -------------------------------------------------------------------------
757
758
759 6. OPTIONAL: If your system doesn't have wget or libcurl/libcurl-devel
760 installed, and you want to use online maps, install either or both of
761 those packages now. Installation instructions are included in the
762 package. Some older versions of wget don't work properly with
763 Xastir, so even if you already have wget you may need to upgrade it.
764
765 Please refer to the wget man pages or the web pages at
766 http://www.gnu.org/software/wget/wget.html for info concerning wget.
767
768 Note that if the remote server is down, Xastir can appear to hang
769 for a bit before wget times out. Xastir calls wget with no retries
770 and a 30-second timeout, but one user reported that wget takes one
771 minute fifteen seconds to time out. Also note that the users ~/.wgetrc
772 and the system-wide wgetrc file can change the timeouts and retries as
773 well. See the man pages for details. Pay particular attention to
774 which file/command-line-options take priority over others. It looks
775 like the command-line option "--execute command" will allow overriding
776 the .wgetrc files, which means the user can override the hard-coded
777 timeouts/retries in Xastir by specifying new defaults in their ~/.wgetrc
778 file.
779
780 Libcurl should be a drop-in replacement for the wget functionality that
781 we use, and it's a faster and more secure method.
782
783 7. OPTIONAL: Installing gpsmanshp/GPSMan allows Xastir to fetch GPS
784 waypoints/routes/tracks from a GPS. Xastir can fetch the data
785 automatically, create a Shapefile map, then index/select/display the
786 new map.
787
788 Make sure you have Shapelib installed first (see above instructions).
789
790 Note that you may have to change the gpsmanshp Makefile to call out
791 "TCLVERSION = 8.4" instead of 8.3, depending upon which version of tcl is
792 installed on your system. Use your package manager to determine this
793 ("rpm -q -a | grep tcl"), or you may be able to find out in /usr/lib by
794 typing "ls -ld tcl*".
795
796 Install gpsmanshp:
797
798 tar xzvf gpsmanshp_1.0.2.tgz
799 cd gpsmanshp
800 make
801 su -c 'make install'
802
803 Install GPSMan:
804
805 tar xzvf gpsman-6.0.tgz
806 cd gpsman-6.0
807 vi gpsman.tcl
808 Change SRCDIR line to: "set SRCDIR /usr/lib/gpsman"
809 su (root)
810 mkdir /usr/lib/gpsman
811 cp gpsman.tcl /usr/lib/gpsman
812 ln -s /usr/lib/gpsman/gpsman.tcl /usr/X11R6/bin/gpsman
813 cd gmsrc
814 cp * /usr/lib/gpsman
815 cp -R gmicons /usr/lib/gpsman
816 chmod -R 755 /usr/lib/gpsman
817 chmod 644 /usr/lib/gpsman/gmicons
818 chmod 777 /usr/local/share/xastir/maps/GPS (IMPORTANT!)
819 exit (from root)
820
821 Verify that GPSMan will start up and will download information from a
822 Garmin GPS in Garmin-Garmin mode. This also creates the configuration
823 files needed to use GPSMan with Garmin GPS's from within Xastir (sets
824 GPS type, serial port, etc within GPSMan's configs).
825
826 8. OPTIONAL: Install Festival for speech support
827 To use speech you must have a sound card and the 'festival' speech
828 synthesis software installed. Install Festival and start it in 'server'
829 mode prior to starting up XASTIR. The normal command for this is
830 "festival --server &". More info about the speech features is in the
831 Xastir help file. An easy way to get festival installed on some systems
832 is to go to rpmfind.com and search for both festival and festival-dev,
833 then install the RPM's found. Red Hat RPM's installed onto SuSE 7.3 with
834 no problems. Note that the default voice doesn't speak numbers very well.
835 Edit /usr/share/festival/voices.scm and put "ked_diphone" at the first of
836 the "defvar default-voice-priority-list". This will change the default
837 voice to "ked_diphone".
838
839 Note that you can start up the festival server and test it out manually
840 by typing these commands:
841
842 telnet localhost 1314
843 (SayText "Hello")
844
845 To exit, press control-] and then type "quit".
846
847 9. OPTIONAL: Install GDAL/OGR for support of many more map formats.
848
849 NOTE: There are some cases where adding GDAL can mess up support for a
850 few of the other libraries, like Shapelib, libproj, or libgeotiff. GDAL
851 may be compiled with support these libraries internally and it is
852 possible to have Xastir linked against some of GDAL's internal libraries
853 but using the external library headers. If the versions of each are
854 sufficiently different, things may not work right. If you run into such
855 problems you can either reconfigure GDAL to use external libraries for
856 these three or configure Xastir without GDAL support. Also see the note
857 below about libtiff-3.8.0.
858
859 NOTE: This is currently being added to Xastir: Some support is there
860 now for the vector formats, but it isn't "pretty" yet. Should you wish
861 to see what map formats your system will support once GDAL/OGR are fully
862 integrated into Xastir, proceed with the following:
863
864 cd ~src (or wherever you keep your sources)
865 export CVSROOT=:pserver:[email protected]:/cvs/maptools/cvsroot
866 cvs login
867 Password: <ENTER>
868 cvs checkout gdal
869
870 Optionally you can also use one of the newer GDAL releases, so in that
871 case just download that instead of the above instructions, then do the
872 following instructions for either:
873
874 cd gdal
875 ./configure --without-mysql
876 make
877 su (root)
878 make install
879 /sbin/ldconfig
880 exit (from root)
881
882 A configure line that worked with older GDAL code was:
883
884 ./configure --without-jasper --without-ld-shared
885
886 Here's another GDAL configure command which forces GDAL to use its own
887 internal libraries for some of the formats:
888
889 ./configure --without-mysql --with-libz=internal --with-png=internal \
890 --with-jpeg=internal --with-geotiff=internal --with-libtiff=internal \
891 --with-gif=internal
892
893 Also note that as of Dec 11, 2003, a major memory leak bug in the OGR
894 code was fixed, having to do with Shapefiles. Please run a version of
895 GDAL/OGR that is newer than that date (or use the CVS version as
896 described above).
897
898 In one case linking in GDAL caused some GTIFProj4ToLatLong calls to break
899 in an odd manner due to Xastir linking in libgeotiff functions from the
900 GDAL library in that case instead of the libgeotiff library: GeoTIFF's
901 with UTM coordinates stop working. Configuring Xastir without GDAL
902 support -or- upgrading libtiff to 3.8.0 fixes the problem.
903
904 10. OPTIONAL: Install Berkely DB Library to enable map caching
905 of internet maps.
906
907 Please note that segfaults (crashes) in Berkeley DB calls can be caused
908 by having multiple versions of the library installed. The programming
909 interface has changed between the versions. If you compile Xastir with
910 one version's header files but Xastir links to another version's
911 library, you can easily end up with segfaults when Xastir runs. SuSE
912 Linux for instance has these available which you _should_ install:
913
914 db
915 db-devel
916
917 Plus SuSE has these additional packages available which you should _not_
918 install. Remove them if they're on your system (using YaST or rpm):
919
920 db-40
921 db42
922
923 Xastir will normally try to use /usr/include/db.h as the header file,
924 and /usr/lib/libdb.so as the library it will link to (which is usually
925 a symlink to something else, like /usr/lib/libdb-4.1.so). If the
926 header file and the library file don't match, a segfault often occurs.
927 The easiest way to avoid problems is to keep one and only one version
928 of the Berkeley DB library on your system.
929
930 Here's how to test what version of include file and library file you're
931 using: Find the db.h file. It's usually in /usr/include/db.h.
932
933 grep DB_VERSION db.h
934
935 Mine shows this:
936
937 #define DB_VERSION_MAJOR 4
938 #define DB_VERSION_MINOR 1
939 #define DB_VERSION_PATCH 25
940 #define DB_VERSION_STRING "Sleepycat Software: Berkeley DB 4.1.25: (October 2, 2003)"
941
942 Now do this:
943
944 ldd /usr/local/bin/xastir | grep libdb
945
946 Mine shows this:
947
948 libdb-4.1.so => /usr/lib/libdb-4.1.so (0x40680000)
949
950 In this case, version 4.1 of the include file matches 4.1 of the library
951 file, so it works fine. A mismatch in the first two numbers can cause
952 segfaults when Xastir tries to do map caching.
953
954 If you install the Berkeley DB library in an unusual place (something
955 other than /usr/lib and /usr/include), you should still be able to tell
956 configure where to find it. This comes courtesy of Tom Russo:
957
958 > > Someone installed Berkeley DB Library here:
959 > >
960 > > /user/local/BerkeleyDB.4.3/include/db.h
961 > >
962 > > Perhaps I can assume that the library would be located here:
963 > >
964 > > /usr/local/BerkeleyDB.4.3/lib/libdb.so
965 > >
966 > > How does one go about specifying the location of the db.h file and
967 > > the libdb.so file so that configure/compile/loading of Xastir work
968 > > properly?
969
970 > --with-bdb-libdir=/usr/local/BerkeleyDB.4.3/lib
971 > and
972 > --with-bdb-incdir=/usr/local/BerkeleyDB4.3/include
973
974 11. OPTIONAL: Compile db2APRS and install MySQL and Meteo to
975 allow Davis weather station support.
976
977 Install MySQL and Meteo.
978
979 "cd Davis"
980 "./bootstrap.sh"
981 "./configure"
982 "make"
983
984 This should build db2APRS in the "src" directory. Start up db2APRS.
985 Xastir should be able to connect to the db2APRS server in order to get
986 the Davis weather station data. See further instructions in the Davis
987 directory.
988
989 12. OPTIONAL: Experimental. Add GIS database support.
990
991 Note: Database support is experimental and any aspect may change at
992 any time, including database structures. Scripts to create database
993 tables for MySQL and Postgres/Postgis are in the scripts directory
994 as db_gis_postgis.sql and db_gis_mysql.sql.
995
996 Warning: If you are connected to internet feeds for APRS data, it
997 is possible to accumulate several million station records per day
998 which could amount to around 300 MB of database records per day.
999
1000 Postgres + Postgis:
1001 Install Postgres. Include development packages (libpq).
1002 Add Postgis spatial object support to Postgres.
1003
1004 Compile xastir with --with-postgis
1005
1006 After building xastir:
1007 Create a database named xastir and a user with create rights on
1008 that database.
1009 Edit db_gis_postgis.sql to set username and password for an xastir
1010 user with select access to the xastir database.
1011 Default values are database=xastir, user=xastir_user
1012 You may also need to set permissions in pg_hba.conf.
1013 Run the queries in db_gis_postgis.sql.
1014 Run xastir and add a SQL Database interface, start with the postgis
1015 defaults, add the username and password of the xastir user.
1016
1017 Other GIS applications (e.g. QGIS, Mapserver, GRASS) can access and
1018 display station data directly from the postgresql/postgis database.
1019
1020 You can configure the database interface to read station from the
1021 database on startup and to save stations as they are heard to the
1022 database. This provides persistance of station data between
1023 xastir sessions.
1024
1025 MySQL:
1026 Install MySQL. Include development packages (libmysqlclient).
1027
1028 Compile xastir with --with-mysql
1029
1030 After building xastir:
1031 Create a database named xastir and a user with create rights on
1032 that database.
1033 Edit db_gis_mysql.sql to set username and password for an xastir
1034 user with select access to the xastir database.
1035 Default values are database=xastir, user=xastir_user
1036 Run the queries in db_gis_mysql.sql
1037 mysql xastir -p < db_gis_mysql.sql
1038 Run xastir and add a SQL Database interface, start with the MySQL
1039 defaults, add the username and password of the xastir user.
1040
1041 You can configure the database interface to read station from the
1042 database on startup and to save stations as they are heard to the
1043 database. This provides persistance of station data between
1044 xastir sessions.
1045
1046 If you have one or more spatial database interfaces set to activate on
1047 startup, and this produces a situation that won't let you start xastir
1048 normally [e.g. Station data with unusual characters could concevable
1049 cause xastir to segfault when retrieved from the database, and
1050 interactions between multiple databases that are both writing are
1051 reading station data at the same time from each other could potentally
1052 be unstable], you should be able to start xastir by editing the
1053 device configuration in ~/.xastir/config/xastir.cnf
1054 Look for DEVICEn_TYPE:14 lines (where n is the interface number, between 0
1055 and 14, TYPE:14 devices are sql database interfaces), and edit the
1056 device to set both query on startup and on startup values to 0.
1057 DEVICEn_QUERY_ON_STARTUP:0
1058 DEVICEn_ONSTARTUP:0
1059 If the cause is problematic data in your database, you may need to
1060 run a delete query to eliminate the problematic row(s).
1061
1062
1063 13. Building XASTIR: Note that you'll need autoconf 2.53 or newer and
1064 automake 1.6.3 or newer in order to run the "./bootstrap.sh" script.
1065
1066 "./bootstrap.sh" (This step needed only for those using CVS)
1067 "./configure"
1068 "make" ("gmake" for Solaris or *BSD)
1069
1070 This builds XASTIR, You should not get any error or warning messages.
1071
1072 If you get the message from Xastir's configure script saying:
1073
1074 "**** NO MOTIF HEADERS FOUND **** install Motif development headers or
1075 use --with-motif-includes to specify location of Xm/Xm.h"
1076
1077 even though you've got the Motif libraries and headers installed in the
1078 proper places, you might need to add this to the configure line:
1079
1080 "--x-includes=/usr/X11R6/include"
1081
1082 If that option does not help, then Motif is installed somewhere other
1083 than with the standard X includes. You must locate the file "Xm.h,"
1084 which should be in a subdirectory called "Xm" somewhere. Once located
1085 (let's say in /usr/include/Motif/Xm/Xm.h), use the configure option:
1086
1087 "--with-motif-includes=/usr/include/Motif"
1088
1089 If you get the message:
1090
1091 "**** MOTIF LIBRARIES NOT FOUND **** Install Motif development
1092 headers/libraries or use --with-motif-libraries to specify path
1093 to libXm.a"
1094
1095 then your Motif libraries are not installed in the same directory as your
1096 other X libraries, and you must find the file libXm.a, libXm.so,
1097 or libXm.sl. Once found (say in /usr/lib/Motif, for example), tell
1098 configure where to find it with:
1099
1100 "--with-motif-libraries=/usr/lib/Motif"
1101
1102 If you wish to install Xastir in a location other than the default
1103 ("/usr/local/bin" and "/usr/local/share/xastir" directories), you may
1104 add the "--prefix=<path>" flag to configure before compiling. i.e.
1105
1106 "./configure --prefix=/home/apps/xastir"
1107
1108 Which will cause executables to be installed in "/home/apps/xastir/bin/"
1109 and the rest of Xastir to be installed under the
1110 "/home/apps/xastir/xastir/" directory.
1111
1112 This is useful if you don't have root access on a machine, but still
1113 wish to install and use Xastir from your home directory. There are
1114 probably many other uses as well.
1115
1116 If you want to disable optional "dbfawk" support (see README.MAPS) then
1117 add "--without-dbfawk" to your "./configure", i.e.
1118
1119 "./configure --without-dbfawk"
1120
1121 Most people will want the capability though.
1122
1123 You'll need the "pcre" package installed in order to compile in
1124 dbfawk support.
1125
1126 To enable spatial indexing of shapefiles you can also add "--with-rtree"
1127 to your configure command line. Using spatial indices can speed up access
1128 of shapefiles that cover large areas if you're only viewing a smaller
1129 area, but at the cost of some additional RAM to store the spatial
1130 index. This feature is still in the experimental phase, but some users
1131 have observed a noticeable speed-up in map redraws, especially
1132 with very large shapefiles. The spatial indexing library used is based
1133 on public domain code obtained from Melinda Green,
1134 http://www.superliminal.com, but this code is included in xastir
1135 so you don't need to download anything to use it.
1136
1137 If you see some errors, they might be because you are missing
1138 GNU msgfmt or GNU gettext/xgettext? These packages are required
1139 to compile the latest Xastir sources. Beware of packages with the
1140 same names installed into /usr/openwin/bin, these are probably NOT
1141 the GNU flavor of the executables and will not work for compiling
1142 Xastir. For SuSE Linux: Install "development/gettext" using YaST.
1143
1144 If you do see some errors/warnings read the FAQ. If this doesn't help,
1145 or you think you have a different problem, dump the errors/warnings to
1146 a file, and send the file and the following information to the
1147 developers:
1148
1149 System type (cpu), speed, memory,
1150 Linux Distribution,
1151 Linux Version,
1152 X Window manager (KDE, GNOME, FVWM, etc..)
1153
1154
1155 To install, type (as root)
1156 "make install" (or make install-strip to remove debugging information)
1157
1158 If you later install additional libraries and just can't get
1159 ./configure to see them, remove the config.cache file via this
1160 command: "rm config.cache", and then re-run configure. Also
1161 see the notes above about /sbin/ldconfig.
1162
1163
1164 14. Kernel AX.25 Interfaces
1165
1166 NOTE: Xastir is designed by amateur radio operators, for amateur
1167 radio operators. It is intended to be used only by them. If there's
1168 a way for unlicensed users to operate the amateur radio equipment
1169 (this usually includes sending messages through it which key up the
1170 transmitter), it is a violation of the rules and your license (and
1171 more) may be at risk. The same goes for igating: Be aware of the
1172 rules for your country with respect to gating traffic from the 'net
1173 onto RF. If there's any question, don't do it.
1174
1175 Please read this entire section before typing anything, as there are
1176 serious security implications for some of this!
1177
1178 Option 1)
1179 If you compiled support for AX.25 in and wish to use Kernel-mode
1180 AX-25 interfaces, you _may_ need to type this as root:
1181
1182 chmod 4555 /usr/local/bin/xastir
1183
1184 This command makes Xastir run as user "root", no matter who actually
1185 started it. This allows Xastir to talk to the kernel AX.25 networking.
1186 Note however that the above chmod command will prevent you from creating
1187 a core file in case Xastir of a major program fault. This core file aids
1188 in debugging to trace what went wrong.
1189
1190 GENERAL SECURITY WARNING:
1191 Beware that Xastir has not been audited for security, and makes limited
1192 effort to drop extra privileges. Use this in a multi-user environment
1193 at your own risk! The developers have worked hard to fix remote buffer
1194 overflows in the code to make Xastir safer to use, but there are _MANY_
1195 potential security risks remaining in the code. User beware! We will
1196 attempt to plug known security holes in future releases.
1197
1198 Also be aware that turning on the Interface->Server ports (TCP and UDP)
1199 will allow other users who authenticate properly to send packets. In
1200 the case of TCP they can only get routed to other TCP ports and to the
1201 internet. UDP packets may also get routed to your RF ports (as
1202 third-party packets).
1203
1204 LINUX-SPECIFIC SECURITY WARNING: If you're using Linux AX.25 kernel
1205 networking, you'll need to either make Xastir SUID-root, or use a shim
1206 (which itself is set to SUID-root) between Xastir and the AX.25 ports.
1207 See Option #2 below for the (possibly safer) shim method. If you're the
1208 paranoid type (and you should be if you're running a system with multiple
1209 users), you may wish to skip SUID-root mode/kernel AX.25 interfaces and
1210 use standard serial port TNC interfaces instead. Any program is safer if
1211 run as a normal user (not safe, but safer). It is currently impossible
1212 to use kernel-mode AX.25 interfaces without the program running with
1213 root privileges.
1214
1215 Option 2)
1216 A more security-conscious option is to use a shim program written by
1217 Henk de Groot, PE1DNN. This program runs in SUID-root mode but is
1218 much smaller and so is easier to audit for security, and provides a
1219 new port that Xastir can connect to. The new port can be read/written
1220 without having to be the root user. The program is called aprs_tty
1221 and can be obtained here:
1222
1223 http://wetnet.net/~we7u/xastir/aprs_tty.0.0.2.tgz
1224
1225 It actually responds to some TNC commands. The code is straight forward
1226 and works well. Run the program, telling it what port to use, and then
1227 in XASTIR set up the TNC to point to the new TTY at 19200. It
1228 transmits/receives UI frames, and sets the correct unproto path. In
1229 this case DO NOT perform the chmod 4555 command on the Xastir executable.
1230
1231 Note again that the same SUID-root warnings that were giving in option
1232 #1 above also apply to aprs_tty. Buyer beware! As far as we know,
1233 aprs_tty has not been audited for security, and makes no effort to drop
1234 extra privileges. Use this in a multi-user environment at your own risk!
1235
1236
1237 15. Serially-Connected TNC's
1238
1239 NOTE: Xastir is designed by amateur radio operators, for amateur
1240 radio operators. It is intended to be used only by them. If there's
1241 a way for unlicensed users to operate the amateur radio equipment
1242 (this usually includes sending messages through it which key up the
1243 transmitter), it is a violation of the rules and your license (and
1244 more) may be at risk. The same goes for igating: Be aware of the
1245 rules for your country with respect to gating traffic from the 'net
1246 onto RF. If there's any question, don't do it.
1247
1248 Please read this entire section before typing anything, as there are
1249 serious security implications for some of this!
1250
1251 If you're using a serial TNC, configure your TNC startup files in the
1252 /usr/local/share/xastir/config directory:
1253
1254 tnc-startup.sys is used to set up your TNC for Xastir and tnc-stop.sys
1255 is to change the TNC back to your normal settings. There are several
1256 example TNC startup files in the directory. Choose the one that best
1257 suits your TNC and edit to taste. See the note below about where to
1258 edit the files. You might be unpleasantly surprised if after you type
1259 "make install" next, all your custom changes to the startup files are
1260 lost. As always, keep a backup.
1261
1262 Some people have had trouble getting Xastir to decode packets. While
1263 packets were scrolling quite nicely in the View->Incoming Packet Data
1264 dialog, stations weren't showing up on the Xastir screen at all. The
1265 cause was incorrect settings in the tnc-startup files for that specific
1266 TNC. If you change these files in the xastir source directories make sure
1267 to do a "make install" to install them into the
1268 /usr/local/share/xastir/config/ directory. Another option would be to
1269 edit the files in /usr/local/share/xastir/config/ directly. Keep a copy
1270 of them in a safe place in any case. You don't want to lose your custom
1271 mods you worked so hard to create.
1272
1273 Some systems don't allow normal users to access the serial ports. It's
1274 a permissions thing, but is actually the _correct_ way to configure the
1275 serial ports. You can fix this in several ways:
1276
1277 1) Add the Xastir user to the group owning the serial ports.
1278 2) Make Xastir run SGID-uucp (or whatever group owns the port).
1279 3) Change the permissions of the device so that any user can access it.
1280 4) Make Xastir run SUID-root.
1281
1282 Solutions 3 and 4 are highly discouraged. It can be a security nightmare
1283 to start opening up files or devices to read/write access by all users,
1284 and the same for SUID-root programs. Don't do either of these.
1285
1286 Exception: If you're going to be running AX.25 kernel networking, you
1287 may need to be running Xastir SUID-root anyway, or else you need to
1288 install a shim program between the port and Xastir. In the latter case
1289 the shim is running SUID-root, not Xastir. See the section above
1290 regarding AX.25 kernel networking.
1291
1292 Here are what the default permissions usually look like for the
1293 two serial ports on a Linux box:
1294
1295 crw-rw---- 1 root uucp 4, 64 Oct 19 08:15 ttyS0
1296 crw-rw---- 1 root uucp 4, 65 Apr 14 2001 ttyS1
1297
1298 (NOTE: For a Windows/Cygwin installation, a few details are different,
1299 but the ttyS0 and ttyS1 keywords are the same. Verify that the
1300 permissions of these ports are set appropriately for a normal user to read
1301 and write to these devices.)
1302
1303 Solution #1: The root user would run the commands necessary to add
1304 the Xastir user to the "uucp" group, which would then give the user
1305 the necessary permissions to use the port. Usually this involves
1306 editing the /etc/group file, but SysAdmin tools usually exist for
1307 doing this more easily.
1308
1309 Solution #2: As root user, type these commands:
1310
1311 chgrp uucp /usr/local/bin/xastir
1312 chmod 2555 /usr/local/bin/xastir
1313
1314 If you want to restrict Xastir so that only one user can run it,
1315 (in this case "user1") type:
1316
1317 chown user1 /usr/local/bin/xastir
1318 chmod 2500 /usr/local/bin/xastir
1319 chgrp uucp /usr/local/bin/xastir
1320
1321 Solution #3:
1322 You can change the permissions of the serial port to allow use by all
1323 users, but this is highly discouraged.
1324 Here's what Jack Twilley had to say with regards to "chmod uog+rw" (same
1325 as chmod 555) for serial ports:
1326
1327 > This is not necessary, and opens up the possibility of abuse. Not all
1328 > Xastir installations are Linux boxes used by a single person with a
1329 > single purpose -- I know of several instances that are multi-user
1330 > machines with access to the Internet by multiple parties, some of whom
1331 > are not licensed amateurs, and another couple of instances where the
1332 > serial port is not always used by a TNC but also by other devices such
1333 > as Palm HotSync cradles and GPS receivers.
1334 >
1335 > Here are two more secure solutions:
1336 >
1337 > * use non-root users
1338 > One way to use the setuid facilities in Unix would be to set
1339 > the xastir binary's user ID to match the user that owns the serial
1340 > port. Under Solaris, the default ownership of /dev/cua/a is
1341 > uucp:tty, with a default permission of 0600. The command 'chown
1342 > uucp /usr/local/bin/xastir' followed by the command 'chmod 4555
1343 > /usr/local/bin/xastir' will allow xastir to run properly without
1344 > changing the serial port's permissions or ownership, thus
1345 > minimizing any impact on other applications that use the serial
1346 > port.
1347
1348 Note from Curt: This chmod command will prevent creation of "core"
1349 file that are useful for debugging in case Xastir crashes.
1350
1351 >
1352 > * use groups
1353 > A better way to use the setuid facilities in Unix is to set the
1354 > xastir binary's *group* ID to match a group that already has the
1355 > privilege to mess with the serial port. Under FreeBSD, the default
1356 > ownership of /dev/cuaa0 is uucp:dialer, with a default permission
1357 > of 0660. The command 'chgrp dialer /usr/local/bin/xastir' followed
1358 > by the command 'chmod 2555 /usr/local/bin/xastir' will change
1359 > Xastir's group to the serial port's group, and then add the setgid
1360 > privilege to the binary. Now when xastir starts up, it will have
1361 > the minimum privilege necessary to do what it needs to do, without
1362 > being yet another root exploit-in-waiting.
1363
1364
1365 16. Serially-Connected Garmin RINO Radio/GPS
1366
1367 If you have a Garmin RINO attached to a serial port, have GPSMan
1368 installed, and have support for GPSMan compiled into Xastir, then Xastir
1369 has the capability to periodically download waypoints from the RINO unit
1370 and create APRS(TheeMahn) Objects out of them. Any RINO waypoints that begin with
1371 "APRS" will be automatically created, placed on the map, and transmitted
1372 as your own Xastir APRS(TheeMahn) objects. If you wish to see them but not transmit
1373 them, turn off Object/Item transmit or global transmit in the interface
1374 menu. Another option is to turn off the transmit enable per interface.
1375
1376 Please note that Xastir cannot cause the attached RINO to poll the other
1377 RINO units on the air. Xastir can only download the waypoints that the
1378 attached RINO has collected from the other RINO units that it is passively
1379 monitoring.
1380
1381 Here's a blurb from Wes Johnston about the RINO's:
1382
1383 "Lets say I have three RINO radios... two in the hands of the SAR teams on
1384 the ground, and a third radio in a plane circling above. It is preferred
1385 that the radio in the hands of the SAR teams be the nicer rino120 since it
1386 does mapping. The radio in the plane can be the lowly rino110 since it
1387 does not do mapping but you will have a copy of xastir with maps on the
1388 laptop with you anyway.
1389
1390 If I set two of my rino radios to APRSSAR1 and APRSSAR2, and connect a
1391 third rino radio to xastir with serial in the plane, xastir will query
1392 rino radio #3 at any one minute interval between 0 and 30 minutes, get the
1393 APRS* waypoints, lop off the first four characters and publish the shorter
1394 named waypoints as SAR1 and SAR2 as APRS(TheeMahn) objects on to your TNC. The
1395 hitch to this is that the rino radio cannot automatically poll the RINO
1396 users' locations on the ground. You have to manually (on the radio)
1397 select a menu item called POLL and poll the users that way. The reason
1398 the first four characters of the rino callsign have to be "APRS" is that
1399 when you send a query, rino only asks about the first 4 chars... so any
1400 station with the first four that match will answer... ie all of them in
1401 your group. The other method is to simply fly the plane overhead and
1402 listen (eavesdrop) on the channel and passively pickup the locations of the
1403 groups as they converse with one another. The rino will send it's
1404 location just as you un-key the PTT if it has been >30 sec since the last
1405 time you sent your position. It would be practical to simply ask each
1406 team for an update... they just need to squeeze their PTT for a moment
1407 (ie kerchunk) to send a position."
1408
1409
1410 17. Start up XASTIR and read the help files to configure it. If you have
1411 problems, please consult the FAQ file.
1412
1413 You can now start XASTIR. On most systems that the path is set up in
1414 FHS format just type "xastir". On other systems type
1415 "/usr/local/bin/xastir" to start the program.
1416
1417 If you see errors at this point that say something like "Can't load
1418 xxx library" this means you forgot to either update /etc/ld.so.conf (or
1419 /etc/ld.so.conf.d directory on some systems) and run /sbin/ldconfig, or
1420 add the LD_LIBRARY_PATH variable for your shell, and the "ld" loader
1421 can't link the libraries with the Xastir executable to get it running in
1422 memory. Note that if you're running Xastir as SUID root, the
1423 LD_LIBRARY_PATH variable is ignored.
1424
1425 To set a new language or change the language current choice, use
1426 this command line:
1427
1428 xastir -l <language>
1429
1430 Current choices are:
1431
1432 Dutch English French German Italian Portuguese Spanish
1433 ElmerFudd MuppetsChef OldeEnglish PigLatin PirateEnglish
1434
1435 This option will be stored in the users config file for the next time
1436 Xastir is run. On new installs Xastir will default to English unless
1437 you use this command line option.
1438
1439
1440 CONNECTING TO AN INTERNET SERVER:
1441
1442 Here are some lists of Internet servers:
1443
1444 http://members.aol.com/wa8lmf3/miscinfo/APRServe.txt
1445 http://www.wa6oft.com/APRServe.txt
1446 http://www.aprs-is.net/aprsservers.htm
1447 http://www.aprs-is.net/APRSServers.htm
1448
1449
1450 Filter port syntax (for those ports that allow user-selectable
1451 filtering):
1452
1453 http://www.aprs-is.net/javaprssrvr/javaprsfilter.htm
1454
1455
1456 The procedure to connect to one of them is this:
1457
1458 *) Select Interface->Properties.
1459 *) Click Add.
1460 *) Select Internet Server, click Add.
1461 *) Fill in the "Host" and "Port" boxes.
1462 *) Enter the Pass-code found by running "callpass" with your callsign
1463 in an xterm window.
1464 *) Set the togglebuttons and filter parameters per your preferences. The
1465 "filter" keyword is added by Xastir, so you don't need to add that word
1466 to the box. If the box has anything in it, "filter" is prepended to the
1467 text when Xastir sends the string to the server
1468 *) Optionally put in a comment. That shows up in the Interface and
1469 Properties dialogs to remind you of the details for that connection.
1470 *) Click OK.
1471
1472 A short list of the first-tier servers (you may want to connect to the
1473 second-tier servers or regional/local servers instead):
1474
1475 first.aprs.net ports 10151 (history) or 10152 (no history)
1476 second.aprs.net ports 10151 (history) or 10152 (no history)
1477 third.aprs.net ports 10151 (history) or 10152 (no history)
1478 fourth.aprs.net ports 10151 (history) or 10152 (no history)
1479
1480
1481 FESTIVAL NOTE: From: J. Lance Cotton:
1482 One thing that I found that I had to do to finally get festival to work was
1483 to get rid of the 'only localhost can connect to the server' pref in the
1484 festival configuration. I don't know if that's the default on a source
1485 install (I installed festival from RPM's), but it might be.
1486
1487 I don't know why it doesn't let localhost connect, even though it's the
1488 only one specifically allowed.
1489
1490 Here's what to do: Open the 'festival.scm' file (I found mine in
1491 /usr/share/festival/' and look for the line that starts like:
1492
1493 (defvar server_access_list ...
1494
1495 Make it look like:
1496
1497 (defvar server_access_list nil
1498
1499 Then restart the festival server.
1500 -Lance KJ5O
1501
1502 Additional note from Alan Crosswell: If you run the festival_server
1503 script instead of festival -server, then the permissions for localhost
1504 get set up for you.
1505
1506
1507 You probably want to download some maps and additional data files. The
1508 instructions for this are in the README.MAPS.
1509
1510 -----------------------------------------------------------------------
1511
1512 NOTES FOR DEVELOPERS:
1513 ---------------------
1514
1515 Profiling:
1516 ----------
1517 1) "./configure --with-profiling"
1518
1519 This will add "-pg" to the CFLAGS section of the Makefiles, which
1520 turns on the collection of profiling data while the executable is
1521 running (on Linux anyway).
1522
1523 2) "make clean"
1524
1525 3) "make install" (Don't do "make install-strip" here, as that will
1526 strip off the symbol table information that gprof requires)
1527
1528 4) "xastir &"
1529
1530 5) Let Xastir run for some period of time.
1531
1532 6) Close Xastir
1533
1534 7) "gprof /usr/local/bin/xastir | tee profile.txt"
1535
1536 Gprof will use the Xastir binary and the gmon.out file created from
1537 running Xastir to give you the profile listing.
1538
1539 Add the "-l" flag to the gprof line to give you a line-by-line
1540 profile listing, but be prepared for a long run-time and a lot of
1541 CPU to be used by gprof to generate it:
1542
1543 "gprof -l /usr/local/bin/xastir | tee profile.txt"
1544
1545 Also see this link, which talks about how to profile multi-threaded
1546 applications:
1547
1548 http://sam.zoy.org/writings/programming/gprof.html
1549
1550 With the method described, you compile/install their library code,
1551 then invoke Xastir like this:
1552
1553 LD_PRELOAD=xastir/src/gprof-helper.so xastir &
1554
1555
1556 mv gmon.out gmon.old; gprof /usr/local/bin/xastir gmon.old \
1557 | tee profile.txt; gprof -l /usr/local/bin/xastir gmon.old \
1558 | tee profile2.txt
1559
1560
1561 Checking for Memory Leaks:
1562 --------------------------
1563
1564 A simple method for just checking malloc's/free's is to set
1565 MALLOC_CHECK to a 1 or a 2, at least on Linux. See the malloc man
1566 page for more info.
1567
1568 For more thorough checks, use libgc:
1569
1570 1) Install libgc, the conservative garbage collector for C and C++.
1571 Find it at:
1572
1573 http://www.hpl.hp.com/personal/Hans_Boehm/gc
1574
1575 Configure/install libgc like this:
1576
1577 ./configure --enable-threads=posix
1578
1579 Make sure that "-DGC_LINUX_THREADS" and "-D_REENTRANT" are defined
1580 in the Makefile if you're compiling it on Linux.
1581
1582 Optional: Change Makefile to add "-DSAVE_CALL_CHAIN" on the DEFS
1583 line. This will provide more of a stack trace each time a leak is
1584 found. This is sometimes useful but much more verbose.
1585
1586 make
1587 make check
1588 su
1589 make install
1590 exit (from root)
1591
1592 2) Now, back in the xastir directory:
1593
1594 ./configure --with-libgc
1595
1596 Make sure that "-fomit_frame_pointer" is _NOT_ in the Makefiles.
1597 This will mess up the optional stack trace if present.
1598
1599 make clean
1600 make install
1601 xastir &
1602
1603 Let Xastir run for some period of time.
1604
1605 Libgc will dump messages to the xterm as memory leaks are found.
1606 Any Xastir memory leaks should have a filename and a line number
1607 listed. Memory leaks from lower-level libraries will be missing the
1608 detailed information, so they are easy to spot (and mostly useless
1609 for the purpose of finding and patching memory leaks).
1610
1611 Note also that libgc will take Xastir's memory usage up quite a bit,
1612 so don't be surprised if Xastir uses two or three times the normal
1613 amount of memory while you're debugging memory leaks with libgc.
1614
1615
1616
1617 ------------------------------------------------------------------------
1618 APRS(TheeMahn) is a Trademark of Bob Bruninga
1619
1620 Copyright (C) 1999 Frank Giannandrea
1621 Copyright (C) 2000-2008 The Xastir Group


which is taken from this website

http://xastir.cvs.sourceforge.net/xasti ... iew=markup

You may also look into the GPSmanshp option you can google that term to discover if that may be the root of the problem.

Are you wanting to remove this from an open sourced hardware such as a personal navigation device, or an embedded device like in a cellphone or in car gps reciever?
Laptop. Macbook pro dual boot U.E 2.6 64 2.8 Ghz core2duo
Desktop:
Core I7 820, ATI 5870 radeon HD graphics Ultimate Edition 2.7
maxtor 320 gig external usb
1.5 Tb external Hd
Hp c5100 photosmart printer (networked and wireless)
User avatar
ixnod
Site Admin
 
Posts: 649
Joined: Tue Jun 24, 2008 12:56 am
Operating System: Ultimate Edition 3.2 64 BIT



Re: GPSMAN IN XASTIR

Postby jsfmills » Wed Aug 11, 2010 3:46 am

Xastir is an APRS client for X.APRS is the Automatic Position Reporting System, a system where objects report their position.The Xastir program is capable of using various types of maps that can be tailored to specific SAR operations. With APRS trackers in the field, it is possible to show which areas have been searched and to have each tracker's trail shown on the display.
jsfmills
U.E. Newbie
U.E. Newbie
 
Posts: 4
Joined: Tue Aug 10, 2010 7:43 am
Operating System: Ultimate Edition 3.1 64 BIT


Return to Programming

Who is online

Users browsing this forum: No registered users and 10 guests