2016-07-01 1 views
0

J'ai installé la dernière version du code PIN de here. Et j'ai modifié le fichier créé pour tracer les appels à gets() en utilisant une copie de malloctrace.cpp. Cependant, lors de la compilation, je reçois une erreur:Outil PIN inconnu Erreur ABI

In file included from ./include/pin/pin.H:41:0, from

tools/ManualExamples/inputtrace.cpp:32:

./include/pin/compiler_version_check2.H:83:3: error: #error "Unknown

target architecture" # error "Unknown target architecture" ^

./include/pin/compiler_version_check2.H:98:2: error: #error "internal

error pin compiler configuration not available " #error "internal

error pin compiler configuration not available " ^

./include/pin/compiler_version_check2.H:102:2: error: #error The C++

ABI of your compiler does not match the ABI of the pin kit. #error

The C++ ABI of your compiler does not match the ABI of the pin kit.

^ ./include/pin/compiler_version_check2.H:122:2: error: #error Kit has

unknown compiler ABI #error Kit has unknown compiler ABI ^In file

included from ./include/pin/level_base.PLH:66:0,

from ./include/pin/pin.H:43,

from tools/ManualExamples/inputtrace.cpp:32:

./include/pin/foundation.PLH:25:28: fatal error: types_marker.TLH: No

such file or directory #include "types_marker.TLH"

^

compilation terminated.

Je ne vous assurer que la version du code PIN j'ai installé était la dernière. Mais le problème persiste. Quelqu'un peut-il m'aider à cet égard?

Mise à jour: J'utilise une machine Linux x86-64 et le compilateur est une version gcc 4.8.4

+1

Pouvez-vous nous montrer vos modifications? – fuz

+0

Je ne pense pas que le problème réside dans le code. La ligne 32 mentionnée correspond à la ligne #include "pin.H". Quoi qu'il en soit, [ici] (http://pastebin.com/E7pT6mnZ) c'est –

+0

Jayakrishna Menon, quelle est votre cible? ('uname -a') Quel est votre OS cible et la version du CPU et du compilateur, est-ce x86/x86_64 ou non, gcc ou pas? – osgx

Répondre

0

Ajout cela comme une réponse depuis, je n'ai pas la réputation nécessaire pour faire un commentaire.

À moins que vous ne nous indiquiez les paramètres exacts que vous avez utilisés pour exécuter make, je crains qu'une réponse claire et directe à votre question ne soit pas possible.

Cela peut être un coup total dans l'obscurité. Mais, j'ai récemment rencontré un problème similaire, comme vous l'avez spécifié ci-dessus. J'utilise un système Linux x86_64 et j'essayais de compiler mon PinTool pour l'architecture ia-32.

Si vous ne disposez pas de 32 bits des bibliothèques partagées dans votre système, ou si vous obtenez le paramètre TARGET dans make mal, il en résulterait

Unknown target architecture 

Pour moi exécutant la commande ci-dessous, fait construire avec succès. Utilisez ce qui suit pour construire l'architecture ia32.

make TARGET=ia32