Freeswitch en debian 9 sobre pgsql (fallido)

Venga, otra vez estamos aquí. Tras la infructuosa instalación de freeswitch 1.8 ésta mañana sobre debian 9, volvemos a intentarlo. Ahora la diferencia, son evidentemente la versión de debian, que compilaremos freeswitch en lugar de instalarlos desde los repositorios que petan por no estar usando una clave gpg compatible y que vamos a conectarlo a un postgree (pgsql).

De nuevo, partimos de una instalación nueva.

Empezaremos instalando todas las dependencias necesarias

root@freeswitch8-capa8:~# apt-get install git libpq-dev postgresql postgresql-client build-essential

git es para descargar el código de la rama máster de freeswitch, el libpq-dev lo necesitaremos mas adelante para hacer funcionar el pgsql con el freeswitch y ya puestos, para ponerle así un poco de rollo gnóstico empezando por el final, el postgresql ya de paso! y el build-essential porque nos vamos a poner en harina y a compilar el código.

Seguiremos pues, descargando el código git en nuestra máquina para poder compilarlo posteriormente.

root@freeswitch8-capa8:~# git clone https://freeswitch.org/stash/scm/fs/freeswitch.git
Cloning into 'freeswitch'...
remote: Counting objects: 307888, done.
remote: Compressing objects: 100% (67730/67730), done.
remote: Total 307888 (delta 239706), reused 298098 (delta 232095)
Receiving objects: 100% (307888/307888), 147.98 MiB | 2.64 MiB/s, done.
Resolving deltas: 100% (239706/239706), done.

Ahora veremos que nos ha creado un directorio y dentro de él está todo el código del freeswitch en la rama master.

root@freeswitch8-capa8:~# ls
freeswitch
root@freeswitch8-capa8:~# cd freeswitch/
root@freeswitch8-capa8:~/freeswitch# ls
acinclude.m4         cluecon.tmpl        dtd                                   freeswitch-sounds-en-us-callie.spec  htdocs       support-d
bootstrap.sh         cmake_modules       erlang.spec                           freeswitch-sounds-fr-ca-june.spec    html5        swig_common.i
build                conf                fonts                                 freeswitch-sounds-music.spec         images       tests
cc.sh                configure.ac        Freeswitch.2015.sln                   freeswitch-sounds-pt-BR-karina.spec  INSTALL      w32
clients              debian              Freeswitch.2015.sln.bat               freeswitch-sounds-ru-RU-elena.spec   libs         web
cluecon2_small.tmpl  devel-bootstrap.sh  freeswitch-config-rayo.spec           freeswitch-sounds-sv-se-jakob.spec   Makefile.am  yum
cluecon2.tmpl        docker              freeswitch-sounds-en-ca-june.spec     freeswitch.spec                      scripts
cluecon_small.tmpl   docs                freeswitch-sounds-en-us-allison.spec  fscomm                               src

Ahora moveremos éste directorio a /usr/src. No sabía muy bien donde ponerla, pero los manuales lo suelen poner ahí. Así que vamos a respetarlo.

root@freeswitch8-capa8:~/freeswitch# cd ..
root@freeswitch8-capa8:~# mv freeswitch /usr/src/
root@freeswitch8-capa8:~# cd /usr/src/freeswitch/

Ahora pues vamos a compilar freeswitch en su rama master e indicarle qué opciones extra queremos añadir a nuestro freeswitch.

Nota: en la documentación hay un rollo muy raro de una rama 1.6, que no me cuadra con la versión 1.8 que estoy tratando de instalar, he mirado al git de freeswitch y he visto que la rama con cambios mas recientes es la master. Así que suponemos que ésta sea la vía por la que tengamos que tirar… esperemos que los desarrolladores sean cuidadosos…

¡Joder! ya empezamos! ¡la documentación de dentro el código dice una cosa y la de la web otra! bueno… la del código todo muy bien explicado pero es una bazofia! me han decepcionado ya! a ver… hay unos ficheros con +x que no sabía lo que eran pero tenían muchas cosas dentro… vamos a ellos pues

root@freeswitch8-capa8:/usr/src/freeswitch# ./bootstrap.sh -j
bootstrap: checking installation...
bootstrap: autoconf not found.
           You need autoconf version 2.59 or newer installed
           to build FreeSWITCH from source.

