Download the software with GIT
GitHub hosts the repository for all versions of WD. Presently, the current master provides version 3.2.3. The latest development version, 3.3.1, remains in a branch.
Clone wsprdaemon from github.com
From /home/wsprdaemon (or the installing user’s home directory) See Preparing the Installation
git clone https://github.com/rrobinett/wsprdaemon.git
cd wsprdaemon
Execute all further git commands in the /home/wsprdaemon/wsprdaemon directory.
Ensure you have the latest stable version:
git checkout master
git status
git log
Subsequently, to apply any updates of the latest version, use:
git pull
“master” generally refers to the latest stable version of the code. As development of the code proceeds, you may elect to switch to a development branch, e.g., 3.3.1. To do this, use:
git checkout 3.3.1
git pull
WD provides lots of shell “aliases” to important and otherwise useful functions. To have immediate access to these, run:
source bash-aliases ../.bash_aliases
Having prepared and cloned the wsprdaemon software, now you can run it:
wd
This sets the stage and prompts you to configure your setup:
Once you have defined a new wsprdaemon.conf (or restored your previous one) then invoke a command like:
wdv
Nominally, this reports the current version of wsprdaemon but it will use wsprdaemon.conf to proceed with setting up wsprdaemon to run – downloading and compiling any required software (e.g., ka9q-radio and ka9q-web), setting up the proper directories, etc.
Finally, you can start wsprdaemon with:
wd -A
which will pipe all messages to stdout (the screen from which you invoked the command) which can help if something doesn’t function properly.
Or simply run:
wda
which starts wsprdaemon “quietly” piping all messages to log files.
To install ka9q-radio independently:
ka9q-radio has many uses outside its integrated role with WD. You can install and run it without WD.
Keep in mind that Rob checks out a particular version of ka9q-radio that he knows works with WD.
So, if you use another version, you may find its interaction with WD problematic. YMMV.
For details of ka9q-radio installation, consult the docs sub-directory in the ka9q-radio created after performing a git clone.
To install ka9q-web:
ka9q-web requires ka9q-radio of course, but also the web server package, onion, produced by David Moreno, so install it first.
Use the following bash scripts as scripts or just as a guide to installation:
declare ONION_LIBS_NEEDED="libgnutls28-dev libgcrypt20-dev cmake"
if [[ ${OS_RELEASE} =~ 24.04 ]]; then
ONION_LIBS_NEEDED="${ONION_LIBS_NEEDED} libgnutls30t64 libgcrypt20"
fi
function build_onion() {
local project_subdir=$1
local project_logfile="${project_subdir}-build.log"
wd_logger 2 "Building ${project_subdir}"
(
cd ${project_subdir}
mkdir -p build
cd build
cmake -DONION_USE_PAM=false -DONION_USE_PNG=false -DONION_USE_JPEG=false -DONION_USE_XML2=false -DONION_USE_SYSTEMD=false -DONION_USE_SQLITE3=false -DONION_USE_REDIS=false -DONION_USE_GC=false -DONION_USE_TESTS=false -DONION_EXAMPLES=false -DONION_USE_BINDINGS_CPP=false ..
make
sudo make install
sudo ldconfig
) >& ${project_logfile}
rc=$?
if [[ ${rc} -ne 0 ]]; then
wd_logger 1 "ERROR: compile of '${project_subdir}' returned ${rc}:\n$( < ${project_logfile} )"
exit 1
fi
wd_logger 2 "Done"
return 0
}
function build_ka9q_web() {
local project_subdir=$1
local project_logfile="${project_subdir}_build.log"
wd_logger 2 "Building ${project_subdir}"
(
cd ${project_subdir}
make
sudo make install
) >& ${project_logfile}
rc=$? ; if (( rc )); then
wd_logger 1 "ERROR: compile of 'ka9q-web' returned ${rc}:\n$(< ${project_logfile})"
exit 1
fi
wd_logger 2 "Done"
return 0
}