https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=227939
--- Comment #11 from Jan Beich ---
(In reply to Wiktor Niesiobedzki from comment #9)
> another strategy available on Linux - invoking gcc in trace mode and
> extracting library path from there.
Why Python cannot use dlinfo()?
$ cat a.c
#define _GNU_SOURCE
#include
#include
#include
int main()
{
void *boost, *python;
struct link_map *map;
/* libboost_python assumes libpython is preloaded by Python interpreter */
if (!(python = dlopen("libpython3.6m.so", RTLD_LAZY | RTLD_GLOBAL))) {
printf("dlopen(python) failed\n");
return 1;
}
if (!(boost = dlopen("libboost_python36.so", RTLD_LAZY))) {
printf("dlopen(boost) failed\n");
return 1;
}
dlinfo(boost, RTLD_DI_LINKMAP, &map);
dlclose(boost);
dlclose(python);
printf("%s\n", map->l_name);
return 0;
}
$ cc -ldl a.c
$ ./a.out
/usr/local/lib/libboost_python36.so
--
You are receiving this mail because:
You are the assignee for the bug.
You are on the CC list for the bug.
___
freebsd-python@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-python
To unsubscribe, send any mail to "freebsd-python-unsubscr...@freebsd.org"