У меня проблема с компиляцией через f2py. У меня есть модуль f90 с несколькими подпрограммами. До этого момента он отлично компилировался для использования в скрипте Python. Однако теперь, когда я пытаюсь его скомпилировать и собрать, он жалуется на эту ошибку:
build/src.macosx-10.5-x86_64-2.7/PyCosmology/sims/fort/read_sim-f2pywrappers2.f90:355.17:
allocate(d())
1
Error: Shape specification for allocatable scalar at (1)
У него также есть две другие ошибки, но они просто являются результатом неправильного размещения d()
здесь. Вы можете видеть, что файл, который он компилирует, является оболочкой f2py. Что еще более странно, когда я действительно смотрю на файл-оболочку, на который он указывает, строка 355 на самом деле выглядит так:
allocate(d(s(1),s(2)))
поэтому я понятия не имею, почему компилятор говорит мне, что в операторе выделения нет спецификаторов формы. И из-за этого я понятия не имею, как это исправить!
Обратите внимание, что я немного изменил модуль с тех пор, как он в последний раз скомпилировался правильно, но массив, для которого возникает эта ошибка, я вообще не трогал, как и не трогал конкретную подпрограмму, в которой он существует.