2009-12-31 11 views
3

Je viens d'installer la dernière version de TPTP (4.6.1) et j'utilise la version Eclipse 20090621-0832 sous Windows 7 (Contrôle Utilisateur activé).
Je suis en train de profiler une application mais je reçois l'erreur suivante sous l'onglet Moniteur:Comment contourner le TPTP IWAT0435E dans Windows

IWAT0435E An error occurred when connecting to the host. 

Quelqu'un sait comment résoudre ce problème?

+0

Je viens de terminer ma réponse en tenant compte de Windows concernant ce message d'erreur. – VonC

Répondre

2

Pour Windows, cela peut être lié à une référence manquante à la Integrated Agent Controller (IAC)

Agent Controller intégré (IAC) est une nouvelle fonctionnalité dans l'établi TPTP qui permet aux utilisateurs de profil localement une application Java et d'exécuter un test TPTP localement sans nécessiter le contrôleur d'agent autonome sur la machine locale.
Le profilage sur une machine distante ou l'exécution d'un test TPTP sur une machine distante nécessite toujours le contrôleur d'agent sur cette machine distante.
Le plus grand avantage du contrôleur d'agent intégré est qu'il simplifie l'utilisation de la fonctionnalité TPTP dans le scénario local en supprimant la dépendance sur le contrôleur d'agent autonome local. Il n'est pas nécessaire d'installer et de configurer le contrôleur d'agent autonome local lorsque vous utilisez la perspective Profiling and Logging et la perspective Test en local.

Cependant, cet agent local pourrait ne pas être correctement référencé dans un des fichiers de configuration TPTP, que ce soit parce que:

  • est already referenced in the workspace (à tort)
    Voir workspace\.metadata\.plugins\org.eclipse.tptp.platform.iac.administrator\config\ serviceconfig.xml
  • ou parce que le IAC le service n'est pas démarré automatiquement:
    Vérifiez la connexion avec localhost (via Fenêtre-> Préférences-> Agent Controller-> hosts-> Test connection).
    Voir this thread (et son suivi) pour une configuration de travail.

This thread pourrait également être pertinent.


Pour ceux sur Linux:

Il peut être lié à gcc la version ou libstdc++xx-glibcy.y la version, comme mentionné dans bug 244213 ou bug 240677

Ce blog post concerne ce type de solution est possible dans son cas. Peut être que cela pourrait aider ici.


Extrait:

Une solution pour cela est décrit dans this blog post.

Il est assez simple: obtenir un fichier deblibstdc++2.10-glibc2.2_2.95.4-27_i386.deb et l'installer avec sudo dpkg ....

(mise à jour Dec.2010: gcc avant 3.x n'est plus disponible.
Vous pouvez essayer avec, par exemple, (gcc-3.3) libstdc++5_3.3.6-20_i386.deb, remplaçant toute référence à un .deb par celui-ci:

sudo dpkg --install libstdc++5_3.3.6-20_i386.deb 

Ou si vous exécutez sur 64 bits:

sudo dpkg --force-architecture --install libstdc++5_3.3.6-20_i386.deb 

Non testé cependant.)

Le problème est maintenant que la solution de contournement implique des actions root.
D'abord, on n'a pas toujours les permissions root requises pour le faire. Plus important encore, je n'aime pas installer des debs externes et d'autres choses en tant que root car cela peut interférer avec le système d'empaquetage, polluer les répertoires du système et casser des choses de façon laide, ou pire, irrécupérable.

installer toujours des trucs tiers (avec laquelle je veux dire des choses qui ne sont pas disponibles dans le système d'emballage standard) dans mon répertoire personnel sous ~/usr.
Par exemple, je construis un logiciel géré par autotools avec l'option --prefix=~/usr, donc les choses se terminent par ~/usr/bin, ~/usr/lib, ~/usr/share, etcetera.

J'ai réussi à installer le fichier deb décrit ci-dessus également dans ~/usr comme suit.
D'abord, j'extrait le fichier deb dans un répertoire temporaire pour avoir une idée de son contenu:

dpkg -x libstdc++2.10-glibc2.2_2.95.4-27_i386.deb tmp/ 

Cela a donné lieu à l'arborescence de fichier suivant:

tmp/ 
`-- usr 
    |-- lib 
    | |-- libstdc++-3-libc6.2-2-2.10.0.so 
    | `-- libstdc++-libc6.2-2.so.3 -> libstdc++-3-libc6.2-2-2.10.0.so 
    `-- share 
     `-- doc 
      `-- libstdc++2.10-glibc2.2 
       |-- README.Bugs.gz 
       |-- README.Debian 
       |-- changelog.Debian.gz 
       `-- copyright 

Je devais donc déplacer les bibliothèques partagées libstdc++*.so vers ~/usr/lib, ou bien, extraire le fichier deb e int directement mon répertoire:

dpkg -x libstdc++2.10-glibc2.2_2.95.4-27_i386.deb ~/ 

Un élément important manquant du puzzle est de faire en sorte que ces bibliothèques partagées se trouvent au moment de l'exécution (ou la compilation dans le cas où vous voulez compiler contre eux).
L'astuce consiste à définir les variables d'environnement LD_LIBRARY_PATH et LD_RUN_PATH, généralement dans vos ~/.bashrc ou ~/.profile scripts de démarrage:

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/usr/lib 
export LD_LIBRARY_PATH 
LD_RUN_PATH=$LD_RUN_PATH:~/usr/lib 
export LD_RUN_PATH 

Et profil Eclipse TPTP vécurent heureux pour toujours. J'espère.

+0

Cette solution est pour ceux qui s'exécutent sur Ubuntu, j'utilise Windows 7. Une solution là-bas? – Yon

+0

qu'en est-il de Ubuntu 64 bits? – cmcginty

+0

Le lien vers le fichier deb est cassé, donc je ne suis pas sûr de la pertinence de tout cela. – cmcginty

0

J'ai trouvé que IAC était désactivé par défaut. Essayer Windows/Préférences/Contrôleur d'agent/Contrôleur d'agent intégré/Activer le contrôleur d'agent intégré sur demande - activé