VLCJ on Mac OSX Unsatisfied Link Error (darwin/libvlc.dylib) -
i'm trying initialize vlcj streaming part of application i'm working on. going official tutorial, i'm using following code try , load library:
nativelibrary.addsearchpath( runtimeutil.getlibvlclibraryname(), "/applications/vlc/contents/macos/lib" ); native.loadlibrary(runtimeutil.getlibvlclibraryname(), libvlc.class);
when run it, following error:
exception in thread "main" java.lang.unsatisfiedlinkerror: unable load library 'vlc': jna native support (darwin/libvlc.dylib) not found in resource path (/users/iamparker/documents/workspace/vlcstreamer/target/classes:/usr/jar/vlc/vlcj-3.0.1-javadoc.jar:/usr/jar/vlc/vlcj-3.0.1-sources.jar:/usr/jar/vlc/vlcj-3.0.1-test-sources.jar:/usr/jar/vlc/vlcj-3.0.1-tests.jar:/usr/jar/vlc/vlcj-3.0.1.jar:/usr/jar/vlc/jna-4.1.0.jar:/usr/jar/vlc/jna-platform-4.1.0.jar) @ com.sun.jna.nativelibrary.loadlibrary(nativelibrary.java:220) @ com.sun.jna.nativelibrary.getinstance(nativelibrary.java:322) @ com.sun.jna.library$handler.<init>(library.java:142) @ com.sun.jna.native.loadlibrary(native.java:387) @ com.sun.jna.native.loadlibrary(native.java:366) @ com.thundercats.vlcstreamer.main.loadnative(main.java:33) @ com.thundercats.vlcstreamer.main.main(main.java:16)
it looks it's not searching path gave it. there libvlc.dylib inside directory.
here output running vlcj nativediscoverytest:
vlcj: (info.java:70) | info | vlcj: <version not available> vlcj: (info.java:71) | info | java: 1.6.0_65 apple inc. vlcj: (info.java:72) | info | java home: /system/library/java/javavirtualmachines/1.6.0.jdk/contents/home vlcj: (info.java:73) | info | os: mac os x 10.8.5 x86_64 vlcj: (nativediscovery.java:98) | debug | discover() vlcj: (nativediscovery.java:101) | debug | jnalibrarypath=null vlcj: (nativediscovery.java:106) | debug | discoverystrategy=uk.co.caprica.vlcj.discovery.linux.defaultlinuxnativediscoverystrategy@42b1b4c3 vlcj: (nativediscovery.java:109) | debug | supported=false vlcj: (nativediscovery.java:106) | debug | discoverystrategy=uk.co.caprica.vlcj.discovery.windows.defaultwindowsnativediscoverystrategy@60072ffb vlcj: (nativediscovery.java:109) | debug | supported=false vlcj: (nativediscovery.java:106) | debug | discoverystrategy=uk.co.caprica.vlcj.discovery.mac.defaultmacnativediscoverystrategy@77df38fd vlcj: (nativediscovery.java:109) | debug | supported=true vlcj: (abstractnativediscoverystrategy.java:49) | debug | discover() vlcj: (abstractnativediscoverystrategy.java:54) | debug | directorynames=[/users/iamparker/documents/workspace/nativediscoverytest, /usr/bin, /bin, /usr/sbin, /sbin, /applications/vlc.app/contents/macos/lib] vlcj: (abstractnativediscoverystrategy.java:57) | debug | directoryname=/users/iamparker/documents/workspace/nativediscoverytest vlcj: (abstractnativediscoverystrategy.java:95) | debug | failed matched required files vlcj: (abstractnativediscoverystrategy.java:57) | debug | directoryname=/usr/bin vlcj: (abstractnativediscoverystrategy.java:95) | debug | failed matched required files vlcj: (abstractnativediscoverystrategy.java:57) | debug | directoryname=/bin vlcj: (abstractnativediscoverystrategy.java:95) | debug | failed matched required files vlcj: (abstractnativediscoverystrategy.java:57) | debug | directoryname=/usr/sbin vlcj: (abstractnativediscoverystrategy.java:95) | debug | failed matched required files vlcj: (abstractnativediscoverystrategy.java:57) | debug | directoryname=/sbin vlcj: (abstractnativediscoverystrategy.java:95) | debug | failed matched required files vlcj: (abstractnativediscoverystrategy.java:57) | debug | directoryname=/applications/vlc.app/contents/macos/lib vlcj: (abstractnativediscoverystrategy.java:85) | debug | matched 'libvlc.dylib' in '/applications/vlc.app/contents/macos/lib' vlcj: (abstractnativediscoverystrategy.java:85) | debug | matched 'libvlccore.dylib' in '/applications/vlc.app/contents/macos/lib' vlcj: (abstractnativediscoverystrategy.java:88) | debug | matched required files vlcj: (abstractnativediscoverystrategy.java:63) | debug | result=/applications/vlc.app/contents/macos/lib vlcj: (nativediscovery.java:112) | debug | path=/applications/vlc.app/contents/macos/lib vlcj: (nativediscovery.java:114) | info | discovery found libvlc @ '/applications/vlc.app/contents/macos/lib' vlcj: (test.java:34) | debug | found=true vlcj: (libvlcfactory.java:164) | info | vlc: 2.1.4 rincewind, changeset 2.1.4-0-g2a072be vlcj: (libvlcfactory.java:165) | info | libvlc: /applications/vlc.app/contents/macos/lib/libvlc.dylib vlcj: (test.java:36) | debug | version: {}2.1.4 rincewind
turns out silly mistake on part. path gave "/applications/vlc/contents/macos/lib"
, , should have been "/applications/vlc.app/contents/macos/lib"
. forgot vlc had .app extension. i'll go bury head in sand now.
Comments
Post a Comment