Инструменты и советы по сборке SWIG - PullRequest
2 голосов
/ 24 января 2011

Я пытаюсь собрать 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 уже включены предлагаемые изменения)

1 Ответ

2 голосов
/ 24 января 2011

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

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

...