2016-09-21 3 views
0

У меня возникли проблемы с компиляцией Veracrypt на Эль КапитанеПроблемы компиляции Veracrypt на Mac OS X El Capitan 10.11.5

Это ошибка, я получаю:

../Crypto/Whirlpool.c:511:3: error: unknown token in expression 
       KSH(2, 3, 2, 1, 0, 7) 
       ^
../Crypto/Whirlpool.c:452:2: note: expanded from macro 'KSH' 
     KSH##op(b, [AS_REG_6+2*2048+8*WORD_REG(di)])\ 
     ^
<scratch space>:264:1: note: expanded from here 
KSH2 
^ 
../Crypto/Whirlpool.c:445:2: note: expanded from macro 'KSH2' 
     AS2(movq  [SSE2_workspace+8*a], mm##a) 
     ^
/Users/whatnots/Desktop/veracrypt/src/Crypto/cpu.h:149:23: note: expanded from macro 'AS2' 
    #define AS2(x, y) GNU_AS2(x, y) 
        ^
/Users/whatnots/Desktop/veracrypt/src/Crypto/cpu.h:144:27: note: expanded from macro 'GNU_AS2' 
    #define GNU_AS2(x, y) #x ", " #y ";" NEW_LINE 
         ^
<scratch space>:270:2: note: expanded from here 
"movq [%3+8*1]" 
^ 
<inline asm>:162:7: note: instantiated into assembly here 
movq [%r10+8*1], mm1; 
    ^
fatal error: too many errors emitted, stopping now [-ferror-limit=] 
20 errors generated. 

Вот мой НКУ информация:

Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/c++/4.2.1 
Apple LLVM version 7.3.0 (clang-703.0.31) 
Target: x86_64-apple-darwin15.5.0 
Thread model: posix 
InstalledDir: /Library/Developer/CommandLineTools/usr/bin 

Это компилирует штраф на Ubuntu 16.04. Не уверен, что мне нужно делать. Я установил все необходимое программное обеспечение, и я даже попробовал две более высокие версии gcc.

+0

Основываясь на том, где находится ^,% r10 является «неизвестным токеном»? Это только кажется возможным, если (каким-то образом) вы компилируете 32-битную версию. Или, может быть, карет находится в неправильном месте, и это мм1, который он не распознает? –

ответ

0

Встроенный код для ассемблера nasm неправильно развернут, см. Также этот issue in veracrypt repository. Преступники находятся в cpu.h (строки 259 до 263 в версии 1.19). Вы можете попробовать заменить их с

#define GNU_AS1(x) #x ";" 
#define GNU_AS2(x, y) #x ", " #y ";" 
#define GNU_AS3(x, y, z) #x ", " #y ", " #z ";" 
#define GNU_ASL(x) "\n\t#x:" 
#define GNU_ASJ(x, y, z) #x " " #y #z ";" 

, но это может быть, что в окончательном испытании для шифрования вы получите сообщение об ошибке для TestPkcs5.

Приложение 2017-06-08: последний git-клон veracrypt компилируется без проблем, встроенная сборка в функции хеширования вихря отключена.

Смежные вопросы