April 4th, 2015

Сборка Alglib (cpython) для Python под Mac

Математический пакет Alglib можно использовать и программируя на Питоне.
Для этого нужно скомпилировать библиотеку в вашей ОС.

http://www.alglib.net/download.php скачиваем файл: alglib-3.9.0.cpython.gpl.zip

Сборочные скрипты под Mac OS работают не сразу :(. Вылезает ошибка:
userpc:core user$ ./aenv gcc --compiler
error: unable to open output file '__tmp/aconf-830f75.o': 'Error opening output
file '__tmp/aconf-830f75.o': No such file or directory'


Есть даже соответствующий баг на сайте alglib.

Вносим изменения в файл aenv:

Вот патч (лежит на pastebin.com) . Выполняем в директории cpython/core где лежит aenv
patch < alglib_cpython_aenv_file_patch_for_macos.txt  (применяем patch)
chmod -R 777 aenv (разрешаем выполнение файла)


После чего начинает работать скрипт. Запускаем:
./build-unix

Вывод:
Detecting compiler properties
Compiler is 'gcc'
Parameters are ' '
stdint.h is found
Compiling...


Получаем файл: alglib.so

Далее можно выполнить тестирование. Выполняем заработавший скрипт:
./check-unix

Должны скомпилироваться тесты и запуститься тестирование:
Detecting compiler properties
Compiler is 'gcc'
Parameters are ' '
stdint.h is found
Compiling...
Testing...
COMPILER: GCC
HARDWARE: 64-bit
HARDWARE: little-endian
CPU: unknown
CORES: 1 (serial version)
LIBS:
CPUID:
OS: unknown
TESTING MODE: single core
hqrnd OK
.... и еще куча тестов


Если в системе нет gcc, то нужно поставить XCode.

Ключевые слова:
alglib cpython macos OS X build-unix error