| 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 |