pkg-config на cygwin не найдет пакет gsl

pkg-config на cygwin не найдет пакет gsl

Я пытаюсь использовать метод Cygwin для повторного изучения C с помощью книги 21st Century C Бена Клеменса. Я установил Cygwin и использовал apt-cyg для установки пакетов, упомянутых в книге. Пакеты, похоже, устанавливаются нормально, я могу вызвать gcc, make, pkg-config и т. д., но pkg-config, похоже, ничего не может найти. А точнее, вот это не может ничего найти:

$ pkg-config --libs gsl
$ pkg-config --cflags gsl

Я видел пару вопросов, в которых говорилось об изменении пути. Я пробовал изменить его на:

$ export PKG_CONFIG_PATH=c:\\cygwin\\usr\\local\\lib\\pkgconfig
$ export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
$ export PKG_CONFIG_PATH=C:\\cygwin\\bin

У меня все это уже установлено:

  • binutils
  • gcc
  • gcc-ядро
  • gcc-g++
  • делать
  • гдб
  • гсл

Я проверил, что они установлены, используя:

$ cygcheck -c | grep {string}

Признаюсь, я не очень хорошо знаком с системами Linux, иначе это была бы моя основная система, и я бы не использовал Cygwin ;)

решение1

Я задавал неправильный путь, я думал, что команда экспорта добавляет пути к переменной PKG_CONFIG_PATH, очевидно, мне нужно было добавить префикс переменной в начале (точно так же, как я должен делать в Windows :) и разделить двоеточием, если я действительно хотел добавить пути

$ export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:{my_new_path}

Но это была не настоящая проблема, из-за которой pkg-config не мог найти gsl, хотя я и думал, что установил пакет, на самом деле мне нужно было установить gsl-devel, а затем он добавил бы свой файл .pc в /lib/pkgconfig.

Итак, подведем итог: мне нужно было использовать мой менеджер пакетов для установки {package-name}-devel (gsl-devel), который затем добавил бы соответствующий файл {package-name}.pc (gsl.pc).

Установите переменную правильно:

$ export PKG_CONFIG_PATH=/lib/pkgconfig

затем получите пакет разработки:

$ apt-cyg install gsl-devel

Связанный контент