Bueno, pues parece que empezamos con las versiones de las dependencias… ¡tóma! ¡come pesao!

root@freeswitch8-capa8:/usr/src/freeswitch# apt-get install autoconf

Y lo volvemos a intentar…

root@freeswitch8-capa8:/usr/src/freeswitch# ./bootstrap.sh -j
bootstrap: checking installation...
bootstrap: autoconf version 2.69 (ok)
bootstrap: automake version 1.15 (ok)
bootstrap: aclocal version 1.15 (ok)
bootstrap: libtool not found.
           You need libtool version 1.5.14 or newer to build FreeSWITCH from source.

Otra… bueno, os voy pasando las dependencias que requiere y ya lo instaláis todo de golpo… ésto que os ahorro… venga, un descanso…

root@freeswitch8-capa8:/usr/src/freeswitch# apt-get install autoconf libtool-bin

¡Ya estoy aquí de nuevo! bueno, de momento no ha sido para tanto! sólo 2 dependencias hehe…

Seguimos, ésto lleva aquí un rato compilando y de momento no he visto nada raro… vale, ésto ya ha terminado y parece que ahora si nos ha creado un fichero configure ejecutable en la raíz del programa. Vamos a probar lo que decía la configuración del código del ./configure –help

root@freeswitch8-capa8:/usr/src/freeswitch# ./configure --help
`configure' configures freeswitch 1.9.0 to adapt to many kinds of systems.

Usage: ./configure [OPTION]... [VAR=VALUE]...

To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE.  See below for descriptions of some of the useful variables.

Defaults for the options are specified in brackets.

Configuration:
  -h, --help              display this help and exit
      --help=short        display options specific to this package
      --help=recursive    display the short help of all the included packages
  -V, --version           display version information and exit
  -q, --quiet, --silent   do not print `checking ...' messages
      --cache-file=FILE   cache test results in FILE [disabled]
  -C, --config-cache      alias for `--cache-file=config.cache'
  -n, --no-create         do not create output files
      --srcdir=DIR        find the sources in DIR [configure dir or `..']

Installation directories:
  --prefix=PREFIX         install architecture-independent files in PREFIX
                          [/usr/local/freeswitch]
  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
                          [PREFIX]

