

Notas en el proceso de instalación y uso de Freeling 3.0 en OS X Mountain Lion. Un recuento de las experiencias por versión de la librería y del sistema operativo.
Índice
Este es un recuento de la instalación de la librería Freeling v3.0 en OS X v10.8. Las intrucciones seguidas fueron como se indica en el post de Eduard Barbu en el sitio de Freeling y en el post de Pablo Casado en el sitio hardlifeofapo.com. Al seguir la información presentada Ud. acepta las clausulas de responsabilidad del sitio.
Como se indica en los posts citados, se requiere contar con XCode (disponible en el sitio de Apple para desarrolladores y en el App Store de Apple) y MacPorts (en este sitio también hay una descripción de como ha sido el proceso de instalación de MacPorts, como una referencia adicional). Una vez instalados, puestos a punto y validados puede iniciarse el proceso de instalación de Freeling.
Lo que aquí se presenta parte de las instrucciones del post de Eduard Barbu en el sitio de Freeling. Así, se ha se procedido de la siguiente manera:
- Ya con MacPorts instalado, se deben agregar las siguientes herramientas:
automake,libtool,boost,subversion, que se consigue desde una sesión en un shell en la aplicación Terminal con los comandos que indica la página (en este caso se usó el shell Korn). Cabe mencionar que para este paso se empleó una cuenta con capacidad de administración, esto es, una cuenta con privilegios para hacersudo.
$ sudo port install automake
$ sudo port install libtool
$ sudo port install boost
$ sudo port install subversioncada instalación debe terminar con
---> Updating database of binaries: 100.0%
---> Scanning binaries for linking errors: 100.0%
---> No broken files found. - El siguiente paso consiste en descargar los fuentes de Freeling en un directorio creado ex profeso para el proceso de compilación. Para este paso se optó por hacerlo desde una cuenta sin privilegios de administración, para validar si habría alguna dependencia de privilegios del sistema operativo. Los comandos introducidos se muestran en negritas:
$ mkdir Freeling
$ cd F*
$ mkdir source
$ cd source
$ svn checkout http://devel.cpl.upc.edu/freeling/svn/trunk myfreeling
A myfreeling/APIs/java
...
A myfreeling/src/main/Makefile.am
A myfreeling/src/main/README
A myfreeling/THANKS
Checked out revision 2353.
$ cd my*
$ ls
AUTHORS LICENSES THANKS data msvc APIs INSTALL README configure.ac m4 COPYING Makefile.am TODO doc src ChangeLog NEWS autogen.sh freeling.pc.in $ 
- Lo siguiente fueron los preparativos de compilación (paso 5 de la página que se indicó al inicio nos estamos basando) pero la ejecución de
aclocalpresenta problemas:
$ aclocal
-ksh: aclocal: not found
$ PATH=$PATH:/opt/local/bin
$ aclocal
sh: autom4te: command not found
aclocal: error: echo failed with exit status: 127
Muchas referencias sobre este problema mencionan que se corrige con elementos de configuración y el paqueteautoconfy de aquí es que se llegó al post de Pablo Casado en el sitio hardlifeofapo.com, donde se menciona la instalación de este paquete como parte de los pasos iniciales de ambientación. Así entonces, desde la cuenta administradora:
$ sudo port install autoconf—> Cleaning autoconf
Password:
---> Computing dependencies for autoconf
---> Dependencies to be installed: m4
…
—> Updating database of binaries: 100.0%
—> Scanning binaries for linking errors: 100.0%
—> No broken files found.
$
Y con el paquete instalado se regresa a la cuenta donde se está llevando el proceso de compilación
$ aclocal
$ glibtoolize --force
glibtoolize: putting auxiliary files in `.'.
glibtoolize: linking file `./ltmain.sh'
...
glibtoolize: linking file `m4/lt~obsolete.m4'
$ autoconf
$ automake -a

- El paso para crear el enlace simbólico (symbolic link) que requiere
boostse debe hacer en la cuenta administradora, por privilegios:
$ cd /opt/local/include/boost
$ sudo ln -s property_map/property_map.hpp

- El último paso se llevó a cabo de la siguiente manera. En la cuenta no administradora, cuidando estar en el directorio
myfreelinggenerado tras la descarga (en este caso dentro deFreeling/source), se ejecutaron los dos siguientes comandos, presentándose un problema con uno de ellos.
$ env LDFLAGS="-L/opt/local/lib -L/opt/local/lib/db46" CPPFLAGS="-I/opt/local/include -I/opt/local/include/boost -I/opt/local/include/db46" ./configure
$ make
...
checking whether ln -s works... yes
checking whether make sets $(MAKE)... (cached) yesboost::locale (available in boost>=1.48) is required to run FreeLing
on MacOSX. Please run configure with option --enable-boost-locale



$
Como el mensaje señala, se ejecutóconfigurecon la opción indicada sin presentarse problemas y así seguir con elmake:$ env LDFLAGS="-L/opt/local/lib -L/opt/local/lib/db46" CPPFLAGS="-I/opt/local/include -I/opt/local/include/boost -I/opt/local/include/db46"./configure --enable-boost-locale
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... ./install-sh -c -d
...
checking for ANSI C header files... (cached) yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating data/Makefile
config.status: creating src/Makefile
config.status: creating src/include/Makefile
config.status: creating src/libfreeling/Makefile
config.status: creating src/main/Makefile
config.status: creating src/utilities/Makefile
config.status: creating src/tests/Makefile
config.status: creating freeling.pc
config.status: executing depfiles commands
config.status: executing libtool commands
$ make
Making all in src
Making all in include
make[2]: Nothing to be done for `all'.
Making all in libfreeling
...
(después de un rato)...
libtool: link: g++ -O3 -Wall -o .libs/dicc2phon corrector/dicc2phon-dicc2phon.o -Wl,-bind_at_load -L/opt/local/lib -L/opt/local/lib/db46 -L../../src/libfreeling /Users/lalo/Documents/tmp/Freeling/source/myfreeling/src/libfreeling/.libs/libfreeling.dylib -lboost_regex-mt -lboost_locale-mt -lboost_thread-mt -lboost_system-mt -lz
make[2]: Nothing to be done for `all-am'.
Making all in data
make[1]: Nothing to be done for `all'.
make[1]: Nothing to be done for `all-am'.
$
El último comando se llevó a cabo en la cuenta administradora, que por tratarse de la instalación de software, se optó hacerla conroot:$ sudo su
Password:
# make install
Making install in src
Making install in include
make[3]: Nothing to be done for `install-exec-am'.
../.././install-sh -c -d '/usr/local/include'
...
(después de varios minutos)...
- Creating ru dictionary...
Installing files for language 'sl'. Please wait.
make install-exec-hook
chmod -x //usr/local/bin/fl_initialize
./install-sh -c -d '/usr/local/lib/pkgconfig'
/usr/bin/install -c -m 644 freeling.pc '/usr/local/lib/pkgconfig'
#
El manual de Freeling no indica el procedimiento a seguir en la desinstalación de la librería. Por lo que se alcanza a ver, para remover los componentes de software bastaría con ejecutar los comando abajo indicados; sin embargo una palabra de precaución: en el caso de los directorios lib e include conviene hacer una revisión previa en caso de que éstos contuvieran elementos de alguna otra instalación. Si el contenido de estos directorios muestra que sólo elementos de Freeling están instalados en éstos, se puede proceder con los comandos señalados para eliminar el directorio completo. En caso de detectar elementos ajenos a Freeling deberán modificarse dichos comandos para que se borren sólo aquellos elementos de este software.
$ sudo rm -R /usr/local/bin/analyze \
/usr/local/bin/analyzer \
/usr/local/bin/analyzer_client \
/usr/local/bin/dicc2phon \
/usr/local/bin/fl_initialize \
/usr/local/bin/threaded_analyzer \
/usr/local/include \
/usr/local/lib \
/usr/local/share/freeling
Así como también eliminar el directorio en donde se descargó el software inicialmente.
|
© Todos los derechos reservados. Dr. Eduardo René Rodríguez Avila |
Creación: 2013.11.01 Última actualización: 2023.06.24 |
|||
| El contenido de este sitio puede ser copiado y reproducido libremente mientras no sea alterado y se cite su origen. Marcas y productos registrados son citados por referencia y sin fines de lucro o dolo. Todas las opiniones son a título personal del o los autores de éstas y, salvo sea expresado de otro modo, deben considerarse como registro y expresión de la experiencia de uso de aquello que es tratado. Para conocer más sobre la posición de privacidad y responsabilidad de lo que se presenta en este sitio web y como ha sido obtenido, consulte la declaración al respecto. | |||||


