GSL в Windows не может найти файлы заголовков

Я пытаюсь установить библиотеку GSL в Windows, чтобы в конечном итоге запустить этот проект: https://github.com/paulohubert/bayeseg.

Однако я продолжаю сталкиваться с ошибкой Cannot open include file: 'gsl/gsl_mode.h': No such file or directory

Я попытался загрузить библиотеку GSL, упомянутую в github, и установить LIB_GSL в местоположение, а также добавить ее в свой путь перед установкой cythongsl, как упоминалось в предыдущем ответе (CythonGSL/ Использование GSL в Windows через Cython). Я также пытался загрузить GSL из cygwin и https://code.google.com/p/oscats/downloads/list безрезультатно.

Примечание 1. Когда я пытаюсь собрать и установить cythonGSL (сборка python setup.py), я получаю следующие предупреждения: C:\toolkits\Anaconda3\lib\distutils\dist.py:274: UserWarning: Unknown distribution option: 'setup_requires' warnings.warn(msg) C:\toolkits\Anaconda3\lib\distutils\dist.py:274: UserWarning: Unknown distribution option: 'install_requires' warnings.warn(msg),

и когда я пытаюсь установить юнит-тесты, я получаю ту же ошибку No such file or directory, с которой я начал.

Примечание 2: кажется, что cythongsl интегрирован в anaconda, поскольку pip не позволяет мне удалить/переустановить его. Может ли это указывать на неправильный каталог GSL здесь?

Я пытаюсь это сделать с anaconda 3.7.6 на компьютере с Windows 10.

Шаги, предпринятые для установки gsl:

1) Я устанавливаю MSYS2 с MinGW-w64

2) Я обновляю MYSYS2 с помощью "pacman -Su" и обновляю MinGW с помощью "pacman -Syu git make mingw-w64-x86_64-{gcc,cmake,icu,jemalloc,zlib}"

3) Скачиваю последний gsl и распаковываю его в директорию MSYS с помощью следующих команд в оболочке MSYS-mingw64:

$wget ftp://ftp.gnu.org/gnu/gsl/gsl-latest.tar.gz

$mv gsl-latest.tar.gz ~/

$cd

$tar -zxvf gsl-latest.tar.gz

$cd ~/gsl-2.6

$./configure

$make

$make check

$make install

Проверка проверки завершается ошибкой со следующей ошибкой: введите здесь описание изображения Содержимое spmatrix/test-suite.log:

======================================
   gsl 2.6: spmatrix/test-suite.log
======================================

# TOTAL: 1
# PASS:  0
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

FAIL: test
==========

FAIL: gsl_spmatrix_long_double_fscanf[53,107](COO) [289]
FAIL: gsl_spmatrix_long_double_fscanf[53,107](CSC) [290]
FAIL: gsl_spmatrix_long_double_fscanf[53,107](CSR) [291]
FAIL: gsl_spmatrix_complex_long_double_fscanf[53,107](COO) [1313]
FAIL: gsl_spmatrix_complex_long_double_fscanf[53,107](CSC) [1314]
FAIL: gsl_spmatrix_complex_long_double_fscanf[53,107](CSR) [1315]
FAIL: gsl_spmatrix_long_double_fscanf[40,20](COO) [1607]
FAIL: gsl_spmatrix_long_double_fscanf[40,20](CSC) [1608]
FAIL: gsl_spmatrix_long_double_fscanf[40,20](CSR) [1609]
FAIL: gsl_spmatrix_complex_long_double_fscanf[40,20](COO) [2631]
FAIL: gsl_spmatrix_complex_long_double_fscanf[40,20](CSC) [2632]
FAIL: gsl_spmatrix_complex_long_double_fscanf[40,20](CSR) [2633]
FAIL: gsl_spmatrix_long_double_fscanf[30,30](COO) [2925]
FAIL: gsl_spmatrix_long_double_fscanf[30,30](CSC) [2926]
FAIL: gsl_spmatrix_long_double_fscanf[30,30](CSR) [2927]
FAIL: gsl_spmatrix_complex_long_double_fscanf[30,30](COO) [3949]
FAIL: gsl_spmatrix_complex_long_double_fscanf[30,30](CSC) [3950]
FAIL: gsl_spmatrix_complex_long_double_fscanf[30,30](CSR) [3951]

Однако я нахожу здесь, что с Mingw/MSYS некоторые операции с плавающей запятой сообщалось о проблемах, вызывающих сбои в каталоге monte/test., поэтому я предполагаю, что это просто тестовая ошибка.

4) Я нахожу файлы заголовков, установленные в C:\msys64\mingw64\include\gsl, поэтому добавляю их в путь

5) Я также добавляю переменную среды LIB_GSL, указывающую на каталог проекта C:\msys64\mingw64\include (для cythongsl).

6) В клоне CythonGSL и перейдите туда в приглашении anaconda.

7) Следуя руководству по установке, я запускаю

python setup.py build
python setup.py install

8) я пытаюсь собрать unittest с помощью python setup_test.py build, но получаю ошибку Cannot open include file: 'gsl/gsl_mode.h': No such file or directory

9) Та же ошибка возникает при попытке использовать gsl для установки https://github.com/paulohubert/bayeseg. .


person Søren Jensen    schedule 23.04.2020    source источник
comment
не смешивайте Anaconda (это не cygwin) с Cygwin. Поскольку кажется, что вы пытаетесь создать программу НЕ cygwin, я не вижу смысла устанавливать пакеты Cygwin GSL.   -  person matzeri    schedule 23.04.2020
comment
Хорошо, я на самом деле не эксперт в cygwin. Я предположил, что могу использовать его для получения библиотек C и просто указывать на них в переменных/пути моей среды. Любая идея, почему это не сработает?   -  person Søren Jensen    schedule 23.04.2020
comment
Какой компилятор вы используете?   -  person matzeri    schedule 23.04.2020
comment
Я использую Anaconda и CythonGSL (по крайней мере, я пытаюсь). Основываясь на вашем совете, я отказался от подхода cygwin и теперь использую MSYS-mingw. Я обновил вопрос, указав полный список шагов, которые я предпринимаю. Спасибо за вашу помощь, я очень ценю это!   -  person Søren Jensen    schedule 24.04.2020
comment
посмотрите test-suite.log для получения подробной информации о неудачном тесте. Вы также можете запустить make -i check, чтобы запустить все тесты и не останавливаться при первой ошибке.   -  person matzeri    schedule 24.04.2020
comment
используя make -i check, я увидел, что на более позднем этапе произошел сбой, потому что отсутствовал cmp, поэтому я исправил это, установив diffutils (pacman -S diffutils). Однако spmatrix по-прежнему дает сбой, и я не вижу из журнала набора тестов, что вызывает сбой. Журнал testsuite вставлен под ошибкой   -  person Søren Jensen    schedule 25.04.2020