bigdataviewer / bigdataviewer_fiji

Fiji plugins for starting BigDataViewer and exporting data.
GNU General Public License v3.0
21 stars 9 forks source link

Apple Silicon Support for N5 Viewer #25

Open FIrgolitsch opened 1 year ago

FIrgolitsch commented 1 year ago

Hello,

I've been trying to open a .zarr file using the N5 Viewer included with the plugin. When I try to do so I get the stack trace below (omitted parts due to maximum message length), indicating a native library is missing. Is there any chance that a native library is available for Apple Silicon?

        file:/Applications/Fiji.app/plugins/Volume_Viewer-2.01.3.jar, file:/Applications/Fiji.app/plugins/Sync_Win-1.7-fiji4.jar])
    at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:307)
    at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:467)
    at com.sun.jna.Native.register(Native.java:1774)
    at com.sun.jna.Native.register(Native.java:1493)
    at org.blosc.IBloscDll.<clinit>(IBloscDll.java:15)
    at org.blosc.JBlosc.init(JBlosc.java:30)
    at org.blosc.JBlosc.<init>(JBlosc.java:24)
    at org.janelia.saalfeldlab.n5.blosc.BloscCompression.<clinit>(BloscCompression.java:70)
    at java.base/java.lang.Class.forName0(Native Method)
    at java.base/java.lang.Class.forName(Class.java:315)
    at org.janelia.saalfeldlab.n5.CompressionAdapter.update(CompressionAdapter.java:84)
    at org.janelia.saalfeldlab.n5.CompressionAdapter.update(CompressionAdapter.java:111)
    at org.janelia.saalfeldlab.n5.CompressionAdapter.getJsonAdapter(CompressionAdapter.java:175)
    at org.janelia.saalfeldlab.n5.AbstractGsonReader.<init>(AbstractGsonReader.java:58)
    at org.janelia.saalfeldlab.n5.N5FSReader.<init>(N5FSReader.java:116)
    at org.janelia.saalfeldlab.n5.zarr.N5ZarrReader.<init>(N5ZarrReader.java:103)
    at org.janelia.saalfeldlab.n5.ij.N5Factory.openZarrReader(N5Factory.java:214)
    at org.janelia.saalfeldlab.n5.ij.N5Factory.openReader(N5Factory.java:383)
    at org.janelia.saalfeldlab.n5.ij.N5Importer$N5ViewerReaderFun.apply(N5Importer.java:710)
    at org.janelia.saalfeldlab.n5.ij.N5Importer$N5ViewerReaderFun.apply(N5Importer.java:691)
    at org.janelia.saalfeldlab.n5.ui.DatasetSelectorDialog.openContainer(DatasetSelectorDialog.java:555)
    at org.janelia.saalfeldlab.n5.ui.DatasetSelectorDialog.openContainer(DatasetSelectorDialog.java:531)
    at org.janelia.saalfeldlab.n5.ui.DatasetSelectorDialog.lambda$run$2(DatasetSelectorDialog.java:315)
    at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
    at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
    at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
    at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
    at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
    at java.desktop/java.awt.Component.processMouseEvent(Component.java:6635)
    at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
    at java.desktop/java.awt.Component.processEvent(Component.java:6400)
    at java.desktop/java.awt.Container.processEvent(Container.java:2263)
    at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5011)
    at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
    at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)
    at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
    at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
    at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
    at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
    at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
    at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
    at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
    at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
    Suppressed: java.lang.UnsatisfiedLinkError: dlopen(libblosc.dylib, 0x0009): tried: 'libblosc.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OSlibblosc.dylib' (no such file), '/opt/homebrew/Cellar/openjdk@11/11.0.16.1_1/libexec/openjdk.jdk/Contents/Home/bin/server/libblosc.dylib' (no such file), '/opt/homebrew/Cellar/openjdk@11/11.0.16.1_1/libexec/openjdk.jdk/Contents/Home/bin/../lib/jli/libblosc.dylib' (no such file), '/usr/lib/libblosc.dylib' (no such file, not in dyld cache), 'libblosc.dylib' (no such file), '/usr/local/lib/libblosc.dylib' (no such file), '/usr/lib/libblosc.dylib' (no such file, not in dyld cache)
        at com.sun.jna.Native.open(Native Method)
        at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:197)
        ... 57 more
    Suppressed: java.lang.UnsatisfiedLinkError: dlopen(libblosc.dylib, 0x0009): tried: 'libblosc.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OSlibblosc.dylib' (no such file), '/opt/homebrew/Cellar/openjdk@11/11.0.16.1_1/libexec/openjdk.jdk/Contents/Home/bin/server/libblosc.dylib' (no such file), '/opt/homebrew/Cellar/openjdk@11/11.0.16.1_1/libexec/openjdk.jdk/Contents/Home/bin/../lib/jli/libblosc.dylib' (no such file), '/usr/lib/libblosc.dylib' (no such file, not in dyld cache), 'libblosc.dylib' (no such file), '/usr/local/lib/libblosc.dylib' (no such file), '/usr/lib/libblosc.dylib' (no such file, not in dyld cache)
        at com.sun.jna.Native.open(Native Method)
        at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:210)
        ... 57 more
    Suppressed: java.lang.UnsatisfiedLinkError: dlopen(/Users/frans/Library/Frameworks/blosc.framework/blosc, 0x0009): tried: '/Users/frans/Library/Frameworks/blosc.framework/blosc' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Users/frans/Library/Frameworks/blosc.framework/blosc' (no such file), '/Users/frans/Library/Frameworks/blosc.framework/blosc' (no such file), '/Library/Frameworks/blosc.framework/blosc' (no such file), '/System/Library/Frameworks/blosc.framework/blosc' (no such file, not in dyld cache)
        at com.sun.jna.Native.open(Native Method)
        at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:254)
        ... 57 more
    Suppressed: java.lang.UnsatisfiedLinkError: dlopen(/Library/Frameworks/blosc.framework/blosc, 0x0009): tried: '/Library/Frameworks/blosc.framework/blosc' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Library/Frameworks/blosc.framework/blosc' (no such file), '/Library/Frameworks/blosc.framework/blosc' (no such file), '/System/Library/Frameworks/blosc.framework/blosc' (no such file, not in dyld cache)
        at com.sun.jna.Native.open(Native Method)
        at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:254)
        ... 57 more
    Suppressed: java.lang.UnsatisfiedLinkError: dlopen(/System/Library/Frameworks/blosc.framework/blosc, 0x0009): tried: '/System/Library/Frameworks/blosc.framework/blosc' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/System/Library/Frameworks/blosc.framework/blosc' (no such file), '/System/Library/Frameworks/blosc.framework/blosc' (no such file, not in dyld cache), '/Library/Frameworks/blosc.framework/blosc' (no such file)
        at com.sun.jna.Native.open(Native Method)
        at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:254)
        ... 57 more
    Suppressed: java.io.IOException: Native library (darwin-aarch64/libblosc.dylib) not found in resource path