lunes, 3 de agosto de 2009

How to install TPTP 4.6 for Eclipse 3.5 (Galileo) in OpenSuse 11.1

Escrito por byoms23; lunes, 3 de agosto de 2,009.

Ok, mi primer HOW TO y espero que sea de mucha utilidad para todas las personas que intenten instalar el TPTP - en particular la versión 4.6 (que es la más reciente a la fecha) - en el IDE Eclipse.

Aparentemente debería ser bastante fácil instalarlo desde el 'Install New Software' de Eclipse, pero hay que hacer algunas configuraciones extras que requieren cierto conocimiento sobre la plataforma en que se instala.

Para comenzar lo ideal es instalar el TPTP all-in-one packge para Linux, cuya instalación está muy bien documentada en http://www.eclipse.org/tptp/home/downloads/installguide/InstallGuide44.html - aunque no es de la versión actual funciona perfectamente debido a su sencillez de instalación. OK, hasta este momento no parece ser la gran cosa instalar este Software - pues bien, aquí viene lo complicado.

Para que nuestro TPTP funcione correctamente tenemos que activar Agent Controller, el cual requiere que tengamos la biblioteca libstdc++-libc6.2-2.so.3 la cual no se encuentra instala en nuestro sistema de forma predeterminada. Para obtenerla tenemos que ir a YAST/Software/'Instalar/Desinstalar Software' y en buscador de buscamos el paquete 'compat'.

Ok, después de esto no deberíamos tener muchos problemas. Al instalar el TPTP all-in-one packge ya viene integrado el plugin para el Agent Controller, el cual puede ser localizado en:
/plugins/org.eclipse.tptp.platform.ac.linux_ia32_4.4.200.v200906121434/agent_controller - la cual, a partir de ahora en adelante, será referida como . A continuación realizamos lol siguientes pasos:
  1. En la carpeta /bin cambiamos los permisos a todos los archivos para que sean ejecutables (mediante el comando chmod +x * podemos ahorrarnos algo de tiempo, ahora si se quiere hacer del modo gráfico se seleccionan todos los archivos al cambiar el valor del CheckBox a True en Click derecho/Propiedades/Permisos/Es ejecutable).
  2. Luego corremos el programa de configuración mediante consola (mediante el comando ./SetConfig.sh dentro de la carpeta /bin) y lo configuramos según nuestros requerimientos.
  3. [Opcional] En cada uno de los directorios /agents/org.eclipse.tptp.FileTransferAgent; /agents/org.eclipse.tptp.legacy.DumpAgent; /agents/org.eclipse.tptp.StressAgent; y, /agents/org.eclipse.tptp.TimeCollector tienen que cambiar en el archivo agent.xml la propiedad (o parecido, según he visto algunas veces no tiene el '.exe' al final de la propiedad) a lo siguiente . Además en el archivo /agents/org.eclipse.tptp.JavaTimeCollector/agent.xml se debería cambiar la propiedad al formato siguiente">.
Ok, basta de estas configuraciones; ahora el siguiente paso para no tener problemas en el futuro al correr el Agent Controller es modificar el archivo /etc/bash.bashrc. Al final del archivo es necesario que agreguemos las siguientes lineas:

export TPTP_AC_HOME=
export JAVA_PROFILER_HOME=${TPTP_AC_HOME}/plugins/org.eclipse.tptp.javaprofiler
export LD_LIBRARY_PATH=${JAVA_PROFILER_HOME}:${TPTP_AC_HOME}/lib
PATH=”${PATH}”:${TPTP_AC_HOME}/bin
export TEMP=/tmp
Opcionalmente pueden agregar la instrucción ACStart.sh para que se ejecute el agente cada vez que iniciemos sesión en la computadora - puede ser conveniente según la cantidad de veces que se utilice este (en mi caso decidí no agregarla). Luego tiene que reiniciar la computadora para que estos cambios tengan efecto.

Algunas ocasiones el Agent Controller crea archivos en el directorio /tmp/IBMRAC/ que impiden el arranque de este, por lo que si en alguna ocación no quiere iniciar es conveniente vaciar todo el contenido de este directorio.

Pues bien ya casi hemos terminado solo hace falta modificar todos los archivos que se encuentran en la carpeta /lib, los cuales en muchas ocasiones no hace las referencias como deberian ser y por ello nos dan errores de tipo 'file too short' o por el estilo. Para esta versión en concreto tuve que hacer los siguientes comandos - basado en algunos tutoriales que encontre (ver Referencias). Aquí estan los camandos que deben ejecutar para crear los enlaces correctamente y borrar los anteriores (recordar que los hice para la versión 4.6 del TPTP):

