<div dir="ltr">I&#39;ve been using the following script for some time to build freeswitch on my machines.  I recently edited the script to install openssl v1.0.1f, as that is now required it seems by this version of free switch.<div>

<br></div><div>Here&#39;s my script:</div><div><br></div><div><div>#!/bin/bash</div><div><br></div><div>test &quot;$BRANCH&quot; != &quot;&quot; || BRANCH=v1.2.stable</div><div><br></div><div>apt-get update</div><div>apt-get install -y git-core subversion build-essential autoconf automake libtool libncurses5 libncurses5-dev make libjpeg-dev gawk</div>

<div>apt-get install -y libcurl4-openssl-dev libexpat1-dev libgnutls-dev libtiff4-dev libx11-dev unixodbc-dev libssl-dev python2.6-dev \</div><div>                       zlib1g-dev libzrtpcpp-dev libasound2-dev libogg-dev libvorbis-dev libperl-dev libgdbm-dev libdb-dev python-dev \</div>

<div>                       uuid-dev</div><div>update-alternatives --set awk /usr/bin/gawk</div><div>git clone -b $BRANCH git://<a href="http://git.freeswitch.org/freeswitch.git">git.freeswitch.org/freeswitch.git</a></div>

<div><br></div><div><br></div><div>###############################################################</div><div># INSTALL OPENSSL v1.0.1f</div><div>###############################################################</div><div>wget <a href="http://www.linuxfromscratch.org/patches/blfs/svn/openssl-1.0.1f-fix_parallel_build-1.patch">http://www.linuxfromscratch.org/patches/blfs/svn/openssl-1.0.1f-fix_parallel_build-1.patch</a></div>

<div>wget <a href="http://www.linuxfromscratch.org/patches/blfs/svn/openssl-1.0.1f-fix_pod_syntax-1.patch">http://www.linuxfromscratch.org/patches/blfs/svn/openssl-1.0.1f-fix_pod_syntax-1.patch</a></div><div>wget <a href="http://www.openssl.org/source/openssl-1.0.1f.tar.gz">http://www.openssl.org/source/openssl-1.0.1f.tar.gz</a></div>

<div>tar -zxvf openssl-1.0.1f.tar.gz</div><div>cd openssl-1.0.1f</div><div><br></div><div>patch -Np1 -i ../openssl-1.0.1f-fix_parallel_build-1.patch &amp;&amp;</div><div>patch -Np1 -i ../openssl-1.0.1f-fix_pod_syntax-1.patch &amp;&amp;</div>

<div>./config --prefix=/usr/openssl101f -fPIC \</div><div>         --openssldir=/etc/ssl \</div><div>         --libdir=lib          \</div><div>         shared                \</div><div>         zlib-dynamic &amp;&amp;</div>

<div>make</div><div>make install</div><div><br></div><div>##############################################################</div><div># INSTALL FREESWITCH</div><div>##############################################################</div>

<div>cd ..</div><div>cd freeswitch</div><div>./bootstrap.sh</div><div>./configure CFLAGS=&quot;-I/usr/openssl101f/include&quot; LDFLAGS=&quot;-L/usr/openssl101f/lib&quot;</div><div><br></div><div>cat &gt;modules.conf &lt;&lt;&#39;EOL&#39;</div>

<div>applications/mod_commands</div><div>applications/mod_conference</div><div>applications/mod_db</div><div>applications/mod_dptools</div><div>applications/mod_enum</div><div>applications/mod_esf</div><div>applications/mod_esl</div>

<div>applications/mod_expr</div><div>applications/mod_fifo</div><div>applications/mod_fsv</div><div>applications/mod_hash</div><div>applications/mod_httapi</div><div>applications/mod_spandsp</div><div>codecs/mod_amr</div>

<div>codecs/mod_bv</div><div>codecs/mod_g723_1</div><div>codecs/mod_g729</div><div>codecs/mod_h26x</div><div>codecs/mod_vp8</div><div>codecs/mod_speex</div><div>dialplans/mod_dialplan_asterisk</div><div>dialplans/mod_dialplan_xml</div>

<div>endpoints/mod_loopback</div><div>endpoints/mod_sofia</div><div>event_handlers/mod_cdr_csv</div><div>event_handlers/mod_cdr_sqlite</div><div>event_handlers/mod_event_socket</div><div>formats/mod_local_stream</div><div>

