I'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. Here's my script: #!/bin/bash test "$BRANCH" != "" || BRANCH=v1.2.stable apt-get update apt-get install -y git-core subversion build-essential autoconf automake libtool libncurses5 libncurses5-dev make libjpeg-dev gawk apt-get install -y libcurl4-openssl-dev libexpat1-dev libgnutls-dev libtiff4-dev libx11-dev unixodbc-dev libssl-dev python2.6-dev \ zlib1g-dev libzrtpcpp-dev libasound2-dev libogg-dev libvorbis-dev libperl-dev libgdbm-dev libdb-dev python-dev \ uuid-dev update-alternatives --set awk /usr/bin/gawk git clone -b $BRANCH git://git.freeswitch.org/freeswitch.git ############################################################### # INSTALL OPENSSL v1.0.1f ############################################################### wget http://www.linuxfromscratch.org/patches/blfs/svn/openssl-1.0.1f-fix_parallel... wget http://www.linuxfromscratch.org/patches/blfs/svn/openssl-1.0.1f-fix_pod_synt... wget http://www.openssl.org/source/openssl-1.0.1f.tar.gz tar -zxvf openssl-1.0.1f.tar.gz cd openssl-1.0.1f patch -Np1 -i ../openssl-1.0.1f-fix_parallel_build-1.patch && patch -Np1 -i ../openssl-1.0.1f-fix_pod_syntax-1.patch && ./config --prefix=/usr/openssl101f -fPIC \ --openssldir=/etc/ssl \ --libdir=lib \ shared \ zlib-dynamic && make make install ############################################################## # INSTALL FREESWITCH ############################################################## cd .. cd freeswitch ./bootstrap.sh ./configure CFLAGS="-I/usr/openssl101f/include" LDFLAGS="-L/usr/openssl101f/lib" cat >modules.conf <<'EOL' applications/mod_commands applications/mod_conference applications/mod_db applications/mod_dptools applications/mod_enum applications/mod_esf applications/mod_esl applications/mod_expr applications/mod_fifo applications/mod_fsv applications/mod_hash applications/mod_httapi applications/mod_spandsp codecs/mod_amr codecs/mod_bv codecs/mod_g723_1 codecs/mod_g729 codecs/mod_h26x codecs/mod_vp8 codecs/mod_speex dialplans/mod_dialplan_asterisk dialplans/mod_dialplan_xml endpoints/mod_loopback endpoints/mod_sofia event_handlers/mod_cdr_csv event_handlers/mod_cdr_sqlite event_handlers/mod_event_socket formats/mod_local_stream formats/mod_native_file formats/mod_sndfile formats/mod_tone_stream languages/mod_lua languages/mod_spidermonkey loggers/mod_console loggers/mod_logfile loggers/mod_syslog say/mod_say_en xml_int/mod_xml_cdr xml_int/mod_xml_rpc xml_int/mod_xml_scgi EOL make cat >/etc/init.d/freeswitch <<'EOL' #!/bin/sh ### -*- mode:shell-script; indent-tabs-mode:nil; sh-basic-offset:2 -*- ### BEGIN INIT INFO # Provides: freeswitch # Required-Start: $network $remote_fs $local_fs # Required-Stop: $network $remote_fs $local_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: FreeSWITCH Softswitch # Description: FreeSWITCH Softswitch ### END INIT INFO # Author: Travis Cross <tc@traviscross.com> PATH=/sbin:/usr/sbin:/bin:/usr/bin DESC=freeswitch NAME=freeswitch DAEMON=/usr/local/freeswitch/bin/freeswitch DAEMON_ARGS="-u freeswitch -g daemon -rp -nc -nonat" USER=freeswitch PIDFILE=/usr/local/freeswitch/run/freeswitch.pid SCRIPTNAME=/etc/init.d/$NAME WORKDIR=/usr/local/freeswitch/lib [ -x $DAEMON ] || exit 0 [ -r /etc/default/$NAME ] && . /etc/default/$NAME . /lib/init/vars.sh . /lib/lsb/init-functions do_start() { start-stop-daemon --start --quiet \ --pidfile $PIDFILE --exec $DAEMON --name $NAME --user $USER \ --test > /dev/null \ || return 1 ulimit -s 240 start-stop-daemon --start --quiet \ --pidfile $PIDFILE --exec $DAEMON --name $NAME --user $USER \ --chdir $WORKDIR -- $DAEMON_ARGS $DAEMON_OPTS \ || return 2 return 0 } stop_fs() { start-stop-daemon --stop --quiet \ --pidfile $PIDFILE --name $NAME --user $USER \ --retry=TERM/30/KILL/5 } stop_fs_children() { start-stop-daemon --stop --quiet \ --exec $DAEMON \ --oknodo --retry=0/30/KILL/5 } do_stop() { stop_fs RETVAL="$?" [ "$RETVAL" -eq 2 ] && return 2 stop_fs_children [ "$?" -eq 2 ] && return 2 rm -f $PIDFILE return "$RETVAL" } do_reload() { start-stop-daemon --stop --quiet \ --pidfile $PIDFILE --name $NAME --user $USER \ --signal HUP } case "$1" in start) [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC " "$NAME" do_start case "$?" in 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; esac ;; stop) [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" do_stop case "$?" in 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; esac ;; status) status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? ;; reload|force-reload) log_daemon_msg "Reloading $DESC" "$NAME" do_reload log_end_msg $? ;; restart) log_daemon_msg "Restarting $DESC" "$NAME" do_stop case "$?" in 0|1) do_start case "$?" in 0) log_end_msg 0 ;; 1|*) log_end_msg 1 ;; esac ;; *) log_end_msg 1 ;; esac ;; *) echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2 exit 3 ;; esac exit 0 EOL chmod a+x /etc/init.d/freeswitch make install make samples adduser --disabled-password --quiet --system --gecos "FreeSWITCH Voice Platform" --ingroup daemon freeswitch chown -R freeswitch:daemon /usr/local/freeswitch/ chmod -R o-rwx /usr/local/freeswitch/ The build error I'm getting is the following: *** Warning: Linking the shared library libfreeswitch.la against the *** static library libs/libedit/src/.libs/libedit.a is not portable! 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 quiet_libtool: link: (cd ".libs" && rm -f "libfreeswitch.so.1" && ln -s "libfreeswitch.so.1.0.0" "libfreeswitch.so.1") quiet_libtool: link: (cd ".libs" && rm -f "libfreeswitch.so" && ln -s "libfreeswitch.so.1.0.0" "libfreeswitch.so") 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 quiet_libtool: link: ranlib .libs/libfreeswitch.a quiet_libtool: link: ( cd ".libs" && rm -f "libfreeswitch.la" && ln -s "../ libfreeswitch.la" "libfreeswitch.la" ) 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 ./.libs/libfreeswitch.so: undefined reference to `zlibVersion' ./.libs/libfreeswitch.so: undefined reference to `inflate' ./.libs/libfreeswitch.so: undefined reference to `inflateInit2_' ./.libs/libfreeswitch.so: undefined reference to `inflateInit_' ./.libs/libfreeswitch.so: undefined reference to `inflateEnd' ./.libs/libfreeswitch.so: undefined reference to `inflateReset' collect2: ld returned 1 exit status make[1]: *** [freeswitch] Error 1 make: *** [all] Error 2 make "OUR_MODULES=$(if test -z "" ; then tmp_mods="$(grep -v "#" /home/ubuntu/freeswitch/modules.conf | sed -e "s|^.*/||" | sort | uniq )"; else tmp_mods="" ; fi ; mods="$(for i in $tmp_mods ; do echo $i-all ; done )"; echo $mods )" "OUR_CLEAN_MODULES=$(if test -z "" ; then tmp_mods="$(grep -v "#" /home/ubuntu/freeswitch/modules.conf | sed -e "s|^.*/||" | sort | uniq )"; else tmp_mods="" ; fi ; mods="$(for i in $tmp_mods ; do echo $i-clean ; done )"; echo $mods )" "OUR_INSTALL_MODULES=$(if test -z "" ; then tmp_mods="$(grep -v "#" /home/ubuntu/freeswitch/modules.conf | sed -e "s|^.*/||" | sort | uniq )"; else tmp_mods="" ; fi ; mods="$(for i in $tmp_mods ; do echo $i-install ; done)"; echo $mods )" "OUR_UNINSTALL_MODULES=$(if test -z "" ; then tmp_mods="$(grep -v "#" /home/ubuntu/freeswitch/modules.conf | sed -e "s|^.*/||" | sort | uniq )"; else tmp_mods="" ; fi ; mods="$(for i in $tmp_mods ; do echo $i-uninstall ; done)"; echo $mods )" "OUR_DISABLED_MODULES=$(tmp_mods="$(grep "#" /home/ubuntu/freeswitch/modules.conf | grep -v "##" | sed -e "s|^.*/||" | sort | uniq )"; mods="$(for i in $tmp_mods ; do echo $i-all ; done )"; echo $mods )" "OUR_DISABLED_CLEAN_MODULES=$(tmp_mods="$(grep "#" /home/ubuntu/freeswitch/modules.conf | grep -v "##" | sed -e "s|^.*/||" | sort | uniq )"; mods="$(for i in $tmp_mods ; do echo $i-clean ; done )"; echo $mods )" "OUR_DISABLED_INSTALL_MODULES=$(tmp_mods="$(grep "#" /home/ubuntu/freeswitch/modules.conf | grep -v "##" | sed -e "s|^.*/||" | sort | uniq )"; mods="$(for i in $tmp_mods ; do echo $i-install ; done)"; echo $mods )" "OUR_DISABLED_UNINSTALL_MODULES=$(tmp_mods="$(grep "#" /home/ubuntu/freeswitch/modules.conf | grep -v "##" | sed -e "s|^.*/||" | sort | uniq )"; mods="$(for i in $tmp_mods ; do echo $i-uninstall ; done)"; echo $mods )" `test -n "" || echo -s` install-recursive 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 ./.libs/libfreeswitch.so: undefined reference to `zlibVersion' ./.libs/libfreeswitch.so: undefined reference to `inflate' ./.libs/libfreeswitch.so: undefined reference to `inflateInit2_' ./.libs/libfreeswitch.so: undefined reference to `inflateInit_' ./.libs/libfreeswitch.so: undefined reference to `inflateEnd' ./.libs/libfreeswitch.so: undefined reference to `inflateReset' collect2: ld returned 1 exit status make[1]: *** [freeswitch] Error 1 make: *** [install] Error 2 test -d /usr/local/freeswitch/conf || /bin/bash /home/ubuntu/freeswitch/build/config/install-sh -d /usr/local/freeswitch/conf for conffile in `cd /home/ubuntu/freeswitch/conf/vanilla && find . -name \*.xml && find . -name \*.conf && find . -name \*.tpl && find . -name \*.ttml && find . -name mime.types` ; do \ dir=`echo $conffile | sed -e 's|^\.||' | sed -e 's|/[^/]*$||'`; \ filename=`echo $conffile | sed -e 's|^\.||' | sed -e 's|^.*/||'`; \ test -d /usr/local/freeswitch/conf$dir || /bin/bash /home/ubuntu/freeswitch/build/config/install-sh -d /usr/local/freeswitch/conf$dir ; \ test -f /usr/local/freeswitch/conf$dir/$filename || \ test -f /usr/local/freeswitch/conf$dir/$filename.noload || \ /usr/bin/install -c -m 644 /home/ubuntu/freeswitch/conf/vanilla/$dir/$filename /usr/local/freeswitch/conf$dir; \ done test -d /usr/local/freeswitch/htdocs || /bin/bash /home/ubuntu/freeswitch/build/config/install-sh -d /usr/local/freeswitch/htdocs for htdocsfile in `cd /home/ubuntu/freeswitch/htdocs && find . -type f -name \* | sed -e 's|^\.||'` ; do \ dir=`echo $htdocsfile | sed -e 's|/[^/]*$||'`; \ filename=`echo $htdocsfile | sed -e 's|^.*/||'`; \ test -d /usr/local/freeswitch/htdocs$dir || /bin/bash /home/ubuntu/freeswitch/build/config/install-sh -d /usr/local/freeswitch/htdocs$dir ; \ 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>/dev/null; \ done 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.