<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-AU" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">To all,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">After much testing I have managed to get Lua 5.3.2 (the latest Lua version, however this will work with all the Lua 5.2.x versions) to run inside FreeSWITCH 1.6.5 on CentOS 6.7 (however the same should work inside CentOS 7).<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Here is what I have done. Please make any comments and improvements to this procedure.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">*** One part I am not happy with is that I have to manually copy the liblua.so from /usr/local/lib to /usr/local/freeswitch/lib (see point 22 below). For some reason FreeSWITCH does not find the shared library inside /usr/local/lib. Maybe
there is a setting for this I can change as the other option is to put liblua.so inside /usr/lib64 where “yum install lua-devel” puts the liblua.so for Lua version 5.1.4, however I do not like this concept. ***<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Please note: Currently mod_fsv and mod_vpx (both are relating to FreeSWITCH video features) are not supported inside these instructions, however if you are wanting to move off 1.4.x (since this is going end-of-life in 2016 at some stage)
then this could at least be a very good first step, especially if upgrading to Centos 7 is not possible based on your current environment setup.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">This is based on a fresh installation of CentOS 6.7 (<b>CentOS-6.7-x86_64-bin-DVD1.iso</b>). In my case I ran a default setup selecting
<b>Software Development Workstation</b>.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Logged in as <b>root</b> user.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">1) Make sure yum update is run and CentOS is up-to-date<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">2) {optional} Inside Terminal window select Edit Profile Preferences and select "Use custom default terminal size" and make it 160 x 60. Close terminal and re-open for the change to take effect.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">3) yum -y install epel-release<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">4) yum -y install git gcc-c++ autoconf automake libtool wget python ncurses-devel zlib-devel libjpeg-devel openssl-devel sqlite-devel libcurl-devel libxml2-devel libidn-devel<o:p></o:p></p>
<p class="MsoNormal">4.1) These should be already installed and up-to-date<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">5) yum -y install e2fsprogs-devel pcre-devel speex-devel ldns-devel libedit-devel libyuv-devel opus-devel libvpx-devel unbound-devel libuuid-devel libsndfile-devel<o:p></o:p></p>
<p class="MsoNormal">5.1) These should install successfully<o:p></o:p></p>
<p class="MsoNormal">5.2) Originally I also installed lua-devel, so if this has already been installed then remove it by: yum -y remove lua-devel<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">6) Note: No packages for: libvpx2*, libdb4* (so mod_vpx & mod_fsv will not be supported)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">7) Setup Lua 5.3.2 here (obviously you can select your own version):<o:p></o:p></p>
<p class="MsoNormal">7.1) cd /usr/local/src<o:p></o:p></p>
<p class="MsoNormal">7.2) curl -R -O <a href="http://www.lua.org/ftp/lua-5.3.2.tar.gz">
http://www.lua.org/ftp/lua-5.3.2.tar.gz</a><o:p></o:p></p>
<p class="MsoNormal">7.3) tar zxf lua-5.3.2.tar.gz<o:p></o:p></p>
<p class="MsoNormal">7.4) cd /usr/local/src/lua-5.3.2<o:p></o:p></p>
<p class="MsoNormal">7.5) vi Makefile<o:p></o:p></p>
<p class="MsoNormal"> Change: TO_LIB= liblua.a<o:p></o:p></p>
<p class="MsoNormal"> To be: TO_LIB= liblua.a liblua.so<o:p></o:p></p>
<p class="MsoNormal" style="text-indent:36.0pt">Save and close (<Esc> :wq!)<o:p></o:p></p>
<p class="MsoNormal">7.6) cd /usr/local/src/lua-5.3.2/src<o:p></o:p></p>
<p class="MsoNormal">7.7) vi Makefile<o:p></o:p></p>
<p class="MsoNormal"> Change: CFLAGS= -O2 -Wall -Wextra -DLUA_COMPAT_5_2 $(SYSCFLAGS) $(MYCFLAGS)<o:p></o:p></p>
<p class="MsoNormal"> To be: CFLAGS= -O2 -Wall -Wextra -DLUA_COMPAT_5_2 $(SYSCFLAGS) $(MYCFLAGS) -fPIC<o:p></o:p></p>
<p class="MsoNormal"> Add under: LUA_A= liblua.a<o:p></o:p></p>
<p class="MsoNormal" style="text-indent:36.0pt">The line: LUA_SO= liblua.so<o:p></o:p></p>
<p class="MsoNormal" style="text-indent:36.0pt">Change: ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)<o:p></o:p></p>
<p class="MsoNormal"> To be: ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) $(LUA_SO)<o:p></o:p></p>
<p class="MsoNormal" style="text-indent:36.0pt">Add under: $(LUAC_T): $(LUAC_O) $(LUA_A)<o:p></o:p></p>
<p class="MsoNormal" style="text-indent:36.0pt"> $(CC) -o $@ $(LDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)<o:p></o:p></p>
<p class="MsoNormal" style="text-indent:36.0pt">The lines: $(LUA_SO): $(CORE_O) $(LIB_O)<o:p></o:p></p>
<p class="MsoNormal" style="text-indent:36.0pt"> $(CC) -o $@ -shared $?<o:p></o:p></p>
<p class="MsoNormal" style="text-indent:36.0pt">Save and close (<Esc> :wq!)<o:p></o:p></p>
<p class="MsoNormal">7.8) make linux test<o:p></o:p></p>
<p class="MsoNormal">7.9) make linux install<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">8) cd /usr/local/src<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">9) git clone -b v1.6 <a href="https://freeswitch.org/stash/scm/fs/freeswitch.git">
https://freeswitch.org/stash/scm/fs/freeswitch.git</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">10) cd /usr/local/src/freeswitch<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">11) ./bootstrap.sh<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">12) vi modules.conf<o:p></o:p></p>
<p class="MsoNormal">12.1) comment out (ie. place '#' infront):<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt;text-indent:36.0pt">mod_fsv<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt;text-indent:36.0pt">mod_vpx<o:p></o:p></p>
<p class="MsoNormal" style="text-indent:36.0pt">Save and close (<Esc> :wq!)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">13) ./configure<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">14) make<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">15) make install<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">16) make cd-sounds-install<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">17) make cd-moh-install<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">18) cd /usr/local/freeswitch/conf<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">19) vi vars.xml<o:p></o:p></p>
<p class="MsoNormal">19.1) change: <X-PRE-PROCESS cmd="set" data="default_password=1234"/> { !! set it to something different !! }<o:p></o:p></p>
<p class="MsoNormal"> Save and close (<Esc> :wq!)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">20) cd /usr/local/freeswitch/conf/autoload_configs<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">21) vi modules.conf.xml<o:p></o:p></p>
<p class="MsoNormal">21.1) comment out (ie. place '<!--' infront and '-->' at the end):<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt;text-indent:36.0pt">mod_fsv<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt;text-indent:36.0pt">mod_vpx<o:p></o:p></p>
<p class="MsoNormal" style="text-indent:36.0pt">Save and close (<Esc> :wq!)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">22) cp /usr/local/lib/liblua.so /usr/local/freeswitch/lib/.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">23) cd /usr/local/freeswitch/bin<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">24) ./freeswitch -nonat -nonatmap<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">25) ... to exit from the FreeSWITCH console<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>