im getting the error "In procedure dynamic-link: file: "libgsl",
message: "file not found"" with the following code:
(import (system foreign))
(define gsl (dynamic-link "libgsl"))
* gsl (optionally?) depends on libgslcblas, which itself links without
error, but loading it with (dynamic-link) beforehand did not help
* some libraries work, for example libmagic. libm for example gives the
same error message
* the file /usr/lib/libgsl.so exists and is a symlink to the regular
file libgsl.so.23.1.0 whose content begins with ELF>
* similar problem on the mailing list
https://lists.gnu.org/archive/html/guile-user/2016-05/msg00010.html
* ive tried to set LD_LIBRARY_PATH with export to /usr/lib with no
apparent effect
* i was going from this manual entry
https://www.gnu.org/software/guile/manual/html_node/Dynamic-FFI.html
* guile (GNU Guile) 2.2.4
the issue can actually be reproduced with a c program:
#include <dlfcn.h>
#include <stdio.h>
int main () {
void* a = dlopen("libgsl.so", RTLD_NOW);
printf("got %p\n", a);
if (a) printf("ok\n"); else printf("error: %s\n", dlerror());
}
gcc t.c -ldl && ./a.out
the program only works without error when compiled with -lgslcblas.
so, it could be a more basic issue, but i dont know how to proceed.