Line 1:
Line 1:
−
= Compiling AllStarLink =
−
The following commands will allow you to compile AllStarLink's ASL 1.01 release.
+
[[Category:Software]]
+
[[Category:Development]]
+
{{Infobox PTTLink
+
| image = XCD-compiling.png
+
| caption = Compiling
+
| category = How to
+
}}
+
+
How to compile the software for your on your own systems.
+
+
= Compiling PTTLinkLink =
+
+
The following commands will allow you to compile PTTLinkLink's PTTLink 1.01+ release.
These instructions assume you are already familiar with compiling and installing software on Linux.
These instructions assume you are already familiar with compiling and installing software on Linux.
Line 7:
Line 18:
Note: These instructions are currently a Work In Progress. You are going to have to resolve dependency issues yourself if you follow them.
Note: These instructions are currently a Work In Progress. You are going to have to resolve dependency issues yourself if you follow them.
−
You will also need to have cloned the main AllStarLink repo at https://github.com/AllStarLink/Asterisk
+
You will also need to have cloned the main PTTLinkLink repo at https://github.com/PTTLinkLink/Asterisk
== DO NOT BLINDLY RUN THE COMMANDS HERE WITHOUT UNDERSTANDING WHAT THEY DO!! ==
== DO NOT BLINDLY RUN THE COMMANDS HERE WITHOUT UNDERSTANDING WHAT THEY DO!! ==
Line 17:
Line 28:
== Install requirements for building ==
== Install requirements for building ==
−
apt-get install -y git build-essential linux-headers-$(uname -r) linux-source-4.9 libss7-dev wget apt-utils dahdi-source dahdi-linux aptitude tcsh gawk libusb-dev vim
+
apt-get install -y git build-essential libss7-dev wget apt-utils dahdi-source dahdi-linux aptitude tcsh gawk libusb-dev vim '''libblkid-dev'''
−
== Get DAHDI source files ==
+
== Compiling for PC ==
−
wget https://github.com/KG7QIN/AllStarLink/raw/master/dahdi/dahdi-linux-complete-2.10.2%2B2.10.2.tar.gz
+
=== Install Linux Sources and Headers ===
−
== Asterisk Prereqs ==
+
apt-get install -y linux-headers-generic linux-source
+
+
=== Install Asterisk Prereqs ===
mkdir /etc/vpb
mkdir /etc/vpb
Line 31:
Line 44:
apt-get install -f
apt-get install -f
−
== Extract and build DAHDI ==
+
=== Build DAHDI ===
−
tar -zxf dahdi-linux-complete-2.10.2+2.10.2.tar.gz
+
git clone https://github.com/PTTLink/ASL-DAHDI-PATCHED-2.11.1.git
−
cd dahdi-linux-complete-2.10.2+2.10.2/linux/drivers/dahdi/voicebus/
+
cd ASL-DAHDI-PATCHED-2.11.1
−
−
echo "--- GpakApi.c.orig 2018-06-09 18:54:14.205144479 -0700\n" \
−
"+++ GpakApi.c 2018-06-09 18:54:28.196956036 -0700\n" \
−
"@@ -1560,7 +1560,7 @@\n" \
−
" if (DspStatus != 0)\n" \
−
" return (RmmFailure);\n" \
−
" \n" \
−
"- for (i = 0; i < MemoryLength_Word16; i++)\n" \
−
"+ for (i = 0; i < MemoryLength_Word16; i++) \n" \
−
" pDest[i] = (short int) MsgBuffer[2 + i]; \n" > patch1
−
−
patch -ful GpakApi.c patch1
−
−
cd dahdi-linux-complete-2.10.2+2.10.2/tools/xpp/
−
sed -i -e 's/inline /extern inline /g' echo_loader.c
−
−
cd dahdi-linux-complete-2.10.2+2.10.2/
−
sed -i -e 's/configure /configure CFLAGS=-Wno-error /g' Makefile
−
cd tools/xpp
−
sed -i -e 's/-I. -Ixtalk -Wall -Werror/-I. -Ixtalk -Wno-error/g' Makefile
−
cd ../..
make distclean
make distclean
−
make
+
make MODULES_EXTRA="dahdi_dummy"
−
make install
+
make install MODULES_EXTRA="dahdi_dummy"
make config
make config
−
== Install GCC 4.9 to compile ASL 1.01 ==
+
=== Install GCC 4.9 to compile PTTLink 1.01+ ===
echo "deb http://ftp.us.debian.org/debian/ jessie main contrib non-free" >> /etc/apt/sources.list
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
echo "deb-src http://ftp.us.debian.org/debian/ jessie main contrib non-free" >> /etc/apt/sources.list
Line 67:
Line 59:
apt-get install -y gcc-4.9 g++-4.9
apt-get install -y gcc-4.9 g++-4.9
−
== Build Asterisk for ASL ==
+
=== Build Asterisk for PTTLink ===
+
git clone https://github.com/PTTLink/Asterisk
cd Asterisk/asterisk
cd Asterisk/asterisk
+
'''./bootstrap.sh'''
make distclean
make distclean
./configure CXX=g++-4.9 CC=gcc-4.9 <code>LDFLAGS="-zmuldefs -lasound" CFLAGS="-Wno-unused -Wno-all -Wno-int-conversion"</code>
./configure CXX=g++-4.9 CC=gcc-4.9 <code>LDFLAGS="-zmuldefs -lasound" CFLAGS="-Wno-unused -Wno-all -Wno-int-conversion"</code>
−
make menuselect.makeopts || :
+
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 || :
+
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
+
+
You will be taken to the main menuselect screen. Press ESC and "S" to save
+
make
make
make install
make install
+
+
You can optionally install the sample Asterisk config files
+
make samples
make samples
−
== Final ==
+
Note: If you have made any changes and just wish to update the binaries without going through the entire install run:
+
+
make bininstall
+
+
=== Final ===
There is no guarantee this will work for you. Your mileage may vary.
There is no guarantee this will work for you. Your mileage may vary.
+
+
== Compiling for Raspberry PI ==
+
+
Coming soon