Skip to content
This repository has been archived by the owner on Mar 17, 2023. It is now read-only.

xuggler missing for some users on Linux #622

Open
raacampbell opened this issue Mar 30, 2015 · 8 comments
Open

xuggler missing for some users on Linux #622

raacampbell opened this issue Mar 30, 2015 · 8 comments

Comments

@raacampbell
Copy link

I see an error saying there is no xuggle in java.library.path
This appears on startup and when I try to load and image. This is version 1.6.1.1

Icy is installed in /opt/icy on CentOS.
If I start icy by doing java -jar /opt/icy/updater.jar then it starts fine (I have a script that runs this in /usr/local/bin. However, if other users start Icy the we see the above xuggle error. I tried changing the permissions in the icy folder so that anyway can read/write/execute.

Still doesn't help. I'm out of ideas at this point. Any ideas what I can do about the error or other suggestions for installing Icy in a multi-user environment?

Thanks.

@raacampbell
Copy link
Author

I can provide more information, but I'm not sure what would be useful. To clarify, it finds xuggle just find if I run Icy as the user who created the directory structure in /opt/. I don't have to sudo. Other users (who, as it happens, aren't sudoers) can not run without the error.

@Stephane-D
Copy link
Contributor

Thanks, that helps :) How others users are executing icy ?
Does they execute "java -jar /opt/icy/updater.jar" or "/opt/icy/icy.sh" ?
I think it has to do with the java virtual machine configuration.
Can you also give the exact Xuggler error message you obtain when trying to start Icy from user perspective ? Thanks.

Normally Icy already include the whole Xuggler library and it should automatically load the native library but maybe there is a bug when working in a multi-user environment.
I found this : http://stackoverflow.com/questions/7420771/java-lang-unsatisfiedlinkerror-no-xuggle-xuggler-in-java-library-path

Installing manually Xuggler and doing a small script to automatically export the modified LD_LIBRARY_PATH may fix the issue .

@raacampbell
Copy link
Author

Users start with a script in /usr/local/bin that just executes "java -jar /opt/icy/updater.jar"
They typically then see a warning saying that Icy is already running. Likely because someone else has a copy open.
Pressing "yes" starts Icy.
On start, I see the error:
java.lang.UnsatisfiedLinkError: no xuggle in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1886)
at java.lang.Runtime.loadLibrary0(Runtime.java:849)
at java.lang.System.loadLibrary(System.java:1088)
at com.xuggle.ferry.JNILibraryLoader.loadLibrary0(JNILibraryLoader.java:268)
at com.xuggle.ferry.JNILibraryLoader.loadLibrary(JNILibraryLoader.java:171)
at com.xuggle.ferry.JNILibrary.load(JNILibrary.java:161)
at com.xuggle.ferry.FerryJNI.(FerryJNI.java:16)
at com.xuggle.ferry.Ferry.(Ferry.java:25)
at com.xuggle.xuggler.XugglerJNI.(XugglerJNI.java:19)
at com.xuggle.xuggler.Global.(Global.java:238)
at plugins.stef.importer.xuggler.VideoImporter.(VideoImporter.java:70)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at java.lang.Class.newInstance(Class.java:379)
at icy.plugin.PluginLauncher.internalCreate(PluginLauncher.java:122)
at icy.plugin.PluginLauncher.start(PluginLauncher.java:153)
at icy.file.Loader.getSequenceFileImporters(Loader.java:654)
at icy.plugin.PluginLoader.changed(PluginLoader.java:868)
at icy.plugin.PluginLoader.reloadInternal(PluginLoader.java:311)
at icy.plugin.PluginLoader$1.run(PluginLoader.java:131)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)

@Stephane-D
Copy link
Contributor

Can you test the solution pointer here :
http://stackoverflow.com/questions/7420771/java-lang-unsatisfiedlinkerror-no-xuggle-xuggler-in-java-library-path

The idea is to manually Install Xuggler and doing a small script which automatically patch and export the LD_LIBRARY_PATH with Xuggler installation folder and start Icy. That may fix the problem.

@raacampbell
Copy link
Author

I tried exporting the /opt/icy/lib directory, but that didn't help. Maybe I will just ask users to manually install in their home directories. This will also allow users to have seperate preferences, which they don't currently have.

@Stephane-D
Copy link
Contributor

Indeed that should be an easy workaround, still we keep the issue open as we really want to understand what happen here.

@raacampbell
Copy link
Author

Thanks. If go back to this and find a solution I shall let you know.

@Stephane-D
Copy link
Contributor

Ok thanks :)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants