Я пытаюсь установить статистическую программу, которая требует GNU Scientific Library (GSL). Я успешно установил GSL через команду yum
, но моя статистическая программа выдает ошибку при попытке запустить make install
. Я думаю, что есть проблема со связыванием. Как ее решить?
$ sudo yum install gsl.x86_64
Installed:
gsl.x86_64 0:1.15-3.fc16
Dependency Installed:
atlas.x86_64 0:3.8.4-1.fc16
$ tar -xvzf prog.tgz
$ cd prog
$ make
$ gcc -O3 -Wall -Wshadow -pedantic -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DVER32 -I/opt/local/include/ -L/opt/local/lib/ -c -o prog.o prog.c
In file included from prog.c:16:0:
prog.h:7:30: fatal error: gsl/gsl_sf_gamma.h: No such file or directory
compilation terminated.
make: *** [prog.o] Error 1
решение1
Мне кажется, что вы установили двоичные файлы библиотеки, но не заголовочные файлы и другие дополнительные файлы, необходимые для «разработки» (которая включает в себя простую компиляцию готовых приложений, использующих библиотеку).
Ищите пакеты с именами вроде gsl-dev
, gsl-headers
и т.п. Они (-dev и т.п.) обычно содержат файлы, необходимые для компиляции программного обеспечения с использованием рассматриваемой библиотеки. Установите соответствующий пакет и попробуйте еще раз.
Также найдите файл INSTALL, BUILD (или аналогичный) в дереве исходного кода.Обычноconfigure
в наборе команд, перечисленных в вашем посте, есть шаг, который вы пропускаете.
решение2
на Centos 6.5:
yum install gsl-devel
Мне это помогло.