By default, `make install' will install all the files in
`/usr/local/freeswitch/bin', `/usr/local/freeswitch/lib' etc.  You can specify
an installation prefix other than `/usr/local/freeswitch' using `--prefix',
for instance `--prefix=$HOME'.

For better control, use the options below.

Fine tuning of the installation directories:
  --bindir=DIR            user executables [EPREFIX/bin]
  --sbindir=DIR           system admin executables [EPREFIX/sbin]
  --libexecdir=DIR        program executables [EPREFIX/libexec]
  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
  --runstatedir=DIR       modifiable per-process data [LOCALSTATEDIR/run]
  --libdir=DIR            object code libraries [EPREFIX/lib]
  --includedir=DIR        C header files [PREFIX/include]
  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
  --infodir=DIR           info documentation [DATAROOTDIR/info]
  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
  --mandir=DIR            man documentation [DATAROOTDIR/man]
  --docdir=DIR            documentation root [DATAROOTDIR/doc/freeswitch]
  --htmldir=DIR           html documentation [DOCDIR]
  --dvidir=DIR            dvi documentation [DOCDIR]
  --pdfdir=DIR            pdf documentation [DOCDIR]
  --psdir=DIR             ps documentation [DOCDIR]

Program names:
  --program-prefix=PREFIX            prepend PREFIX to installed program names
  --program-suffix=SUFFIX            append SUFFIX to installed program names
  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names

System types:
  --build=BUILD     configure for building on BUILD [guessed]
  --host=HOST       cross-compile to build programs to run on HOST [BUILD]

Optional Features:
  --disable-option-checking  ignore unrecognized --enable/--with options
  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
  --enable-silent-rules   less verbose build output (undo: "make V=1")
  --disable-silent-rules  verbose build output (undo: "make V=0")
  --enable-64             build with 64 bit support
  --enable-dependency-tracking
                          do not reject slow dependency extractors
  --disable-dependency-tracking
                          speeds up one-time build
  --disable-fhs           Do Not follow the FHS when placing files and
                          directories (default only when not specifying prefix
  --enable-shared[=PKGS]  build shared libraries [default=yes]
  --enable-static[=PKGS]  build static libraries [default=yes]
  --enable-fast-install[=PKGS]
                          optimize for fast installation [default=yes]
  --disable-libtool-lock  avoid locking (might break parallel builds)
  --enable-optimization   Set if you want us to add max optimising compiler
                          flags
  --enable-portable-binary
                          disable compiler optimizations that would produce
                          unportable binaries
  --enable-address-sanitizer
                          build with address sanitizer
  --disable-visibility    Disable or enable API visibility support (default:
                          use if available)
  --disable-debug         build without debug information
  --disable-libyuv        build without libyuv
  --disable-libvpx        build without libvpx
  --disable-cpp           build without cpp code
  --enable-system-xmlrpc-c
                          use system lib for xmlrpc-c
  --disable-srtp          build without srtp support
  --enable-zrtp           Compile with zrtp Support
  --enable-core-odbc-support
                          Compile with ODBC Support (default is optional)
  --enable-core-pgsql-support
                          Compile with PGSQL Support
  --disable-core-pgsql-pkgconfig
                          Use pg_config to get PGQSL build options
  --enable-deprecated-core-db-events
                          Keep deprecated core db events
  --disable-core-libedit-support
                          Compile without libedit Support
  --enable-static-v8      Statically link V8 into mod_v8
  --disable-parallel-build-v8
                          Disable parallel build of V8

Optional Packages:
  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
  --with-modinstdir=DIR   Install modules into this location (default:
                          $prefix/mod)
  --with-rundir=DIR       Put pidfile into this location (default:
                          $prefix/run)
  --with-logfiledir=DIR   Put logfiles into this location (default:
                          $localstatedir/log)
  --with-dbdir=DIR        Put database files into this location (default:
                          $prefix/db)
  --with-htdocsdir=DIR    Put html files into this location (default:
                          $prefix/htdocs)
  --with-fontsdir=DIR     Put font files into this location (default:
                          $prefix/fonts)
  --with-soundsdir=DIR    Put sound files into this location (default:
                          $prefix/sounds)
  --with-grammardir=DIR   Put grammar files into this location (default:
                          $prefix/grammar)
  --with-certsdir=DIR     Put certs files into this location (default:
                          $prefix/certs)
  --with-scriptdir=DIR    Put script files into this location (default:
                          $prefix/scripts)
  --with-recordingsdir=DIR
                          Put recordings files into this location (default:
                          $prefix/recordings)
  --with-imagesdir=DIR    Put images files into this location (default:
                          $prefix/images)
  --with-storagedir=DIR   Put storage files into this location (default:
                          $prefix/storage)
  --with-cachedir=DIR     Put cache files into this location (default:
                          $prefix/cache)
  --with-pkgconfigdir=DIR Installation directory for pkgconfig file (default:
                          ${libdir}/pkgconfig)
  --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use
                          both]
  --with-aix-soname=aix|svr4|both
                          shared library versioning (aka "SONAME") variant to
                          provide on AIX, [default=aix].
  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
  --with-sysroot[=DIR]    Search for dependent libraries within DIR (or the
                          compiler's sysroot if not specified).
  --with-gcc-arch=  use architecture  for gcc -march/-mtune,
                          instead of guessing
  --with-lib-subdir=DIR   Find libraries in DIR instead of lib
  --with-odbc=PREFIX      Compile with ODBC support
  --with-odbc-lib=dir     use odbc libraries in dir
  --with-odbc-include=dir use odbc headers in dir
  --without-png           disable support for libpng
  --without-freetype      disable support for freetype
  --with-openssl          use OpenSSL [enabled]
  --with-java=PFX         prefix where 'java' is installed.
  --with-python           Use system provided version of python (default: try)
  --with-erlang           Use system provided version of erlang (default: try)

Some influential environment variables:
  CC          C compiler command
  CFLAGS      C compiler flags
  LDFLAGS     linker flags, e.g. -L if you have libraries in a
              nonstandard directory 
  LIBS        libraries to pass to the linker, e.g. -l
  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I if
              you have headers in a nonstandard directory 
  CXX         C++ compiler command
  CXXFLAGS    C++ compiler flags
  LT_SYS_LIBRARY_PATH
              User-defined run-time library search path.
  CPP         C preprocessor
  CXXCPP      C++ preprocessor

Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.

Report bugs to .

¡TOMA! ¡LEE!

Vamos a centrarnos primero con a lo que hemos venido a éste post, a vincular el freeswitch con el postgresql: enable-core-pgsql-support

  --enable-core-odbc-support
                          Compile with ODBC Support (default is optional)
  --enable-core-pgsql-support
                          Compile with PGSQL Support
  --disable-core-pgsql-pkgconfig
                          Use pg_config to get PGQSL build options

Bueno, mala pinta no tiene… por lo menos aparece en el –help… y destaco también la posibilidad del uso de un conector de bases de datos… pero bueno… esta ya es otra historia… hoy vamos a usar postgresql, no mysql. Ya que nos ponemos con cosas nuevas pues ¡de cabeza!

Que mas hay por aquí… voy a ver que cosas suelo configurar en el asterisk cuando lo compilo y también cosas así de seguridad, el tema del tls y lo del proxyRTP, que no me ha quedado muy claro que si quieres un proxyRTP tienes que meterte ya en otro fregao, el de kamailio… un enrutador de paquetes SIP (lo que estamos instalando aquí es una centralita, donde están los buzones de los usuarios y su cuenta).

Bueno, parece que en el primer trozo pues te permite definir donde quieres guardar algunas cosas que supongo que va a crear por defecto, sino las meterá todas ahí donde le de la gana… ya veremos… veo algo de pdf (espero que mas documentación) y html… uhm… habrá algún tipo de interfaz web disponible para hacer algo?

Hay ésto otro

Program names:
  --program-prefix=PREFIX            prepend PREFIX to installed program names
  --program-suffix=SUFFIX            append SUFFIX to installed program names
  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names

Los dos primeros supongo que los necesitaremos si nos da problemas para encontrar el libpq y lo tercero no sé… pero me inquieta un poco…

Algo de build system que decía algo en la documentación que está en los sources. Disable y Enable de muchas cosas… vete a saber tú cuales vienen por defecto activadas o desactivadas… vamos a darles un voto de fe a los desarrolladores y como en ningún otro sitio de su documentación a excepción de la del pgsql, pues otro repasito mas y adelante con el primer configure que me ha gustado.

¡va! ¡sin dolor!

./configure --enable-core-pgsql-support

Cruzando dedos… no te quejes de dependencias… no te quejes de dependencias…

root@freeswitch8-capa8:/usr/src/freeswitch# apt-get install zlib1g-dev libjpeg-dev pkg-config libsqlite3-dev libcurl4-gnutls-dev libpcre3-dev libogg-dev libspeex-dev libspeexdsp-dev libldns-dev libedit-dev libtiff5-dev

Ahora le damos a dar otra vez al configure

root@freeswitch8-capa8:/usr/src/freeswitch# ./configure --enable-core-pgsql-support

[[[ muchas cosas aquí en medio ]]]

-------------------------- FreeSWITCH configuration --------------------------

  Locations:

      prefix:          /usr/local/freeswitch
      exec_prefix:     /usr/local/freeswitch
      bindir:          ${exec_prefix}/bin
      confdir:         /usr/local/freeswitch/conf
      libdir:          ${exec_prefix}/lib
      datadir:         /usr/local/freeswitch
      localstatedir:   /usr/local/freeswitch
      includedir:      /usr/local/freeswitch/include/freeswitch

      certsdir:        /usr/local/freeswitch/certs
      dbdir:           /usr/local/freeswitch/db
      grammardir:      /usr/local/freeswitch/grammar
      htdocsdir:       /usr/local/freeswitch/htdocs
      fontsdir:        /usr/local/freeswitch/fonts
      logfiledir:      /usr/local/freeswitch/log
      modulesdir:      /usr/local/freeswitch/mod
      pkgconfigdir:    ${exec_prefix}/lib/pkgconfig
      recordingsdir:   /usr/local/freeswitch/recordings
      imagesdir:       /usr/local/freeswitch/images
      runtimedir:      /usr/local/freeswitch/run
      scriptdir:       /usr/local/freeswitch/scripts
      soundsdir:       /usr/local/freeswitch/sounds
      storagedir:      /usr/local/freeswitch/storage
      cachedir:        /usr/local/freeswitch/cache

------------------------------------------------------------------------------

et voilà! ahora siguiente paso, make, make check (recomendable) y finalmente make install.

root@freeswitch8-capa8:/usr/src/freeswitch# make
[[[ aquí, cosas ]]]
Neither yasm nor nasm have been found. See the prerequisites section in the README for more info.

Configuration failed. This could reflect a misconfiguration of your
toolchains, improper options selected, or another problem. If you
don't see any useful error messages above, the next step is to look
at the configure error log file (config.log) to determine what
configure was trying to do when it died.
Makefile:4011: recipe for target 'libs/libvpx/Makefile' failed
make: *** [libs/libvpx/Makefile] Error 1
root@freeswitch8-capa8:/usr/src/freeswitch# apt-cache search yasm
yasm - modular assembler with multiple syntaxes support
root@freeswitch8-capa8:/usr/src/freeswitch# apt-get install yasm

Yaaaaasmm… nada en la documentación pero bueno… vamos a suponer que yasm…

Siguen los problemas y no se por donde avanzar, he visto un directorio debian con un bootstrap, supongo que ésto será lo que construirá las dependencias antes de compilar… bueno probamos por aquí…

root@freeswitch8-capa8:/usr/src/freeswitch# debian/bootstrap.sh
Bootstrapping debian/ for sid

Please wait, this takes a few seconds...
Adding any new modules to control-modules...
Parsing control-modules...
Displaying includes/excludes...
Generating modules_.conf...
Generating control-modules.gen as sanity check...
Accumulating dependencies from modules...
Generating debian/...
Generating debian/ (conf)...
Generating debian/ (lang)...
Generating debian/ (modules)...
Generating additional lintian overrides...
Cleaning up...
Done bootstrapping debian/

Retrocedemos al ./configure

root@freeswitch8-capa8:/usr/src/freeswitch# ./configure --enable-core-pgsql-support
root@freeswitch8-capa8:/usr/src/freeswitch# make

Nada estoy atascada sigo probando otras cosas, veo que hay un directorio de scripts. Bueno, ahora acabo de liarla un poco, pero bueno haha, ya lo arreglaré cuando haga una instalación nueva… Dentro del directorio éste de scripts hay varios scripts, he ejecutado freeswitch.pkg_deps.sh y debian_min_build.sh. El segundo script parece que ha creado la librería que requeríamos para el error que me salía

mod_lua.cpp:37:17: fatal error: lua.h: No such file or directory
 #include "lua.h"
root@freeswitch8-capa8:/usr/src/freeswitch/scripts# ./freeswitch.pkg_deps.sh 
root@freeswitch8-capa8:/usr/src/freeswitch/scripts# ./debian_min_build.sh 

Buscando como arreglar éste problema me he dado cuenta que el script debian_min_build.sh que compila freeswitch 1.6, genera en el directorio usr/mod/languages/mod_lua varias librerías, así que he copiado las librerías que se crean en /usr/src/freeswitch.git/src/mod/languages/mod_lua/.libs al src/mod/languages/mod_lua/ de la versión 1.8 que estamos compilando (si, lo admito, una chapuza, pero quiero avanzar hahaha)

root@freeswitch8-capa8:/usr/src/freeswitch# find . |grep mod_lua.so
./src/mod/languages/mod_lua/.libs/mod_lua.so

Después por ahí he leído de probar de ejecutar autoreconf sobre el directorio base del código

root@freeswitch8-capa8:/usr/src/freeswitch# autoreconf

He hecho el make otra vez y me salta otro error, bueno, vienen varios así… dependencias, vamos

root@freeswitch8-capa8:/usr/src/freeswitch# apt-get install libopus-dev libsndfile-dev
root@freeswitch8-capa8:/usr/src/freeswitch# autoreconf

El autoreconf es para que actualice la lista de liberías

Mas chapuzas

root@freeswitch8-capa8:/usr/src/freeswitch# cp /usr/lib/x86_64-linux-gnu/libsndfile.so src/mod/formats/mod_sndfile/.libs/

Eureka! lo siento, tengo que arreglar ésta parte, para instalar todas las dependencias a la misma parte, luego hacer la instalación neta y lo de la chapuza de mover la librería de la versión 1.6, pues se puede hacer como segunda opción, pero lo importante es ejecutar autoconfig, después ./configure –enable-core-pgsql-support, después make y luego ya te sale éste precioso mensaje

 +---------- FreeSWITCH Build Complete ----------+
 + FreeSWITCH has been successfully built.       +
 + Install by running:                           +
 +                                               +
 +                make install                   +
 +                                               +
 + While you're waiting, register for ClueCon!   +
 + https://www.cluecon.com                       +
 +                                               +
 +-----------------------------------------------+

.=======================================================================================================.
|    ____ _             ____                                                                            |
|   / ___| |_   _  ___ / ___|___  _ __                                                                  |
|  | |   | | | | |/ _ \ |   / _ \| '_ \                                                                 |
|  | |___| | |_| |  __/ |__| (_) | | | |                                                                |
|   \____|_|\__,_|\___|\____\___/|_| |_|                                                                |
|                                                                                                       |
|   _____    _            _                          ____             __                                |
|  |_   _|__| | ___ _ __ | |__   ___  _ __  _   _   / ___|___  _ __  / _| ___ _ __ ___ _ __   ___ ___   |
|    | |/ _ \ |/ _ \ '_ \| '_ \ / _ \| '_ \| | | | | |   / _ \| '_ \| |_ / _ \ '__/ _ \ '_ \ / __/ _ \  |
|    | |  __/ |  __/ |_) | | | | (_) | | | | |_| | | |__| (_) | | | |  _|  __/ | |  __/ | | | (_|  __/  |
|    |_|\___|_|\___| .__/|_| |_|\___/|_| |_|\__, |  \____\___/|_| |_|_|  \___|_|  \___|_| |_|\___\___|  |
|                  |_|                      |___/                                                       |
|   _____                           _                         _                                         |
|  | ____|_   _____ _ __ _   _     / \  _   _  __ _ _   _ ___| |_                                       |
|  |  _| \ \ / / _ \ '__| | | |   / _ \| | | |/ _` | | | / __| __|                                      |
|  | |___ \ V /  __/ |  | |_| |  / ___ \ |_| | (_| | |_| \__ \ |_                                       |
|  |_____| \_/ \___|_|   \__, | /_/   \_\__,_|\__, |\__,_|___/\__|                                      |
|                        |___/                |___/                                                     |
|                                       ____ _             ____                                         |
|  __      ____      ____      __      / ___| |_   _  ___ / ___|___  _ __         ___ ___  _ __ ___     |
|  \ \ /\ / /\ \ /\ / /\ \ /\ / /     | |   | | | | |/ _ \ |   / _ \| '_ \       / __/ _ \| '_ ` _ \    |
|   \ V  V /  \ V  V /  \ V  V /   _  | |___| | |_| |  __/ |__| (_) | | | |  _  | (_| (_) | | | | | |   |
|    \_/\_/    \_/\_/    \_/\_/   (_)  \____|_|\__,_|\___|\____\___/|_| |_| (_)  \___\___/|_| |_| |_|   |
|                                                                                                       |
.=======================================================================================================.


make[2]: Leaving directory '/usr/src/freeswitch/build'
make[1]: Leaving directory '/usr/src/freeswitch'

Ahora siguiente paso, el make check. Pues nada, olvidadlo el make check, porque da problemas también, así que directamente he puesto valor y he ejecutado el make install

root@freeswitch8-capa8:/usr/src/freeswitch# make install
[[[ mucho texto - mucho texto - mucho texto ]]]
 +---------- FreeSWITCH install Complete ----------+
 + FreeSWITCH has been successfully installed.     +
 +                                                 +
 +       Install sounds:                           +
 +       (uhd-sounds includes hd-sounds, sounds)   +
 +       (hd-sounds includes sounds)               +
 +       ------------------------------------      +
 +                make cd-sounds-install           +
 +                make cd-moh-install              +
 +                                                 +
 +                make uhd-sounds-install          +
 +                make uhd-moh-install             +
 +                                                 +
 +                make hd-sounds-install           +
 +                make hd-moh-install              +
 +                                                 +
 +                make sounds-install              +
 +                make moh-install                 +
 +                                                 +
 +       Install non english sounds:               +
 +       replace XX with language                  +
 +       (ru : Russian)                            +
 +       (fr : French)                             +
 +       ------------------------------------      +
 +                make cd-sounds-XX-install        +
 +                make uhd-sounds-XX-install       +
 +                make hd-sounds-XX-install        +
 +                make sounds-XX-install           +
 +                                                 +
 +       Upgrade to latest:                        +
 +       ----------------------------------        +
 +                make current                     +
 +                                                 +
 +       Rebuild all:                              +
 +       ----------------------------------        +
 +                make sure                        +
 +                                                 +
 +       Install/Re-install default config:        +
 +       ----------------------------------        +
 +                make samples                     +
 +                                                 +
 +                                                 +
 +       Additional resources:                     +
 +       ----------------------------------        +
 +       https://www.freeswitch.org                +
 +       https://freeswitch.org/confluence         +
 +       https://freeswitch.org/jira               +
 +       http://lists.freeswitch.org               +
 +                                                 +
 +       irc.freenode.net / #freeswitch            +
 +                                                 +
 +       Register For ClueCon:                     +
 +       ----------------------------------        +
 +       https://www.cluecon.com                   +
 +                                                 +
 +-------------------------------------------------+

.=======================================================================================================.
|    ____ _             ____                                                                            |
|   / ___| |_   _  ___ / ___|___  _ __                                                                  |
|  | |   | | | | |/ _ \ |   / _ \| '_ \                                                                 |
|  | |___| | |_| |  __/ |__| (_) | | | |                                                                |
|   \____|_|\__,_|\___|\____\___/|_| |_|                                                                |
|                                                                                                       |
|   _____    _            _                          ____             __                                |
|  |_   _|__| | ___ _ __ | |__   ___  _ __  _   _   / ___|___  _ __  / _| ___ _ __ ___ _ __   ___ ___   |
|    | |/ _ \ |/ _ \ '_ \| '_ \ / _ \| '_ \| | | | | |   / _ \| '_ \| |_ / _ \ '__/ _ \ '_ \ / __/ _ \  |
|    | |  __/ |  __/ |_) | | | | (_) | | | | |_| | | |__| (_) | | | |  _|  __/ | |  __/ | | | (_|  __/  |
|    |_|\___|_|\___| .__/|_| |_|\___/|_| |_|\__, |  \____\___/|_| |_|_|  \___|_|  \___|_| |_|\___\___|  |
|                  |_|                      |___/                                                       |
|   _____                           _                         _                                         |
|  | ____|_   _____ _ __ _   _     / \  _   _  __ _ _   _ ___| |_                                       |
|  |  _| \ \ / / _ \ '__| | | |   / _ \| | | |/ _` | | | / __| __|                                      |
|  | |___ \ V /  __/ |  | |_| |  / ___ \ |_| | (_| | |_| \__ \ |_                                       |
|  |_____| \_/ \___|_|   \__, | /_/   \_\__,_|\__, |\__,_|___/\__|                                      |
|                        |___/                |___/                                                     |
|                                       ____ _             ____                                         |
|  __      ____      ____      __      / ___| |_   _  ___ / ___|___  _ __         ___ ___  _ __ ___     |
|  \ \ /\ / /\ \ /\ / /\ \ /\ / /     | |   | | | | |/ _ \ |   / _ \| '_ \       / __/ _ \| '_ ` _ \    |
|   \ V  V /  \ V  V /  \ V  V /   _  | |___| | |_| |  __/ |__| (_) | | | |  _  | (_| (_) | | | | | |   |
|    \_/\_/    \_/\_/    \_/\_/   (_)  \____|_|\__,_|\___|\____\___/|_| |_| (_)  \___\___/|_| |_| |_|   |
|                                                                                                       |
.=======================================================================================================.


Checking module integrity in target [/usr/local/freeswitch/mod]


make[2]: Leaving directory '/usr/src/freeswitch/build'
make[1]: Leaving directory '/usr/src/freeswitch'

Bueno… pues no sé… ahora a ver si está funcionando o si arranca, no?

Arranca, pero no del todo… además se tiene que crear la base de datos y tal.

Si queremos limpiar un poco la basura que ha dejado por ahí make clean. Yo no lo hago por si las moscas… con la de curro que me ha dado el muy cabrón!

Lo dejo por hoy, ha sido una ardua batalla, pero la maquina ha vencido al humano…

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *

Aquest lloc utilitza Akismet per reduir els comentaris brossa. Apreneu com es processen les dades dels comentaris.