Closed issue by subsetpark on void-packages repository https://github.com/void-linux/void-packages/issues/32640 Description: ### System * xuname: `Void 5.13.9_1 x86_64 GenuineIntel uptodate rrrmFFFF` * package: `j-901.f_1` ### Expected behavior `libj.so` is available on the default dynamic linker search path (ie, a system call like `dlopen("j")` should locate `libj.so`) ### Actual behavior `libj.so` is present and functional at `/usr/lib64/j/j64/libj.so`, but not available in `/usr/lib64`. ### Steps to reproduce the behavior Attempt to use dynamic linking to access the `libj.so` file provided in the J distribution. Here's a minimal C program that demonstrates the difference (obviously, the `janet` package is installed on my system!): ```c #include #include int main(int argc, char **argv) { void *p = dlopen("libjanet.so", RTLD_NOW); printf("Janet DLL pointer: %p\n", p); void *q = dlopen("libj.so", RTLD_NOW); printf("J DLL pointer: %p\n", q); } ``` Here's the execution example on my system: ``` Desktop [] ⊕ gcc ex.c -ldl Desktop [] ⊕ ./a.out Janet DLL pointer: 0x5561857862c0 J DLL pointer: (nil) ```