so libcsound64.so needs libsndfile.so.1.0 but java jna can't find it. Doing readelf, it shows clearly that libsndfile is in the runpath
$ readelf -d /run/current-system/sw/lib/libcsound64.so
Dynamic section at offset 0x302160 contains 36 entries:
Tag Type Name/Value
0x0000000000000001 (NEEDED) Shared library: [libsndfile.so.1]
0x0000000000000001 (NEEDED) Shared library: [libpthread.so.0]
0x0000000000000001 (NEEDED) Shared library: [libcurl.so.4]
0x0000000000000001 (NEEDED) Shared library: [libm.so.6]
0x0000000000000001 (NEEDED) Shared library: [libmvec.so.1]
0x0000000000000001 (NEEDED) Shared library: [libdl.so.2]
0x0000000000000001 (NEEDED) Shared library: [librt.so.1]
0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
0x000000000000000e (SONAME) Library soname: [libcsound64.so.6.0]
0x000000000000001d (RUNPATH) Library runpath: [/nix/store/6pr06lwr0fl6jl5nzmgqjif6h503ivpb-libsndfile-1.0.28/lib:/nix/store/k4x61wg9lyjynxxyh44f9994l7dxvma4-curl-7.61.1/lib:/nix/store/g2yk54hifqlsjiha3szr4q3ccmdzyrdv-glibc-2.27/lib]
This is maybe a distro "issue", since I'm using NixOs. But I'm bit surprised that jna is trying to load the library but not the operating system's library loader. Maybe this is just an issue of reading the runpath?
The first element in the runpath containes the libsndfile.so.1.0 which libcsound64.so needs
Feb 10, 2019 10:50:35 PM com.sun.jna.NativeLibrary loadLibrary
INFO: Looking for library 'jack64'
Feb 10, 2019 10:50:35 PM com.sun.jna.NativeLibrary loadLibrary
INFO: Adding paths from jna.library.path: native/linux/x86_64
Feb 10, 2019 10:50:35 PM com.sun.jna.NativeLibrary loadLibrary
INFO: Trying libjack64.so
Feb 10, 2019 10:50:35 PM com.sun.jna.NativeLibrary loadLibrary
INFO: Loading failed with message: libjack64.so: cannot open shared object file: No such file or directory
Feb 10, 2019 10:50:35 PM com.sun.jna.NativeLibrary loadLibrary
INFO: Adding system paths: []
Feb 10, 2019 10:50:35 PM com.sun.jna.NativeLibrary loadLibrary
INFO: Trying libjack64.so
Feb 10, 2019 10:50:35 PM com.sun.jna.NativeLibrary loadLibrary
INFO: Loading failed with message: libjack64.so: cannot open shared object file: No such file or directory
Feb 10, 2019 10:50:35 PM com.sun.jna.NativeLibrary loadLibrary
INFO: Looking for version variants
Feb 10, 2019 10:50:35 PM com.sun.jna.Native extractFromResourcePath
INFO: Looking in classpath from sun.misc.Launcher$AppClassLoader@135fbaa4 for jack64
Feb 10, 2019 10:50:35 PM com.sun.jna.NativeLibrary loadLibrary
INFO: Loading failed with message: Native library (linux-x86-64/libjack64.so) not found in resource path (..elided...)
Feb 10, 2019 10:50:35 PM com.sun.jna.NativeLibrary loadLibrary
INFO: Looking for library 'jack'
Feb 10, 2019 10:50:35 PM com.sun.jna.NativeLibrary loadLibrary
INFO: Adding paths from jna.library.path: native/linux/x86_64
Feb 10, 2019 10:50:35 PM com.sun.jna.NativeLibrary loadLibrary
INFO: Trying libjack.so
Feb 10, 2019 10:50:35 PM com.sun.jna.NativeLibrary loadLibrary
INFO: Found library 'jack' at libjack.so
Feb 10, 2019 10:50:35 PM com.sun.jna.NativeLibrary loadLibrary
INFO: Looking for library 'csound64'
Feb 10, 2019 10:50:35 PM com.sun.jna.NativeLibrary loadLibrary
INFO: Adding paths from jna.library.path: native/linux/x86_64
Feb 10, 2019 10:50:35 PM com.sun.jna.NativeLibrary loadLibrary
INFO: Trying libcsound64.so
Feb 10, 2019 10:50:35 PM com.sun.jna.NativeLibrary loadLibrary
INFO: Loading failed with message: native/linux/x86_64/libsndfile.so.1: version `libsndfile.so.1.0' not found (required by /run/current-system/sw/lib/libcsound64.so)
Feb 10, 2019 10:50:35 PM com.sun.jna.NativeLibrary loadLibrary
INFO: Adding system paths: []
Feb 10, 2019 10:50:35 PM com.sun.jna.NativeLibrary loadLibrary
INFO: Trying libcsound64.so
Feb 10, 2019 10:50:35 PM com.sun.jna.NativeLibrary loadLibrary
INFO: Loading failed with message: native/linux/x86_64/libsndfile.so.1: version `libsndfile.so.1.0' not found (required by /run/current-system/sw/lib/libcsound64.so)
Feb 10, 2019 10:50:35 PM com.sun.jna.NativeLibrary loadLibrary
INFO: Looking for version variants
Feb 10, 2019 10:50:35 PM com.sun.jna.Native extractFromResourcePath
INFO: Looking in classpath from sun.misc.Launcher$AppClassLoader@135fbaa4 for csound64
Feb 10, 2019 10:50:35 PM com.sun.jna.NativeLibrary loadLibrary
INFO: Loading failed with message: Native library (linux-x86-64/libcsound64.so) not found in resource path (..elided...)
CompilerException java.lang.UnsatisfiedLinkError: Unable to load library 'csound64':
native/linux/x86_64/libsndfile.so.1: version `libsndfile.so.1.0' not found (required by /run/current-system/sw/lib/libcsound64.so)
native/linux/x86_64/libsndfile.so.1: version `libsndfile.so.1.0' not found (required by /run/current-system/sw/lib/libcsound64.so)
Native library (linux-x86-64/libcsound64.so) not found in resource path (...elided...), compiling:(panaeolus/csound/csound_jna.clj:14:1)