Ich versuche, ein Statistikprogramm zu installieren, das die GNU Scientific Library (GSL) erfordert. Ich habe die GSL erfolgreich über den yum
Befehl installiert, aber mein Statistikprogramm gibt einen Fehler aus, wenn ich versuche, es auszuführen make install
. Ich glaube, es liegt ein Verknüpfungsproblem vor. Wie kann ich es lösen?
$ 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
Antwort1
Für mich sieht es so aus, als hätten Sie die Binärdateien der Bibliothek installiert, jedoch nicht die Header und anderen Zusatzdateien, die für die „Entwicklung“ erforderlich sind (dazu gehört auch das einfache Kompilieren vorgefertigter Anwendungen, die die Bibliothek verwenden).
Suchen Sie nach Paketen mit Namen wie gsl-dev
und gsl-headers
dergleichen. Diese (-dev usw.) enthalten normalerweise die Dateien, die zum Kompilieren von Software mit der betreffenden Bibliothek erforderlich sind. Installieren Sie das entsprechende Paket und versuchen Sie es erneut.
Suchen Sie außerdem im Quellcodebaum nach einer INSTALL-, BUILD-Datei (oder einer ähnlichen Datei).NormalerweiseEs gibt einen configure
Schritt, den Sie in der Befehlsgruppe, die Sie in Ihrem Beitrag auflisten, auslassen.
Antwort2
auf Centos 6.5:
yum install gsl-devel
Das hat bei mir funktioniert.