formats/mod_native_file</div><div>formats/mod_sndfile</div><div>formats/mod_tone_stream</div><div>languages/mod_lua</div><div>languages/mod_spidermonkey</div><div>loggers/mod_console</div><div>loggers/mod_logfile</div><div>

loggers/mod_syslog</div><div>say/mod_say_en</div><div>xml_int/mod_xml_cdr</div><div>xml_int/mod_xml_rpc</div><div>xml_int/mod_xml_scgi</div><div>EOL</div><div>make</div><div><br></div><div><br></div><div>cat &gt;/etc/init.d/freeswitch &lt;&lt;&#39;EOL&#39;</div>

<div>#!/bin/sh</div><div>### -*- mode:shell-script; indent-tabs-mode:nil; sh-basic-offset:2 -*-</div><div>### BEGIN INIT INFO</div><div># Provides: freeswitch</div><div># Required-Start: $network $remote_fs $local_fs</div>

<div># Required-Stop: $network $remote_fs $local_fs</div><div># Default-Start: 2 3 4 5</div><div># Default-Stop: 0 1 6</div><div># Short-Description: FreeSWITCH Softswitch</div><div># Description: FreeSWITCH Softswitch</div>

<div>### END INIT INFO</div><div><br></div><div># Author: Travis Cross &lt;<a href="mailto:tc@traviscross.com">tc@traviscross.com</a>&gt;</div><div><br></div><div>PATH=/sbin:/usr/sbin:/bin:/usr/bin</div><div>DESC=freeswitch</div>

<div>NAME=freeswitch</div><div>DAEMON=/usr/local/freeswitch/bin/freeswitch</div><div>DAEMON_ARGS=&quot;-u freeswitch -g daemon -rp -nc -nonat&quot;</div><div>USER=freeswitch</div><div>PIDFILE=/usr/local/freeswitch/run/freeswitch.pid</div>

<div>SCRIPTNAME=/etc/init.d/$NAME</div><div>WORKDIR=/usr/local/freeswitch/lib</div><div><br></div><div>[ -x $DAEMON ] || exit 0</div><div>[ -r /etc/default/$NAME ] &amp;&amp; . /etc/default/$NAME</div><div>. /lib/init/vars.sh</div>

<div>. /lib/lsb/init-functions</div><div><br></div><div>do_start() {</div><div>  start-stop-daemon --start --quiet \</div><div>    --pidfile $PIDFILE --exec $DAEMON --name $NAME --user $USER \</div><div>    --test &gt; /dev/null \</div>

<div>    || return 1</div><div>  ulimit -s 240</div><div>  start-stop-daemon --start --quiet \</div><div>    --pidfile $PIDFILE --exec $DAEMON --name $NAME --user $USER \</div><div>    --chdir $WORKDIR -- $DAEMON_ARGS $DAEMON_OPTS \</div>

<div>    || return 2</div><div>  return 0</div><div>}</div><div><br></div><div>stop_fs() {</div><div>  start-stop-daemon --stop --quiet \</div><div>    --pidfile $PIDFILE --name $NAME --user $USER \</div><div>    --retry=TERM/30/KILL/5</div>

<div>}</div><div><br></div><div>stop_fs_children() {</div><div>  start-stop-daemon --stop --quiet \</div><div>    --exec $DAEMON \</div><div>    --oknodo --retry=0/30/KILL/5</div><div>}</div><div><br></div><div>do_stop() {</div>

<div>  stop_fs</div><div>  RETVAL=&quot;$?&quot;</div><div>  [ &quot;$RETVAL&quot; -eq 2 ] &amp;&amp; return 2</div><div>  stop_fs_children</div><div>  [ &quot;$?&quot; -eq 2 ] &amp;&amp; return 2</div><div>  rm -f $PIDFILE</div>

<div>  return &quot;$RETVAL&quot;</div><div>}</div><div><br></div><div>do_reload() {</div><div>  start-stop-daemon --stop --quiet \</div><div>    --pidfile $PIDFILE --name $NAME --user $USER \</div><div>    --signal HUP</div>

<div>}</div><div><br></div><div>case &quot;$1&quot; in</div><div>  start)</div><div>    [ &quot;$VERBOSE&quot; != no ] &amp;&amp; log_daemon_msg &quot;Starting $DESC &quot; &quot;$NAME&quot;</div><div>    do_start</div><div>

    case &quot;$?&quot; in</div><div>      0|1) [ &quot;$VERBOSE&quot; != no ] &amp;&amp; log_end_msg 0 ;;</div><div>      2) [ &quot;$VERBOSE&quot; != no ] &amp;&amp; log_end_msg 1 ;;</div><div>    esac</div><div>    ;;</div>

<div>  stop)</div><div>    [ &quot;$VERBOSE&quot; != no ] &amp;&amp; log_daemon_msg &quot;Stopping $DESC&quot; &quot;$NAME&quot;</div><div>    do_stop</div><div>    case &quot;$?&quot; in</div><div>      0|1) [ &quot;$VERBOSE&quot; != no ] &amp;&amp; log_end_msg 0 ;;</div>

<div>      2) [ &quot;$VERBOSE&quot; != no ] &amp;&amp; log_end_msg 1 ;;</div><div>    esac</div><div>    ;;</div><div>  status)</div><div>    status_of_proc &quot;$DAEMON&quot; &quot;$NAME&quot; &amp;&amp; exit 0 || exit $?</div>

<div>    ;;</div><div>  reload|force-reload)</div><div>    log_daemon_msg &quot;Reloading $DESC&quot; &quot;$NAME&quot;</div><div>    do_reload</div><div>    log_end_msg $?</div><div>    ;;</div><div>  restart)</div><div>

    log_daemon_msg &quot;Restarting $DESC&quot; &quot;$NAME&quot;</div><div>    do_stop</div><div>    case &quot;$?&quot; in</div><div>      0|1)</div><div>        do_start</div><div>        case &quot;$?&quot; in</div><div>

          0) log_end_msg 0 ;;</div><div>          1|*) log_end_msg 1 ;;</div><div>        esac</div><div>        ;;</div><div>      *) log_end_msg 1 ;;</div><div>    esac</div><div>    ;;</div><div>  *)</div><div>    echo &quot;Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}&quot; &gt;&amp;2</div>

<div>    exit 3</div><div>    ;;</div><div>esac</div><div><br></div><div>exit 0</div><div>EOL</div><div>chmod a+x /etc/init.d/freeswitch</div><div><br></div><div>make install</div><div>make samples</div><div>adduser --disabled-password  --quiet --system --gecos &quot;FreeSWITCH Voice Platform&quot; --ingroup daemon freeswitch</div>

<div>chown -R freeswitch:daemon /usr/local/freeswitch/</div><div>chmod -R o-rwx /usr/local/freeswitch/</div></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div>The build error I&#39;m getting is the following:</div>

<div><br></div><div><br></div><div><br></div><div><br></div><div><div>*** Warning: Linking the shared library <a href="http://libfreeswitch.la">libfreeswitch.la</a> against the</div><div>*** static library libs/libedit/src/.libs/libedit.a is not portable!</div>

<div>quiet_libtool: link: g++  -fPIC -DPIC -shared -nostdlib /usr/lib/gcc/x86_64-linux-gnu/4.6.1/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/4.6.1/crtbeginS.o  .libs/libfreeswitch_la-switch_apr.o .libs/libfreeswitch_la-switch_buffer.o .libs/libfreeswitch_la-switch_caller.o .libs/libfreeswitch_la-switch_channel.o .libs/libfreeswitch_la-switch_console.o .libs/libfreeswitch_la-switch_mprintf.o .libs/libfreeswitch_la-switch_core_media_bug.o .libs/libfreeswitch_la-switch_core_timer.o .libs/libfreeswitch_la-switch_core_asr.o .libs/libfreeswitch_la-switch_core_event_hook.o .libs/libfreeswitch_la-switch_core_speech.o .libs/libfreeswitch_la-switch_core_memory.o .libs/libfreeswitch_la-switch_core_codec.o .libs/libfreeswitch_la-switch_core_file.o .libs/libfreeswitch_la-switch_core_hash.o .libs/libfreeswitch_la-switch_core_sqldb.o .libs/libfreeswitch_la-switch_core_session.o .libs/libfreeswitch_la-switch_core_directory.o .libs/libfreeswitch_la-switch_core_state_machine.o .libs/libfreeswitch_la-switch_core_io.o .libs/libfreeswitch_la-switch_core_rwlock.o .libs/libfreeswitch_la-switch_core_port_allocator.o .libs/libfreeswitch_la-switch_core.o .libs/libfreeswitch_la-switch_scheduler.o .libs/libfreeswitch_la-switch_core_db.o .libs/libfreeswitch_la-switch_dso.o .libs/libfreeswitch_la-switch_loadable_module.o .libs/libfreeswitch_la-switch_utils.o .libs/libfreeswitch_la-switch_event.o .libs/libfreeswitch_la-switch_resample.o .libs/libfreeswitch_la-switch_regex.o .libs/libfreeswitch_la-switch_rtp.o .libs/libfreeswitch_la-switch_ivr_bridge.o .libs/libfreeswitch_la-switch_ivr_originate.o .libs/libfreeswitch_la-switch_ivr_async.o .libs/libfreeswitch_la-switch_ivr_play_say.o .libs/libfreeswitch_la-switch_ivr_say.o .libs/libfreeswitch_la-switch_ivr_menu.o .libs/libfreeswitch_la-switch_ivr.o .libs/libfreeswitch_la-switch_stun.o .libs/libfreeswitch_la-switch_nat.o .libs/libfreeswitch_la-switch_log.o .libs/libfreeswitch_la-switch_xml.o .libs/libfreeswitch_la-switch_xml_config.o .libs/libfreeswitch_la-switch_config.o .libs/libfreeswitch_la-switch_time.o .libs/libfreeswitch_la-switch_odbc.o .libs/libfreeswitch_la-switch_pgsql.o .libs/libfreeswitch_la-switch_limit.o .libs/libfreeswitch_la-g711.o .libs/libfreeswitch_la-switch_pcm.o .libs/libfreeswitch_la-switch_profile.o .libs/libfreeswitch_la-switch_json.o .libs/libfreeswitch_la-switch_curl.o .libs/libfreeswitch_la-tpl.o .libs/libfreeswitch_la-stfu.o .libs/libfreeswitch_la-libteletone_detect.o .libs/libfreeswitch_la-libteletone_generate.o .libs/libfreeswitch_la-miniwget.o .libs/libfreeswitch_la-minixml.o .libs/libfreeswitch_la-igd_desc_parse.o .libs/libfreeswitch_la-minisoap.o .libs/libfreeswitch_la-miniupnpc.o .libs/libfreeswitch_la-upnpreplyparse.o .libs/libfreeswitch_la-upnpcommands.o .libs/libfreeswitch_la-minissdpc.o .libs/libfreeswitch_la-upnperrors.o .libs/libfreeswitch_la-natpmp.o .libs/libfreeswitch_la-getgateway.o .libs/libfreeswitch_la-plc.o .libs/libfreeswitch_la-alloc.o .libs/libfreeswitch_la-bit_operations.o .libs/switch_cpp.o   -lz -L/home/ubuntu/freeswitch/libs/apr-util/xml/expat/lib -L/usr/openssl101f/lib libs/apr-util/.libs/libaprutil-1.a libs/apr/.libs/libapr-1.a libs/sqlite/.libs/libsqlite3.a libs/pcre/.libs/libpcre.a libs/speex/libspeex/.libs/libspeexdsp.a libs/srtp/.libs/libsrtp.a libs/libedit/src/.libs/libedit.a libs/curl/lib/.libs/libcurl.a libs/apr-util/xml/expat/lib/.libs/libexpat.a -luuid -lpthread -ldl -lcrypt -lrt -lssl -lcrypto -lncurses /usr/lib/x86_64-linux-gnu/libjpeg.so -L/usr/lib/gcc/x86_64-linux-gnu/4.6.1 -L/usr/lib/gcc/x86_64-linux-gnu/4.6.1/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/4.6.1/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.6.1/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-linux-gnu/4.6.1/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/4.6.1/../../../x86_64-linux-gnu/crtn.o  -O2 -Wl,-lodbc   -pthread -Wl,-soname -Wl,libfreeswitch.so.1 -o .libs/libfreeswitch.so.1.0.0</div>

<div>quiet_libtool: link: (cd &quot;.libs&quot; &amp;&amp; rm -f &quot;libfreeswitch.so.1&quot; &amp;&amp; ln -s &quot;libfreeswitch.so.1.0.0&quot; &quot;libfreeswitch.so.1&quot;)</div><div>quiet_libtool: link: (cd &quot;.libs&quot; &amp;&amp; rm -f &quot;libfreeswitch.so&quot; &amp;&amp; ln -s &quot;libfreeswitch.so.1.0.0&quot; &quot;libfreeswitch.so&quot;)</div>

<div>quiet_libtool: link: ar cru .libs/libfreeswitch.a libs/libedit/src/.libs/libedit.a  libfreeswitch_la-switch_apr.o libfreeswitch_la-switch_buffer.o libfreeswitch_la-switch_caller.o libfreeswitch_la-switch_channel.o libfreeswitch_la-switch_console.o libfreeswitch_la-switch_mprintf.o libfreeswitch_la-switch_core_media_bug.o libfreeswitch_la-switch_core_timer.o libfreeswitch_la-switch_core_asr.o libfreeswitch_la-switch_core_event_hook.o libfreeswitch_la-switch_core_speech.o libfreeswitch_la-switch_core_memory.o libfreeswitch_la-switch_core_codec.o libfreeswitch_la-switch_core_file.o libfreeswitch_la-switch_core_hash.o libfreeswitch_la-switch_core_sqldb.o libfreeswitch_la-switch_core_session.o libfreeswitch_la-switch_core_directory.o libfreeswitch_la-switch_core_state_machine.o libfreeswitch_la-switch_core_io.o libfreeswitch_la-switch_core_rwlock.o libfreeswitch_la-switch_core_port_allocator.o libfreeswitch_la-switch_core.o libfreeswitch_la-switch_scheduler.o libfreeswitch_la-switch_core_db.o libfreeswitch_la-switch_dso.o libfreeswitch_la-switch_loadable_module.o libfreeswitch_la-switch_utils.o libfreeswitch_la-switch_event.o libfreeswitch_la-switch_resample.o libfreeswitch_la-switch_regex.o libfreeswitch_la-switch_rtp.o libfreeswitch_la-switch_ivr_bridge.o libfreeswitch_la-switch_ivr_originate.o libfreeswitch_la-switch_ivr_async.o libfreeswitch_la-switch_ivr_play_say.o libfreeswitch_la-switch_ivr_say.o libfreeswitch_la-switch_ivr_menu.o libfreeswitch_la-switch_ivr.o libfreeswitch_la-switch_stun.o libfreeswitch_la-switch_nat.o libfreeswitch_la-switch_log.o libfreeswitch_la-switch_xml.o libfreeswitch_la-switch_xml_config.o libfreeswitch_la-switch_config.o libfreeswitch_la-switch_time.o libfreeswitch_la-switch_odbc.o libfreeswitch_la-switch_pgsql.o libfreeswitch_la-switch_limit.o libfreeswitch_la-g711.o libfreeswitch_la-switch_pcm.o libfreeswitch_la-switch_profile.o libfreeswitch_la-switch_json.o libfreeswitch_la-switch_curl.o libfreeswitch_la-tpl.o libfreeswitch_la-stfu.o libfreeswitch_la-libteletone_detect.o libfreeswitch_la-libteletone_generate.o libfreeswitch_la-miniwget.o libfreeswitch_la-minixml.o libfreeswitch_la-igd_desc_parse.o libfreeswitch_la-minisoap.o libfreeswitch_la-miniupnpc.o libfreeswitch_la-upnpreplyparse.o libfreeswitch_la-upnpcommands.o libfreeswitch_la-minissdpc.o libfreeswitch_la-upnperrors.o libfreeswitch_la-natpmp.o libfreeswitch_la-getgateway.o libfreeswitch_la-plc.o libfreeswitch_la-alloc.o libfreeswitch_la-bit_operations.o switch_cpp.o</div>

<div>quiet_libtool: link: ranlib .libs/libfreeswitch.a</div><div>quiet_libtool: link: ( cd &quot;.libs&quot; &amp;&amp; rm -f &quot;<a href="http://libfreeswitch.la">libfreeswitch.la</a>&quot; &amp;&amp; ln -s &quot;../<a href="http://libfreeswitch.la">libfreeswitch.la</a>&quot; &quot;<a href="http://libfreeswitch.la">libfreeswitch.la</a>&quot; )</div>

