Компиляция HDF-EOS2 с помощью conda-build - PullRequest
0 голосов
/ 18 января 2019

Я пытаюсь скомпилировать HDF4 и HDF-EOS2, включая их библиотеки Fortran, в среде conda. Я начал с двух сырья в Конда-Фордж.

  • В сценарии build.sh для HDF4 я удаляю параметры конфигурации --disable-fortran и --enable-shared (поскольку библиотека Fortran по какой-то причине не поддерживает общие библиотеки) и добавляю --with-szip и {{ compiler('fortran') }}. В meta.yaml я добавляю szip к хосту и запускаю требования. Это не удается во время настройки, утверждая, что он не может найти libjpeg. Я могу это исправить, добавив zlib, szip и jpeg к требованиям сборки, но я хотел бы знать, почему в оригинальном рецепте они не нужны?

  • Компиляция HDF-EOS2 использует скрипт h4cc, который является частью библиотеки HDF4. При компиляции в conda-build это завершается ошибкой, поскольку этот сценарий жестко связан с копией gcc в среде сборки HDF4. Например, строка 46 h4cc в результирующих тарболлах,

CCBASE="/data/conda/envs/test0/conda-bld/hdf4_1547812126274/_build_env/bin/x86_64-conda_cos6-linux-gnu-gcc"

Как мне заставить conda-build распознать и заменить этот путь? Это уже перехватывает пути, которые указывают на рабочий каталог (заменяя их на /opt/anaconda1anaconda2anaconda3), но не на путь среды сборки.

Я надеюсь, что другие мои проблемы могут быть решены, если я смогу решить эти два вопроса.

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