Erreur de compilateur g ++ 4.6.1: Erreur: pseudo-op inconnu: `.cfi_personality ‘

J’ai un fichier qui comstack sans erreurs ni avertissements sur mon macbook pro utilisant osx (snow leopard) en utilisant g ++ (4.6.1). Je viens de le télécharger sur notre cluster Linux (non géré par moi) et j’ai essayé de le comstackr (également en utilisant gcc 4.6.1). Cette fois j’ai beaucoup de messages d’erreur étranges avec l’assembleur. Comment interpréter l’erreur suivante?

g++ -I../shared/boost_1_47_0 -std=c++0x -O2 -c ../shared/ft.cpp -o ../shared/ft.o /tmp/ccEqihNa.s: Assembler messages: /tmp/ccEqihNa.s:809: Error: unknown pseudo-op: `.cfi_personality' /tmp/ccEqihNa.s:810: Error: unknown pseudo-op: `.cfi_lsda' /tmp/ccEqihNa.s:1055: Error: unknown pseudo-op: `.cfi_personality' /tmp/ccEqihNa.s:1056: Error: unknown pseudo-op: `.cfi_lsda' :145: Error: unknown pseudo-op: `.cfi_personality' :146: Error: unknown pseudo-op: `.cfi_lsda' :248: Error: unknown pseudo-op: `.cfi_personality' :249: Error: unknown pseudo-op: `.cfi_lsda' :351: Error: unknown pseudo-op: `.cfi_personality' :352: Error: unknown pseudo-op: `.cfi_lsda' :496: Error: unknown pseudo-op: `.cfi_personality' :497: Error: unknown pseudo-op: `.cfi_lsda' :988: Error: unknown pseudo-op: `.cfi_personality' :989: Error: unknown pseudo-op: `.cfi_lsda' :1488: Error: unknown pseudo-op: `.cfi_personality' :1489: Error: unknown pseudo-op: `.cfi_lsda' :2333: Error: unknown pseudo-op: `.cfi_personality' :2334: Error: unknown pseudo-op: `.cfi_lsda' :2460: Error: unknown pseudo-op: `.cfi_personality' :2461: Error: unknown pseudo-op: `.cfi_lsda' :2899: Error: unknown pseudo-op: `.cfi_personality' :2900: Error: unknown pseudo-op: `.cfi_lsda' :3053: Error: unknown pseudo-op: `.cfi_personality' :3054: Error: unknown pseudo-op: `.cfi_lsda' :3144: Error: unknown pseudo-op: `.cfi_personality' :3145: Error: unknown pseudo-op: `.cfi_lsda' :3205: Error: unknown pseudo-op: `.cfi_personality' :3206: Error: unknown pseudo-op: `.cfi_lsda' :3296: Error: unknown pseudo-op: `.cfi_personality' :3297: Error: unknown pseudo-op: `.cfi_lsda' :4090: Error: unknown pseudo-op: `.cfi_personality' :4091: Error: unknown pseudo-op: `.cfi_lsda' :4921: Error: unknown pseudo-op: `.cfi_personality' :4922: Error: unknown pseudo-op: `.cfi_lsda' :5094: Error: unknown pseudo-op: `.cfi_personality' :5095: Error: unknown pseudo-op: `.cfi_lsda' :5274: Error: unknown pseudo-op: `.cfi_personality' :5275: Error: unknown pseudo-op: `.cfi_lsda' :5365: Error: unknown pseudo-op: `.cfi_personality' :5366: Error: unknown pseudo-op: `.cfi_lsda' :5426: Error: unknown pseudo-op: `.cfi_personality' :5427: Error: unknown pseudo-op: `.cfi_lsda' :5525: Error: unknown pseudo-op: `.cfi_personality' :5526: Error: unknown pseudo-op: `.cfi_lsda' :5744: Error: unknown pseudo-op: `.cfi_personality' :5745: Error: unknown pseudo-op: `.cfi_lsda' :5919: Error: unknown pseudo-op: `.cfi_personality' :5920: Error: unknown pseudo-op: `.cfi_lsda' :6097: Error: unknown pseudo-op: `.cfi_personality' :6098: Error: unknown pseudo-op: `.cfi_lsda' :6209: Error: unknown pseudo-op: `.cfi_personality' :6210: Error: unknown pseudo-op: `.cfi_lsda' :6305: Error: unknown pseudo-op: `.cfi_personality' :6306: Error: unknown pseudo-op: `.cfi_lsda' :6735: Error: unknown pseudo-op: `.cfi_personality' :6736: Error: unknown pseudo-op: `.cfi_lsda' :7082: Error: unknown pseudo-op: `.cfi_personality' :7083: Error: unknown pseudo-op: `.cfi_lsda' :7355: Error: unknown pseudo-op: `.cfi_personality' :7356: Error: unknown pseudo-op: `.cfi_lsda' :7663: Error: unknown pseudo-op: `.cfi_personality' :7664: Error: unknown pseudo-op: `.cfi_lsda' :8139: Error: unknown pseudo-op: `.cfi_personality' :8140: Error: unknown pseudo-op: `.cfi_lsda' :8605: Error: unknown pseudo-op: `.cfi_personality' :8606: Error: unknown pseudo-op: `.cfi_lsda' :8894: Error: unknown pseudo-op: `.cfi_personality' :8895: Error: unknown pseudo-op: `.cfi_lsda' :9224: Error: unknown pseudo-op: `.cfi_personality' :9225: Error: unknown pseudo-op: `.cfi_lsda' :9531: Error: unknown pseudo-op: `.cfi_personality' :9532: Error: unknown pseudo-op: `.cfi_lsda' :9868: Error: unknown pseudo-op: `.cfi_personality' :9869: Error: unknown pseudo-op: `.cfi_lsda' :10313: Error: unknown pseudo-op: `.cfi_personality' :10314: Error: unknown pseudo-op: `.cfi_lsda' :10533: Error: unknown pseudo-op: `.cfi_personality' :10534: Error: unknown pseudo-op: `.cfi_lsda' :11052: Error: unknown pseudo-op: `.cfi_personality' :11053: Error: unknown pseudo-op: `.cfi_lsda' :11324: Error: unknown pseudo-op: `.cfi_personality' :11325: Error: unknown pseudo-op: `.cfi_lsda' :13561: Error: unknown pseudo-op: `.cfi_personality' :13562: Error: unknown pseudo-op: `.cfi_lsda' :13941: Error: unknown pseudo-op: `.cfi_personality' :13942: Error: unknown pseudo-op: `.cfi_lsda' :14340: Error: unknown pseudo-op: `.cfi_personality' :14341: Error: unknown pseudo-op: `.cfi_lsda' :14711: Error: unknown pseudo-op: `.cfi_personality' :14712: Error: unknown pseudo-op: `.cfi_lsda' :14862: Error: unknown pseudo-op: `.cfi_personality' :14863: Error: unknown pseudo-op: `.cfi_lsda' :14963: Error: unknown pseudo-op: `.cfi_personality' :14964: Error: unknown pseudo-op: `.cfi_lsda' :15381: Error: unknown pseudo-op: `.cfi_personality' :15382: Error: unknown pseudo-op: `.cfi_lsda' :15792: Error: unknown pseudo-op: `.cfi_personality' :15793: Error: unknown pseudo-op: `.cfi_lsda' :16293: Error: unknown pseudo-op: `.cfi_personality' :16294: Error: unknown pseudo-op: `.cfi_lsda' :16445: Error: unknown pseudo-op: `.cfi_personality' :16446: Error: unknown pseudo-op: `.cfi_lsda' :17045: Error: unknown pseudo-op: `.cfi_personality' :17046: Error: unknown pseudo-op: `.cfi_lsda' :18020: Error: unknown pseudo-op: `.cfi_personality' :18021: Error: unknown pseudo-op: `.cfi_lsda' :18111: Error: unknown pseudo-op: `.cfi_personality' :18112: Error: unknown pseudo-op: `.cfi_lsda' :18172: Error: unknown pseudo-op: `.cfi_personality' :18173: Error: unknown pseudo-op: `.cfi_lsda' :139: Error: unknown pseudo-op: `.cfi_personality' :140: Error: unknown pseudo-op: `.cfi_lsda' :554: Error: unknown pseudo-op: `.cfi_personality' :555: Error: unknown pseudo-op: `.cfi_lsda' :654: Error: unknown pseudo-op: `.cfi_personality' :655: Error: unknown pseudo-op: `.cfi_lsda' :1344: Error: unknown pseudo-op: `.cfi_personality' :1345: Error: unknown pseudo-op: `.cfi_lsda' :1831: Error: unknown pseudo-op: `.cfi_personality' :1832: Error: unknown pseudo-op: `.cfi_lsda' :2522: Error: unknown pseudo-op: `.cfi_personality' :2523: Error: unknown pseudo-op: `.cfi_lsda' :3061: Error: unknown pseudo-op: `.cfi_personality' :3062: Error: unknown pseudo-op: `.cfi_lsda' :3284: Error: unknown pseudo-op: `.cfi_personality' :3285: Error: unknown pseudo-op: `.cfi_lsda' :3515: Error: unknown pseudo-op: `.cfi_personality' :3516: Error: unknown pseudo-op: `.cfi_lsda' :3745: Error: unknown pseudo-op: `.cfi_personality' :3746: Error: unknown pseudo-op: `.cfi_lsda' :3996: Error: unknown pseudo-op: `.cfi_personality' :3997: Error: unknown pseudo-op: `.cfi_lsda' :4518: Error: unknown pseudo-op: `.cfi_personality' :4519: Error: unknown pseudo-op: `.cfi_lsda' :5489: Error: unknown pseudo-op: `.cfi_personality' :5490: Error: unknown pseudo-op: `.cfi_lsda' :6382: Error: unknown pseudo-op: `.cfi_personality' :6383: Error: unknown pseudo-op: `.cfi_lsda' :6547: Error: unknown pseudo-op: `.cfi_personality' :6548: Error: unknown pseudo-op: `.cfi_lsda' :6651: Error: unknown pseudo-op: `.cfi_personality' :6652: Error: unknown pseudo-op: `.cfi_lsda' :6712: Error: unknown pseudo-op: `.cfi_personality' :6713: Error: unknown pseudo-op: `.cfi_lsda' :7146: Error: unknown pseudo-op: `.cfi_personality' :7147: Error: unknown pseudo-op: `.cfi_lsda' :7367: Error: unknown pseudo-op: `.cfi_personality' :7368: Error: unknown pseudo-op: `.cfi_lsda' :7597: Error: unknown pseudo-op: `.cfi_personality' :7598: Error: unknown pseudo-op: `.cfi_lsda' :9275: Error: unknown pseudo-op: `.cfi_personality' :9276: Error: unknown pseudo-op: `.cfi_lsda' :9562: Error: unknown pseudo-op: `.cfi_personality' :9563: Error: unknown pseudo-op: `.cfi_lsda' :10065: Error: unknown pseudo-op: `.cfi_personality' :10066: Error: unknown pseudo-op: `.cfi_lsda' :10326: Error: unknown pseudo-op: `.cfi_personality' :10327: Error: unknown pseudo-op: `.cfi_lsda' :10534: Error: unknown pseudo-op: `.cfi_personality' :10535: Error: unknown pseudo-op: `.cfi_lsda' :11978: Error: unknown pseudo-op: `.cfi_personality' :11979: Error: unknown pseudo-op: `.cfi_lsda' :12091: Error: unknown pseudo-op: `.cfi_personality' :12092: Error: unknown pseudo-op: `.cfi_lsda' :12936: Error: unknown pseudo-op: `.cfi_personality' :12937: Error: unknown pseudo-op: `.cfi_lsda' :14294: Error: unknown pseudo-op: `.cfi_personality' :14295: Error: unknown pseudo-op: `.cfi_lsda' :16088: Error: unknown pseudo-op: `.cfi_personality' :16089: Error: unknown pseudo-op: `.cfi_lsda' 

L’erreur signifie que votre assembleur (probablement /usr/bin/as , une partie de binutils) est trop ancien.

Le patch qui les a ajoutés semble être celui-ci . Malheureusement, le fichier binutils NEWS ne fait pas explicitement référence à cet ajout, mais depuis son ajout en 2006, je pense que toutes les versions récentes de binutils le feraient.

J’ai eu cette erreur pop up en raison de gcc et g ++ pointant vers des versions différentes. Pour ceux qui rencontrent cette erreur et ont récemment mis à jour gcc / g ++, vérifiez ceci:

 gcc --version 

correspond à ceci:

 g++ --version 

Sinon, vous devrez examiner les liens via

 ls `which g++` -al 

et

 ls `which gcc` -al 

Très utile cette question. J’ai rencontré ce message d’assemblage compilant une application volumineuse, en utilisant gcc 4.4.7 sur CentOS 6.6 (Final). L’environnement exact (ou alors je pensais) fonctionnait sur une autre boîte. L’erreur était: “pseudo-op inconnu:` .p2align $ 3 ‘”. J’ai vérifié les versions de / usr / bin / gcc et / usr / bin / g ++ et / usr / bin / as et toutes semblaient isomésortingques entre les boîtes. Mais après une inspection plus attentive, la boîte gcc sur succès était “4.4.7-18.el6.i686”, et sur la plate-forme défaillante: “4.4.7-11.el6.i686”. Il semblait peu probable qu’une si petite différence de version puisse avoir de l’importance, mais c’était le cas. Étant donné que les deux boîtes étaient CentOS, je pouvais simplement “mettre à jour gcc-4.7.7” sur la boîte avec l’erreur, et cela a amené 22 Mo de 9 fichiers différents, car il mettait à jour gcc et toutes ses bibliothèques dépendantes. (Je ne voulais pas mettre à jour complètement gcc, car l’idée était d’assurer l’alignement exact entre les plates-formes d’abord. La mise à jour de yum… a apporté toutes les versions 4.4.7-18, comme il est censé le faire. ) Je devais simplement relancer “make”, et il a décollé de l’endroit où la panne s’était produite et la compilation s’est terminée avec succès.