rm libbaseTransport.so
ln -s libbaseTransport.so.4 libbaseTransport.so
rm libbaseTransport.so.4
ln -s libbaseTransport.so.4.5.0 libbaseTransport.so.4
rm libcompSupp.so
ln -s libcompSupp.so.4 libcompSupp.so
rm libcompSupp.so.4
ln -s libcompSupp.so.4.5.0 libcompSupp.so.4
rm libhcbnd.so
ln -s libhcbnd.so.4 libhcbnd.so
rm libhcbnd.so.4
ln -s libhcbnd.so.4.5.0 libhcbnd.so.4
rm libhcclco.so
ln -s libhcclco.so.4 libhcclco.so
rm libhcclco.so.4
ln -s libhcclco.so.4.5.0 libhcclco.so.4
rm libhccldt.so
ln -s libhccldt.so.4 libhccldt.so
rm libhccldt.so.4
ln -s libhccldt.so.4.5.0 libhccldt.so.4
rm libhcclsm.so
ln -s libhcclsm.so.4 libhcclsm.so
rm libhcclsm.so.4
ln -s libhcclsm.so.4.5.0 libhcclsm.so.4
rm libhccls.so
ln -s libhccls.so.4 libhccls.so
rm libhccls.so.4
ln -s libhccls.so.4.5.0 libhccls.so.4
rm libhcjbnd.so
ln -s libhcjbnd.so.4 libhcjbnd.so
rm libhcjbnd.so.4
ln -s libhcjbnd.so.4.5.0 libhcjbnd.so.4
rm libhclaunch.so
ln -s libhclaunch.so.4 libhclaunch.so
rm libhclaunch.so.4
ln -s libhclaunch.so.4.5.0 libhclaunch.so.4
rm libhcthread.so
ln -s libhcthread.so.4 libhcthread.so
rm libhcthread.so.4
ln -s libhcthread.so.4.5.0 libhcthread.so.4
rm libjavaBaseAgent.so
ln -s libjavaBaseAgent.so.4 libjavaBaseAgent.so
rm libjavaBaseAgent.so.4
ln -s libjavaBaseAgent.so.4.5.0 libjavaBaseAgent.so.4
rm libnamedPipeTL.so
ln -s libnamedPipeTL.so.4 libnamedPipeTL.so
rm libnamedPipeTL.so.4
ln -s libnamedPipeTL.so.4.5.0 libnamedPipeTL.so.4
rm libpiAgent.so
ln -s libpiAgent.so.4 libpiAgent.so
rm libpiAgent.so.4
ln -s libpiAgent.so.4.5.0 libpiAgent.so.4
rm libprocessControlUtil.so
ln -s libprocessControlUtil.so.4 libprocessControlUtil.so
rm libprocessControlUtil.so.4
ln -s libprocessControlUtil.so.4.5.0 libprocessControlUtil.so.4
rm libsharedMemTL.so
ln -s libsharedMemTL.so.4 libsharedMemTL.so
rm libsharedMemTL.so.4
ln -s libsharedMemTL.so.4.5.0 libsharedMemTL.so.4
rm libsocketTL.so
ln -s libsocketTL.so.4 libsocketTL.so
rm libsocketTL.so.4
ln -s libsocketTL.so.4.5.0 libsocketTL.so.4
rm libtptpACTL.so
ln -s libtptpACTL.so.4 libtptpACTL.so
rm libtptpACTL.so.4
ln -s libtptpACTL.so.4.5.0 libtptpACTL.so.4
rm libtptpAgentBase.so
ln -s libtptpAgentBase.so.4 libtptpAgentBase.so
rm libtptpAgentBase.so.4
ln -s libtptpAgentBase.so.4.5.0 libtptpAgentBase.so.4
rm libtptpCCTL.so
ln -s libtptpCCTL.so.4 libtptpCCTL.so
rm libtptpCCTL.so.4
ln -s libtptpCCTL.so.4.5.0 libtptpCCTL.so.4
rm libtptpClient.so
ln -s libtptpClient.so.4 libtptpClient.so
rm libtptpClient.so.4
ln -s libtptpClient.so.4.5.0 libtptpClient.so.4
rm libtptpCmdExtr.so
ln -s libtptpCmdExtr.so.4 libtptpCmdExtr.so
rm libtptpCmdExtr.so.4
ln -s libtptpCmdExtr.so.4.5.0 libtptpCmdExtr.so.4
rm libtptpConfig.so
ln -s libtptpConfig.so.4 libtptpConfig.so
rm libtptpConfig.so.4
ln -s libtptpConfig.so.4.5.0 libtptpConfig.so.4
rm libtptpJava.so
ln -s libtptpJava.so.4 libtptpJava.so
rm libtptpJava.so.4
ln -s libtptpJava.so.4.5.0 libtptpJava.so.4
rm libTptpJSSE.so
ln -s libTptpJSSE.so.4 libTptpJSSE.so
rm libTptpJSSE.so.4
ln -s libTptpJSSE.so.4.5.0 libTptpJSSE.so.4
rm libtptpLogUtils.so
ln -s libtptpLogUtils.so.4 libtptpLogUtils.so
rm libtptpLogUtils.so.4
ln -s libtptpLogUtils.so.4.5.0 libtptpLogUtils.so.4
rm libtptpUtils.so
ln -s libtptpUtils.so.4 libtptpUtils.so
rm libtptpUtils.so.4
ln -s libtptpUtils.so.4.5.0 libtptpUtils.so.4
rm libtransportSupport.so
ln -s libtransportSupport.so.4 libtransportSupport.so
rm libtransportSupport.so.4
ln -s libtransportSupport.so.4.5.0 libtransportSupport.so.4

Opcionalmente, si aún les da problemas con estas bibliotecas pueden ejecutar el comando chmod +x * para cambiar los permisos de estos archivos (si aún no están bien configurados para que sean ejecutables).

Por último, y ahora si lo último, lo que tenemos que hacer es correr el comando ACStart.sh y ver el mensaje de ejecución satisfactoria del servidor. Ahora si ya podemos abrir Eclipse para hacer los Prifiles de nuestros programas. Aquí un video donde demuestro el funcionamiento básico de este Profiler:


Referencias

TPTP and Ubuntu
TPTP Agent Controller on Arch Linux
Eclipse TPTP Profiler and Ubuntu Linux - Problems and Solutions
Fixing Java Profiling in Eclipse (TPTP) on Linux (opensuse)

2 comentarios:

  1. Interesante!!, =( pero no puede instalarlo.....djfkjdkfakdfk, que bueno tenerte de vuelta!, cuando me vas a dar permisos de administrador en el blog!????

    ResponderEliminar
  2. ya te dije: cuando escribas como la gente, jajaja - gracias, voy a tratar de ser más constante - pero mira mis post ni en el blog principal salen...

    ResponderEliminar