Невозможно настроить QuantLib для Swig Python

0

Я успешно установил QuabtLib для моего окна и хотел его портировать в Linux Ubuntu. Установка Boost была успешной, и я смог запустить. /configure из каталога swig. Однако, когда я запускаю файл make, система зависает в следующем пункте:

QuantLib/quantlib_wrap.cpp: In function ‘void* _p_TestSurfacePtrTo_p_boost__shared_ptrT_Surface_t(void*, int*):
QuantLib/quantlib_wrap.cpp:253496:41: warning: ‘Surface is deprecated (declared at /usr/include/ql/math/surface.hpp:47) [-Wdeprecated-declarations]
     return (void *)((boost::shared_ptr< Surface > *)  ((TestSurfacePtr *) x));

Было бы здорово, если бы кто-нибудь знал об этом. Информация о среде: Boost 1.56 QuantLib 1.4 QuantLibSwig 1.4 Python2.7.6 Ubuntu 14 Спасибо,

  • 0
    Предупреждение - это просто предупреждение, и оно ожидалось (SWIG оборачивает устаревший класс). Система зависает или просто начинает меняться? Обертки огромны, и их компиляция может занимать всю вашу оперативную память. Если это так, попробуйте передать CXXFLAGS = -O0 в Makefile, чтобы отключить оптимизацию и уменьшить требования к памяти.
  • 0
    Благодаря Луиджи, увеличение оперативной памяти на виртуальной машине работало, чтобы она была памятью - помощь очень ценится. Вы хотите добавить вышеизложенное в качестве ответа, чтобы другие могли ссылаться на него в будущем?
Показать ещё 1 комментарий
Теги:
boost
quantlib-swig

1 ответ

1
Лучший ответ

Здесь мой комментарий выше, размещен как ответ для дальнейшего использования.

Ожидается предупреждение. Класс Surface был отмечен как устаревший в QuantLib 1.4, мы все равно его обертываем, и компилятор предупреждает нас об этом.

Замораживание, вероятно, вызвано (определенно было вызвано, в случае оригинального плаката) исчерпанием доступной памяти. Обертки огромны, весит около 10 Мбайт, и для их компиляции требуется немало ресурсов. Если вы используете виртуальную машину, попробуйте добавить больше памяти. Если вы используете физическую машину, и вы не можете, попробуйте отключить оптимизацию, чтобы сделать процесс компиляции менее требовательным. Вы можете сделать это, передав CXXFLAGS=-O0 либо ./configure или make.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню