mmottl / gsl-ocaml

OCaml bindings to the GSL (GNU Scientific Library).
Other
36 stars 10 forks source link

gsl header in non-standard location #29

Closed hstern2 closed 5 years ago

hstern2 commented 6 years ago

I'm getting following error, trying to use installation of gsl in non-standard location so no header in /usr/include ... C_INCLUDE_PATH, CPLUS_INCLUDE_PATH is set to this location, any other env vars to set? thanks

=== ERROR while installing gsl.1.21.0 ========================================

opam-version 1.2.2

os linux

command jbuilder build -p gsl -j 4

path /software/opam/b1/system/build/gsl.1.21.0

compiler system (4.06.0)

exit-code 1

env-file /software/opam/b1/system/build/gsl.1.21.0/gsl-73449-ffb3fd.env

stdout-file /software/opam/b1/system/build/gsl.1.21.0/gsl-73449-ffb3fd.out

stderr-file /software/opam/b1/system/build/gsl.1.21.0/gsl-73449-ffb3fd.err

stderr

[...]

Fatal error: exception (Sys_error "/usr/include/gsl/gsl_cdf.h: No such file or directory")

Raised by primitive operation at file "pervasives.ml", line 389, characters 28-54

Called from file "src/in_channel.ml", line 20, characters 45-66

Called from file "src/config/do_cdf.ml", line 96, characters 2-964

do_const src/const.{ml,mli} (exit 2)

(cd _build/default/src && ./config/do_const.exe)

Fatal error: exception (Sys_error "/usr/include/gsl/gsl_const_cgs.h: No such file or directory")

Raised at file "src/import0.ml" (inlined), line 237, characters 22-32

Called from file "src/exn.ml", line 70, characters 6-15

Called from file "src/config/do_const.ml", line 15, characters 2-1023

mmottl commented 6 years ago

The configurator runs pkg-config to extract the path to the gsl include directory. You may have to install and/or configure pkg-config for that purpose. Note that gsl-ocaml needs access to GSL header files for automatic code generation.

hstern2 commented 6 years ago

thanks for your quick reply. pkg-config is installed, here is gsl.pc seems as if the includedir is not making it to opam… any suggestions?

circsfw@bluehive:/software/gsl/2.4/lib/pkgconfig>cat gsl.pc prefix=/software/gsl/2.4 exec_prefix=/software/gsl/2.4 libdir=/software/gsl/2.4/lib includedir=/software/gsl/2.4/include GSL_CBLAS_LIB=-lgslcblas

Name: GSL Description: GNU Scientific Library Version: 2.4 Libs: -L/software/gsl/2.4/lib -lgsl ${GSL_CBLAS_LIB} -lm -lm Cflags: -I/software/gsl/2.4/include

circsfw@bluehive:/software/opam/b1/system/build/gsl.1.21.0>pkg-config --variable=includedir gsl /software/gsl/2.4/include

On Apr 10, 2018, at 11:38 AM, Markus Mottl notifications@github.com<mailto:notifications@github.com> wrote:

The configurator runs pkg-config to extract the path to the gsl include directory. You may have to install and/or configure pkg-config for that purpose. Note that gsl-ocaml needs access to GSL header files for automatic code generation.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_mmottl_gsl-2Docaml_issues_29-23issuecomment-2D380146379&d=DwMFaQ&c=kbmfwr1Yojg42sGEpaQh5ofMHBeTl9EI2eaqQZhHbOU&r=u5vYjhgzTwkkBS1kIx9w6AP8ISqhIMUy3rigf-BuXE4&m=xxVdTx1I_SUSFscbG9qCADzmLWV3MhOPf0Q3eY2Gb2g&s=TBL7JYvljp5QBuuSJNe6-ud6sGVGxl_VNf17k5Ns9xk&e=, or mute the threadhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_ASdGsohqwMt3jvXe6m6kQrQvKX1uB9Dqks5tnNHagaJpZM4TOVi-2D&d=DwMFaQ&c=kbmfwr1Yojg42sGEpaQh5ofMHBeTl9EI2eaqQZhHbOU&r=u5vYjhgzTwkkBS1kIx9w6AP8ISqhIMUy3rigf-BuXE4&m=xxVdTx1I_SUSFscbG9qCADzmLWV3MhOPf0Q3eY2Gb2g&s=ABGT5tOvNTyhJlMNT7N8nHKljelN1OEYqaLHXv7aIk8&e=.

mmottl commented 6 years ago

Can you compile gsl-ocaml manually? A simple make in the directory should work in principle. You can take a look at file src/config/discover.ml and check whether let gsl_include = in that file evaluates to the correct path.

mmottl commented 5 years ago

Probably not relevant anymore.