Errors when following wiki instructions for Compiling AllStarLink

I’m trying to compile ASL using the instructions on the wiki (Compiling - AllStarLink Wiki) but am getting a number of errors. It seems the instructions may be out-of-date. I’m using the latest ASL beta image (downloaded from Index of /ASL_Images_Beta/), which I loaded onto an RPi4B a week or so ago and which is running well - other than that I found an issue where there is a 2 second silence added after all transmits when using usbradio carrierfrom=vox mode. I opened a bug report for this (usbradio adds hardcoded 2000mS delay before setting rxCarrierDetect=0 when in VOX mode · Issue #33 · AllStarLink/ASL-Asterisk · GitHub), found the issue in the C code and would like to fix it (by making the vox hangtime a cfg parameter in usbradio.conf instead of hardcoded 2000mS delay), and do a pull request so this can be added to the ASL codebase.

Copied below are the instructions from the wiki and the results I get:

Install requirements for building
apt-get install -y git build-essential libss7-dev wget apt-utils dahdi-source dahdi-linux aptitude tcsh gawk libusb-dev vim libblkid-dev

=> OK

Install Linux Sources and Headers
apt-get install -y linux-headers-generic linux-source

=> This resulted in the following error:
Package linux-headers-generic is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or is only available from another source
E: Package ‘linux-headers-generic’ has no installation candidate

I then continued with subsequent steps in the hope that the headers might already exist or would get pulled in during a later step.

I then also tried the following more specific command which seemed to work better:
apt-get install -y linux-headers-5.4.51-v7l-asl+ linux-source

Install Asterisk Prereqs
mkdir /etc/vpb
apt-get build-dep asterisk -y
apt-get purge -y libopenr2-3 libopenr2-dev
dpkg --configure -a
apt-get install -f

=> This results in a long list of 404 not found errors, such as

Err:47 Index of /raspbian buster/main armhf libxslt1-dev armhf 1.1.32-2.2~deb10u1
404 Not Found [IP: 93.93.128.193 80]

E: Failed to fetch http://raspbian.raspberrypi.org/raspbian/pool/main/libx/libxslt/libxslt1-dev_1.1.32-2.2~deb10u1_armhf.deb 404 Not Found [IP: 93.93.128.193 80]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
E: Failed to process build dependencies

I tried the apt-get update --fix-missing as the above E message suggested but that did not help, the same error messages still occur.

Build DAHDI
git clone https://github.com/AllStarLink/ASL-DAHDI-PATCHED-2.11.1.git
cd ASL-DAHDI-PATCHED-2.11.1
make distclean
make MODULES_EXTRA=“dahdi_dummy”
make install MODULES_EXTRA=“dahdi_dummy”
make config

=> The git clone works and the directory was created but then the following error occured:
make[2]: Entering directory ‘/usr/src/linux-headers-5.4.51-v7l-asl+’
scripts/Makefile.clean:15: drivers/gpu/drm/arm/display/Makefile: No such file or directory
make[7]: *** No rule to make target ‘drivers/gpu/drm/arm/display/Makefile’. Stop.

Looks like there is a missing folder.

Install GCC 4.9 to compile ASL 1.01+
echo "deb http://ftp.us.debian.org/debian/ jessie main contrib non-free" >> /etc/apt/sources.list
echo "deb-src http://ftp.us.debian.org/debian/ jessie main contrib non-free" >> /etc/apt/sources.list
apt-get update
apt-get install -y gcc-4.9 g+±4.9

=> apt-get update gives a number of errors:
Err:1 Index of /repos/asl_builds/ buster InRelease
The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY 6A72C389B517460F

Reading package lists… Done
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: Index of /repos/asl_builds/ buster InRelease: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY 6A72C389B517460F
E: Repository ‘Index of /raspbian buster InRelease’ changed its ‘Suite’ value from ‘stable’ to ‘oldstable’
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.
W: GPG error: http://ftp.us.debian.org/debian jessie Release: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY 7638D0442B90D010 NO_PUBKEY CBF8D6FD518E17E1
E: The repository ‘http://ftp.us.debian.org/debian jessie Release’ is not signed.
N: Updating from such a repository can’t be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: Repository ‘Index of /debian buster InRelease’ changed its ‘Suite’ value from ‘testing’ to ‘oldstable’
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.

=> apt-get install -y gcc-4.9 g++-4.9 works fine, no errors.

Build Asterisk for ASL
git clone https://github.com/AllStarLink/Asterisk
cd Asterisk/asterisk
./bootstrap.sh
make distclean
./configure CXX=g++-4.9 CC=gcc-4.9 LDFLAGS="-zmuldefs -lasound" CFLAGS="-Wno-unused -Wno-all -Wno-int-conversion"
make menuselect.makeopts
menuselect/menuselect --enable app_rpt --enable chan_beagle --enable chan_tlb --enable chan_usrp --enable chan_rtpdir --enable chan_usbradio --enable chan_simpleusb --enable chan_echolink --enable app_gps --enable chan_voter --enable radio-tune-menu --enable simpleusb-tune-menu menuselect.makeopts

=> The git clone failed but then I noticed the github url is different now and once I updated it to git clone https://github.com/AllStarLink/ASL-Asterisk the git clone works.

I then cd into ASL-Asterisk/asterisk, the ./bootstrap.sh and make distclean seem to run fine, but ./configure CXX=g++-4.9 CC=gcc-4.9 LDFLAGS="-zmuldefs -lasound" CFLAGS="-Wno-unused -Wno-all -Wno-int-conversion" gives the following errors:
checking build system type… armv7l-unknown-linux-gnueabi
checking host system type… armv7l-unknown-linux-gnueabi
checking for gcc… gcc-4.9
checking whether the C compiler works… no
configure: error: in ‘/home/repeater/ASL-Asterisk/asterisk’:
configure: error: C compiler cannot create executables
See `config.log’ for more details

Any help in getting ASL to compile would be greatly appreciated, or if there might be a better way to get support on this please let me know.

Still thinking on it,
but can you say if you ran
apt update
and
apt upgrade
before you started.

1 Like

I did do an apt update and apt upgrade after first setting up the Pi with ASL. And I just now tried apt update again and it seemed to work a little better then earlier today, but still gave one error message. I believe the issue is that the instructions on the wiki are only for ASL 1.x. On the github page README there are some different, much shorter instructions. I should have tried those first.

I removed the ‘jessie’ lines the earlier steps had added to /etc/apt/sources.list and now the apt upgrade and apt upgrade work fine and pulled in a bunch of updates. I then followed the github instructions at GitHub - AllStarLink/ASL-Asterisk: Version of Asterisk used for AllStarLink. The first option debuild -b -us -uc didn’t work, says ‘debuild not found’, but the manual options work fine ie…/configure, make and make install all ran fine.

I changed the channels/xpmr/xpmr.c #define XPMR_VOX_HANGTIME from 2000 to 200 (mS) and recompiled and did the make install and tested and the change seems to have worked :slight_smile: So looks like everything is now working great.

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.