f2py: как установить параметры компилятора g cc - PullRequest
0 голосов
/ 08 января 2020

Я использую Python 2.7.17 и Numpy 1.16.5, чтобы обернуть код Fortran 77 с помощью f2py. Обертывание хорошо работает на нескольких локальных машинах, но я получаю ошибку сегментации во время выполнения на удаленном сервере. У меня есть похожие среды, компиляторы и опции **.

Основное различие, которое я наблюдаю до сих пор, заключается в компиляции C в stdout компиляции f2py. Я получаю разные уровни оптимизации.

FCFLAGS = -I/appli/gcc/gcc-7.4.0__7.2.0/bin/ \
          --f77exec=gfortran \
          --f90exec=gfortran \
          --f77flags="-O0 -g -C" \
          --f90flags="-O0 -g -C " \
          --debug \
          --noopt

f2py $(FCFLAGS) -c -m module $(FSRC)

FSR C, являющийся исходными файлами F77

во время компиляции единственное заметное отличие:

local:

C compiler: x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-5Z483E/python2.7-2.7.17=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC

remote:

C compiler: gcc -pthread -B /home2/datahome/jcollin/.conda/envs/mt3d_stochopy/compiler_compat -Wl,--sysroot=/ -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC

Поэтому мне интересно, есть ли способ указать C опции компилятора, чтобы избежать различий между локальным и удаленным?

Заранее благодарим за помощь

** Точное окружение: местное:

  • Python 2.7.15rc1
  • Numpy 1.16.3
  • Linux ядро ​​4.15.0-74-generi c
  • г cc 7.4.0
  • Архитектура: x86-64

пульт :

  • Python 2.7.17
  • Numpy 1.16.5
  • Ядро: Linux 3.12.53-60.30-default
  • g cc (G CC) 7.4.0
  • Архитектура: x86-64

Небольшое отличие состоит в том, что я использовал virtualenv 15.1.0 на локальном и Анаконда (версия 1.7.2) на пульте

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...