-
Notifications
You must be signed in to change notification settings - Fork 232
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Need support for SunOS #42
Comments
I haven't tried using SunOS (spark machine?), but it might be possible since no special configuration is required to compile native library of snappy-java. Fetch the source code and try |
While SunOS is Solaris, it runs on both x86 and the Sun specific Sparc
|
I had a few issues compiling this on Solaris, firstly you need to use gmake (GNU make) rather than the standard Solaris make. Second you need to edit Makefile to use gtar instead of tar. I also added OS arch targets for SunOS-x86 and SunOS-amd64 and pointed those at the linux equivalents (as the linux jni.h has a reference to solaris and the default one points at mac), I also removed the m32 and m64 tags on SunOS as solaris handles those in a different way. It compiles and the tests execute fine now. This was on an x86 box running Solaris 11.1. |
@Craigacp |
I don't think the SunOS-amd64 target actually did anything so I've removed it (as it wasn't used by the 64-bit machine I was building on), but I added sparc build targets and checked those work. The pull request is in now, but I'm not that familiar with GitHub so I can't add it to this issue. |
Thanks to @Craigacp's contribution, Makefile has been modified to be able to compile native libraries for Solaris (x86 and sparc). @Craigacp I am now preparing a release build for snappy-java-1.1.0, so it is the best timing to integrate them. |
native libraries for SunOS are integrated to the develop branch. Now close this issue. |
Thank you guys! |
@Craigacp |
Hi, I have this error when I run cassandra on my server:
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.xerial.snappy.SnappyLoader.loadNativeLibrary(SnappyLoader.java:317)
at org.xerial.snappy.SnappyLoader.load(SnappyLoader.java:219)
at org.xerial.snappy.Snappy.(Snappy.java:44)
at org.apache.cassandra.io.compress.SnappyCompressor.create(SnappyCompressor.java:46)
at org.apache.cassandra.io.compress.SnappyCompressor.isAvailable(SnappyCompressor.java:56)
at org.apache.cassandra.io.compress.SnappyCompressor.(SnappyCompressor.java:38)
at org.apache.cassandra.config.CFMetaData.(CFMetaData.java:76)
at org.apache.cassandra.config.KSMetaData.systemKeyspace(KSMetaData.java:84)
at org.apache.cassandra.config.DatabaseDescriptor.loadYaml(DatabaseDescriptor.java:438)
at org.apache.cassandra.config.DatabaseDescriptor.(DatabaseDescriptor.java:114)
at org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:127)
at org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:389)
at org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:107)
Caused by: java.lang.UnsatisfiedLinkError: no snappyjava in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1738)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1028)
at org.xerial.snappy.SnappyNativeLoader.loadLibrary(SnappyNativeLoader.java:52)
... 17 more
I've realised that snappy-java doesn't have native library for SunOS.
Is it possible to compile it for this OS ?
My System.properties:
os.arch=amd64
os.name=SunOS
os.version=5.10
The text was updated successfully, but these errors were encountered: