Подтвердить что ты не робот

G++ 4.6.1 ошибка компилятора: Ошибка: неизвестный псевдооператор: `.cfi_personality '

У меня есть файл, который компилируется без ошибок или предупреждений на моем macbook pro, который запускает osx (snow leopard), используя g++ (4.6.1). Я просто загрузил его в наш linux-кластер (не запустил меня) и попытался скомпилировать его (также используя gcc 4.6.1). На этот раз я много странных сообщений об ошибках с ассемблером. Как интерпретировать следующую ошибку?

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'
4b9b3361

Ответ 1

Ошибка означает, что ваш ассемблер (вероятно, /usr/bin/as, часть binutils) слишком стар.

Патч, который добавил их, выглядит этот. К сожалению, файл binutils NEWS явно не ссылается на это добавление, но поскольку он был добавлен в 2006 году, я ожидаю, что любая последняя версия binutils сделает.

Ответ 2

У меня возникла эта ошибка из-за gcc и g++, указывающих на разные версии. Для тех, кто сталкивается с этой ошибкой и недавно обновил gcc/g++, проверьте это:

gcc --version

соответствует этому:

g++ --version

Если нет, вам придется просмотреть ссылки через

ls `which g++` -al

и

ls `which gcc` -al

Ответ 3

Очень полезно этот вопрос. Я столкнулся с этим сообщением ассемблера, компилирующим большое приложение, используя gcc 4.4.7 на CentOS 6.6 (Final). Точная (или так я думала) среда работала на другом ящике. Ошибка: "неизвестный псевдооператор:.p2align $3". Я проверил версии /usr/bin/gcc и/usr/bin/g++ и /usr/bin/as, и все они казались изометрическими между ящиками. Но при более тщательном осмотре gcc на успешной коробке был "4.4.7-18.el6.i686", а на неудачной платформе: "4.4.7-11.el6.i686". Казалось маловероятным, что такая небольшая разница в версии может иметь значение, но это было так. Поскольку оба блока были CentOS, я смог просто "yum update gcc-4.7.7" на коробке с ошибкой, и это привело к 22 МБ из 9 разных файлов, поскольку оно обновило gcc и все его зависимые библиотеки. (Я не хотел полностью обновлять gcc, так как идея заключалась в том, чтобы обеспечить точное выравнивание между платформами в первую очередь. "Обновление yum..." принесло все версии 4.4.7-18, как и предполагалось. ) Мне нужно было просто повторно запустить "make", и он взлетел с того места, где произошел сбой, и компиляция завершилась успешно.