APRSD

From Carc-wiki
Jump to: navigation, search

NEWS FLASH!

APRSD is dead! Long live APRS!

It's true - the ancient and failing aprsd has finally been put to rest by the arrival and deployment of aprsc. A new server package from the guys that gave us aprs.fi. Small, fast, reliable and even somewhat secure! If you've been clinging to aprsd in desparation to stay FOSS, you're be happy on aprsc. Only difference? Aprsc doesn't do i-gating. You'll want to setup and use aprx or some other client for that. I'm using Xastir here.

About

aprsd is one of the "Old Guard" aprs servers.

There are those that say it shouldn't be used on today's APRS-IS - obviously, I don't agree. It was one of the first, if not the first and to date, it was *the only* open source server for aprs in any use at all. The current popular server does "not as nice a job" as an I-gate IMO - not surprising, it's designed to be a server. It lacks some configurability and functions that I like. It does do a good job as a server - but is closed source only and not as "freely" available. You have to ask to get it - but it's easy enough to do and I'd expect that as a ham, you'd have to work hard to be denied. It *is* under active development and maintenance. For most, those aren't even considerations. It is being used, quite happily, by hundreds of server operators around the globe.

Now, whether or not you think aprsd should be allowed on the APRS-IS is a topic for another discussion. I've been using it since the late 90's and it's never let me down<g>. No, it's not perfect - but it does do the job. And it does perform quite well as an I-gate AND a server. For my purposes, it's the right tool for the job. Hopefully, someday soon - someone with a LOT more understanding of programming than I have will take on the job of either creating a new F/OSS aprs server or re-write aprsd. They'll have my support!

Now, aprsd was written long before our modern distros were produced, it no longer seems to be under active development. (which for some, is reason enough to not use it). Things have changed. Some of us simply HAVE to update our servers and OSes now and then - and getting aprsd to compile and run on a newer distro can be a challenge. Special if you're not conversant in C or C++!

After more than a few hours of scouring the I-net, I found enough information to get 2.2.5-15 to compile on Fedora 8! So, here are my 'cheat notes' to compile. If you're a Debian user - it looks like aprsd development and maintenance is focused to that distro. It appears to be in the Debian repositories and looks to be installable using 'apt-get' or whatever the current Debian package management system is.

But, I don't use Debian - I use Fedora. So here're my notes to get aprsd up and running on Fedora 8.

Note: the CVS version is 2.2.6-4 - so far, I've not been able to get it to compile on F8. These notes are for the 2.2.5-15 tarball downloaded from sourceforge.net

On Fedora

No need to build from source on Fedora! Aprsd is now included in the official repositories. Just install, configure and go! To install:

sudo yum install aprsd <enter>

That easy!

Build from Source

Install compatibility for older compilers
aprsd will not compile under gcc V4

yum -y install compat-libstdc++-33 compat-libstdc++-296
yum install compat-gcc-34 compat-gcc-34-c++

delete: "#include <linux/sys.h>" from 2 files: /src/aprsd.cpp /src/servers.cpp
It's no longer needed and will cause errors and compile fails

edit /src/servers.cpp
find the following line:

inline string convertUpTime(int dTime)
change it to:
string convertUpTime(int dTime)

Enter these Environment Variables:
export CC=gcc34
export CXX=g++34

Now, run
./configure
then make

create a "/home/aprsd2" directory - no, you don't need an aprsd2 user.
copy your newly compiled aprsd executable to /home/aprsd2
copy the contents of the 'admin' directory to /home/aprsd2
EDIT aprsd.conf to suite!

start server with:
/home/aprsd2/aprsd -d

You may want to explore the chkaprsd and the aprsd.init files to ensure regular restarts as well as startup at boot.

Credits

Special thanks to Hamish Moffatt for writting aprsd and allowing us to use it. Thank You! The information in these notes are not from me! I found it scattered all over the I-net, mostly in reflector archives. This is simply a collation for ease of access.