<div>quiet_libtool: link: gcc -I/home/ubuntu/freeswitch/libs/curl/include -I/usr/include/uuid -I/home/ubuntu/freeswitch/src/include -I/home/ubuntu/freeswitch/src/include -I/home/ubuntu/freeswitch/libs/libteletone/src -I/home/ubuntu/freeswitch/libs/stfu -fPIC -Werror -fvisibility=hidden -DSWITCH_API_VISIBILITY=1 -DHAVE_VISIBILITY=1 -g -ggdb -DHAVE_OPENSSL -Wall -std=c99 -pedantic -Wdeclaration-after-statement -pthread -D_REENTRANT -D_GNU_SOURCE -I/home/ubuntu/freeswitch/libs/apr/include -I/home/ubuntu/freeswitch/libs/apr-util/include -I/home/ubuntu/freeswitch/libs/apr-util/xml/expat/lib -I/home/ubuntu/freeswitch/libs/libtpl-1.5/src -I/home/ubuntu/freeswitch/libs/stfu -I/home/ubuntu/freeswitch/libs/sqlite -I/home/ubuntu/freeswitch/libs/pcre -I/home/ubuntu/freeswitch/libs/speex/include -Ilibs/speex/include -I/home/ubuntu/freeswitch/libs/srtp/include -I/home/ubuntu/freeswitch/libs/srtp/crypto/include -Ilibs/srtp/crypto/include -I/home/ubuntu/freeswitch/libs/spandsp/src -I/home/ubuntu/freeswitch/libs/tiff-4.0.2/libtiff -DENABLE_SRTP -DSWITCH_HAVE_ODBC -I/usr/include -I/home/ubuntu/freeswitch/libs/libedit/src -DSWITCH_HAVE_LIBEDIT -Ilibs/libedit/src -DSWITCH_HAVE_LIBEDIT -I/usr/openssl101f/include -o .libs/freeswitch freeswitch-switch.o -Wl,-lodbc  -lm -lz -L/home/ubuntu/freeswitch/libs/apr-util/xml/expat/lib -L/usr/openssl101f/lib ./.libs/libfreeswitch.so libs/apr/.libs/libapr-1.a -luuid -lrt -ldl -lcrypt -lpthread libs/libedit/src/.libs/libedit.a -lssl -lcrypto -lncurses /usr/lib/x86_64-linux-gnu/libjpeg.so -pthread -Wl,-rpath -Wl,/usr/local/freeswitch/lib</div>

<div>./.libs/libfreeswitch.so: undefined reference to `zlibVersion&#39;</div><div>./.libs/libfreeswitch.so: undefined reference to `inflate&#39;</div><div>./.libs/libfreeswitch.so: undefined reference to `inflateInit2_&#39;</div>

<div>./.libs/libfreeswitch.so: undefined reference to `inflateInit_&#39;</div><div>./.libs/libfreeswitch.so: undefined reference to `inflateEnd&#39;</div><div>./.libs/libfreeswitch.so: undefined reference to `inflateReset&#39;</div>

