Snappy installation on OS.X Sierra failing (or asking for legacy Java SE 6)

I am trying to install snappy on a mac running Sierra and with Anaconda Python. I have created a python 3.4 environment, installed the latest version of Oracle java, and Maven 3.5, and jpy manually by first creating wheel and pip installing it. This is likely to be broken, since the I get a “can’t find any Python shared library” error (this is generated by jpy, I also get it trying to run the script manually.

The snappy setup script fails and opens a dialog asking for legacy Java SE 6 runtime to be installed, which I don’t really want to do, since I just installed JAVA SE 8, which is supported by jpy.

Actually, I have succeeded in nominally installing snappy, but on import it also gives the error and the pop-up.

Any ideas on how to get further would be welcomed!

We currently don’t have up-to-date snappy/jpy support for Mac but we hope to be able to address this in May 2017.

The snappy setup script fails and opens a dialog asking for legacy Java SE 6 runtime to be installed

I have seen this on a Mac before in some other context. I guess goes back to time when JRE 6 where preinstalled on a Mac. This is misleading.

For time being, I suggest you try building jpy on your own. See its README on GitHub. Then copy the precompiled jpy module into your .snap/snappy folder (or some other place, where snappy is installed).


I had actually already tried installing jpy following the instructions. I tried again, and have come one step further by hacking
in _find_python_dll_file I have added another variant of the libpython library name as below

elif platform.system() == 'Darwin':
    versions = (vmaj + "." + vmin, vmaj, '')
    file_names = ['libpython' + v + '.dylib' for v in versions] + \
                 ['libpython' + v + 'm.dylib' for v in versions] + \  # Added this option
                 ['libpython' + v + '.so' for v in versions]

This solves one of my issues, but then the jpy setup script fails when running the unit tests, with the following contradictory messages:

Preloading JVM shared library '/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre/lib/server/libjvm.dylib'
No Java runtime present, requesting install.

The JVM shared library seems correct.