Ошибка компилятора при попытке запустить пример кода FEniCS - PullRequest
4 голосов
/ 21 марта 2019

Я только что попытался установить FEniCS на Ubuntu 16.04, и когда я пытаюсь запустить первый пример кода, используя python3.5, я получаю следующие 2 ошибки:

 RuntimeError: Expecting a string or list of strings, not
 {'slepc_real', 'sz', 'mpi', 'mpi_cxx', 'hdf5', 'boost_timer', 'm',
 'boost_filesystem', 'z', 'dolfin', 'petsc_real', 'dl'}.

 RuntimeError: Unable to compile C++ code with dijitso

image of error attached

Кто-нибудь сталкивался с этим и сумел это исправить?

Ответы [ 2 ]

0 голосов
/ 18 апреля 2019

проблема, в данном случае, это старая версия pkgconfig.Пожалуйста, обновите его с помощью команды

$ pip3 install -U pkgconfig

Затем эта проблема должна исчезнуть даже без изменений в /usr/lib/python3/dist-packages/dolfin/jit/jit.py

0 голосов
/ 16 апреля 2019

Я столкнулся с той же проблемой только сейчас. Я запустил учебное пособие по отладчику python:

$ python3 -m pdb ft01_poisson.py

Я нашел проблему и исправил ее (хакерски), добавив явное приведение к списку с помощью оператора list (...) в трех строках / usr / lib / python3 / dist-packages / dolfin / jit / jit. ру

# Set compiler/build options 
params = dijitso.params.default_params() 
params['build']['include_dirs'] = list(dolfin_pc["include_dirs"]) 
params['build']['libs'] = list(dolfin_pc["libraries"]) 
params['build']['lib_dirs'] = list(dolfin_pc["library_dirs"])
...