Инструменты/советы по отладке сборки SWIG

Я пытаюсь собрать M2Crypto 0.21.1 с OpenSSL 1.0.0c (или 0.9.7m) для Python 2.5.4 в Windows, но SWIG сговаривается против меня. Я пробовал как SWIG 2.0.1, так и SWIG 1.3.40, и получаю ту же ошибку:

swigging SWIG/_m2crypto.i to SWIG/_m2crypto_wrap.c
C:\Development\swigwin-1.3.40\swig.exe -python -IC:\Development\Python-2.5.4\include -IC:\Development\Python-2.5.4\PC -Ic:\Development\openssl-0.9.7m\include -includeall -o SWIG/_m2crypto_wrap.c SWIG/_m2crypto.i
c:\Development\openssl-0.9.7m\include\openssl\opensslv.h(1): Error: Syntax error in input(1).

Все перестановки OpenSSL/SWIG показывают эту ошибку. Я пытался вызвать swig вручную и передать все «дополнительные подробные» параметры, которые я мог, но ни один из них даже близко не информативен. Что еще я могу сделать, чтобы попытаться найти истинный источник этой проблемы?

(На этом сайте есть предложения по редактированию файла .i для M2Crypto, но в 0.21.1 уже интегрированы предлагаемые изменения)


person Nick Bastin    schedule 24.01.2011    source источник


Ответы (1)


На самом деле проблема здесь не в SWIG, но я оставлю этот вопрос/ответ для следующего пользователя M2Crypto, который появится - возможно, это им поможет.

Проблема в том, что M2Crypto setup.py по умолчанию указывает на <your openssl dir>/include, но если этот каталог openssl является исходным деревом, include/ не является подходящим местом для поиска (по крайней мере, в Windows) - вам нужно искать в inc32/, иначе opensslv.h — это просто строка, указывающая на другой файл, поэтому SWIG вылетает на первой строке.

person Nick Bastin    schedule 24.01.2011