<div>collect2: ld returned 1 exit status</div><div>make[1]: *** [freeswitch] Error 1</div><div>make: *** [all] Error 2</div><div>make &quot;OUR_MODULES=$(if test -z &quot;&quot; ; then tmp_mods=&quot;$(grep -v &quot;#&quot; /home/ubuntu/freeswitch/modules.conf | sed -e &quot;s|^.*/||&quot; | sort | uniq )&quot;; else tmp_mods=&quot;&quot; ; fi ; mods=&quot;$(for i in $tmp_mods ; do echo $i-all ; done )&quot;; echo $mods )&quot; &quot;OUR_CLEAN_MODULES=$(if test -z &quot;&quot; ; then tmp_mods=&quot;$(grep -v &quot;#&quot; /home/ubuntu/freeswitch/modules.conf | sed -e &quot;s|^.*/||&quot; | sort | uniq )&quot;; else tmp_mods=&quot;&quot; ; fi ; mods=&quot;$(for i in $tmp_mods ; do echo $i-clean ; done )&quot;; echo $mods )&quot; &quot;OUR_INSTALL_MODULES=$(if test -z &quot;&quot; ; then tmp_mods=&quot;$(grep -v &quot;#&quot; /home/ubuntu/freeswitch/modules.conf | sed -e &quot;s|^.*/||&quot; | sort | uniq )&quot;; else tmp_mods=&quot;&quot; ; fi ; mods=&quot;$(for i in $tmp_mods ; do echo $i-install ; done)&quot;; echo $mods )&quot; &quot;OUR_UNINSTALL_MODULES=$(if test -z &quot;&quot; ; then tmp_mods=&quot;$(grep -v &quot;#&quot; /home/ubuntu/freeswitch/modules.conf | sed -e &quot;s|^.*/||&quot; | sort | uniq )&quot;; else tmp_mods=&quot;&quot; ; fi ; mods=&quot;$(for i in $tmp_mods ; do echo $i-uninstall ; done)&quot;; echo $mods )&quot; &quot;OUR_DISABLED_MODULES=$(tmp_mods=&quot;$(grep &quot;#&quot; /home/ubuntu/freeswitch/modules.conf | grep -v &quot;##&quot; | sed -e &quot;s|^.*/||&quot; | sort | uniq )&quot;; mods=&quot;$(for i in $tmp_mods ; do echo $i-all ; done )&quot;; echo $mods )&quot; &quot;OUR_DISABLED_CLEAN_MODULES=$(tmp_mods=&quot;$(grep &quot;#&quot; /home/ubuntu/freeswitch/modules.conf | grep -v &quot;##&quot; | sed -e &quot;s|^.*/||&quot; | sort | uniq )&quot;;  mods=&quot;$(for i in $tmp_mods ; do echo $i-clean ; done )&quot;; echo $mods )&quot; &quot;OUR_DISABLED_INSTALL_MODULES=$(tmp_mods=&quot;$(grep &quot;#&quot; /home/ubuntu/freeswitch/modules.conf | grep -v &quot;##&quot; | sed -e &quot;s|^.*/||&quot; | sort | uniq )&quot;; mods=&quot;$(for i in $tmp_mods ; do echo $i-install ; done)&quot;; echo $mods )&quot; &quot;OUR_DISABLED_UNINSTALL_MODULES=$(tmp_mods=&quot;$(grep &quot;#&quot; /home/ubuntu/freeswitch/modules.conf | grep -v &quot;##&quot; | sed -e &quot;s|^.*/||&quot; | sort | uniq )&quot;; mods=&quot;$(for i in $tmp_mods ; do echo $i-uninstall ; done)&quot;; echo $mods )&quot; `test -n &quot;&quot; || echo -s` install-recursive</div>

<div>quiet_libtool: link: gcc -I/home/ubuntu/freeswitch/libs/curl/include -I/usr/include/uuid -I/home/ubuntu/freeswitch/src/include -I/home/ubuntu/freeswitch/src/include -I/home/ubuntu/freeswitch/libs/libteletone/src -I/home/ubuntu/freeswitch/libs/stfu -fPIC -Werror -fvisibility=hidden -DSWITCH_API_VISIBILITY=1 -DHAVE_VISIBILITY=1 -g -ggdb -DHAVE_OPENSSL -Wall -std=c99 -pedantic -Wdeclaration-after-statement -pthread -D_REENTRANT -D_GNU_SOURCE -I/home/ubuntu/freeswitch/libs/apr/include -I/home/ubuntu/freeswitch/libs/apr-util/include -I/home/ubuntu/freeswitch/libs/apr-util/xml/expat/lib -I/home/ubuntu/freeswitch/libs/libtpl-1.5/src -I/home/ubuntu/freeswitch/libs/stfu -I/home/ubuntu/freeswitch/libs/sqlite -I/home/ubuntu/freeswitch/libs/pcre -I/home/ubuntu/freeswitch/libs/speex/include -Ilibs/speex/include -I/home/ubuntu/freeswitch/libs/srtp/include -I/home/ubuntu/freeswitch/libs/srtp/crypto/include -Ilibs/srtp/crypto/include -I/home/ubuntu/freeswitch/libs/spandsp/src -I/home/ubuntu/freeswitch/libs/tiff-4.0.2/libtiff -DENABLE_SRTP -DSWITCH_HAVE_ODBC -I/usr/include -I/home/ubuntu/freeswitch/libs/libedit/src -DSWITCH_HAVE_LIBEDIT -Ilibs/libedit/src -DSWITCH_HAVE_LIBEDIT -I/usr/openssl101f/include -o .libs/freeswitch freeswitch-switch.o -Wl,-lodbc  -lm -lz -L/home/ubuntu/freeswitch/libs/apr-util/xml/expat/lib -L/usr/openssl101f/lib ./.libs/libfreeswitch.so libs/apr/.libs/libapr-1.a -luuid -lrt -ldl -lcrypt -lpthread libs/libedit/src/.libs/libedit.a -lssl -lcrypto -lncurses /usr/lib/x86_64-linux-gnu/libjpeg.so -pthread -Wl,-rpath -Wl,/usr/local/freeswitch/lib</div>

<div>./.libs/libfreeswitch.so: undefined reference to `zlibVersion&#39;</div><div>./.libs/libfreeswitch.so: undefined reference to `inflate&#39;</div><div>./.libs/libfreeswitch.so: undefined reference to `inflateInit2_&#39;</div>

<div>./.libs/libfreeswitch.so: undefined reference to `inflateInit_&#39;</div><div>./.libs/libfreeswitch.so: undefined reference to `inflateEnd&#39;</div><div>./.libs/libfreeswitch.so: undefined reference to `inflateReset&#39;</div>

<div>collect2: ld returned 1 exit status</div><div>make[1]: *** [freeswitch] Error 1</div><div>make: *** [install] Error 2</div><div>test -d /usr/local/freeswitch/conf || /bin/bash /home/ubuntu/freeswitch/build/config/install-sh -d /usr/local/freeswitch/conf</div>

<div>for conffile in `cd /home/ubuntu/freeswitch/conf/vanilla &amp;&amp; find . -name \*.xml &amp;&amp; find . -name \*.conf &amp;&amp; find . -name \*.tpl  &amp;&amp; find . -name \*.ttml &amp;&amp; find . -name mime.types` ; do \</div>

<div><span class="" style="white-space:pre">                </span>dir=`echo $conffile | sed -e &#39;s|^\.||&#39; | sed -e &#39;s|/[^/]*$||&#39;`; \</div><div><span class="" style="white-space:pre">                </span>filename=`echo $conffile | sed -e &#39;s|^\.||&#39; | sed -e &#39;s|^.*/||&#39;`; \</div>

<div><span class="" style="white-space:pre">                </span>test -d /usr/local/freeswitch/conf$dir || /bin/bash /home/ubuntu/freeswitch/build/config/install-sh -d /usr/local/freeswitch/conf$dir ; \</div><div><span class="" style="white-space:pre">                </span>test -f /usr/local/freeswitch/conf$dir/$filename || \</div>

<div><span class="" style="white-space:pre">                </span>test -f /usr/local/freeswitch/conf$dir/$filename.noload || \</div><div><span class="" style="white-space:pre">                        </span>/usr/bin/install -c -m 644 /home/ubuntu/freeswitch/conf/vanilla/$dir/$filename /usr/local/freeswitch/conf$dir; \</div>

<div><span class="" style="white-space:pre">        </span>done</div><div>test -d /usr/local/freeswitch/htdocs || /bin/bash /home/ubuntu/freeswitch/build/config/install-sh -d /usr/local/freeswitch/htdocs</div><div>for htdocsfile in `cd /home/ubuntu/freeswitch/htdocs &amp;&amp; find . -type f -name \* | sed -e &#39;s|^\.||&#39;` ; do \</div>

<div><span class="" style="white-space:pre">                </span>dir=`echo $htdocsfile | sed -e &#39;s|/[^/]*$||&#39;`; \</div><div><span class="" style="white-space:pre">                </span>filename=`echo $htdocsfile | sed -e &#39;s|^.*/||&#39;`; \</div>

<div><span class="" style="white-space:pre">                </span>test -d /usr/local/freeswitch/htdocs$dir || /bin/bash /home/ubuntu/freeswitch/build/config/install-sh -d /usr/local/freeswitch/htdocs$dir ; \</div><div><span class="" style="white-space:pre">                </span>test -f /usr/local/freeswitch/htdocs$dir/$filename || /usr/bin/install -c -m 644 /home/ubuntu/freeswitch/htdocs/$dir/$filename /usr/local/freeswitch/htdocs$dir 2&gt;/dev/null;  \</div>

<div><span class="" style="white-space:pre">        </span>done</div></div><div><br></div><div><br></div><div><br></div><div>Additionally, it would probably be good for the freeswitch staff to update the wiki for installs on ubuntu, and give one authoritative method for installing on ubuntu.  There are several paragraphs/scripts for installation on Ubuntu, and none of them seem to work for me.</div>

<div><br></div><div><br></div></div>