Looks like the Java 1.6 version of copyMemory doesn't support specification of offsets.
This means extra memory copy. Can you upgrade your Java version ? Thanks > On Jun 25, 2015, at 6:35 PM, 胡安扬 <[email protected]> wrote: > > Hi ,all: > > When compiling spark1.4.0 with java1.6.0_20 (maven version: 3.2.5, scala > vertion: 2.10.4), I always encounter the compiling error as followed: > > ****/spark-1.4.0/unsafe/src/main/java/org/apache/spark/unsafe/PlatformDependent.java:149: > copyMemory(long,long,long) in sun.misc.Unsafe cannot be applied to > (java.lang.Object,long,java.lang.Object,long,long) > [ERROR] _UNSAFE.copyMemory(src, srcOffset, dst, dstOffset, size); > [ERROR] ^ > [ERROR] 1 error > [INFO] > ------------------------------------------------------------------------ > [INFO] Reactor Summary: > [INFO] > [INFO] Spark Project Parent POM ........................... SUCCESS [ 7.304 > s] > [INFO] Spark Launcher Project ............................. SUCCESS [ 13.355 > s] > [INFO] Spark Project Networking ........................... SUCCESS [ 11.703 > s] > [INFO] Spark Project Shuffle Streaming Service ............ SUCCESS [ 5.817 > s] > [INFO] Spark Project Unsafe ............................... FAILURE [ 1.048 > s] > [INFO] Spark Project Core ................................. SKIPPED > [INFO] Spark Project Bagel ................................ SKIPPED > [INFO] Spark Project GraphX ............................... SKIPPED > [INFO] Spark Project Streaming ............................ SKIPPED > [INFO] Spark Project Catalyst ............................. SKIPPED > [INFO] Spark Project SQL .................................. SKIPPED > [INFO] Spark Project ML Library ........................... SKIPPED > [INFO] Spark Project Tools ................................ SKIPPED > [INFO] Spark Project Hive ................................. SKIPPED > [INFO] Spark Project REPL ................................. SKIPPED > [INFO] Spark Project YARN ................................. SKIPPED > [INFO] Spark Project Assembly ............................. SKIPPED > [INFO] Spark Project External Twitter ..................... SKIPPED > [INFO] Spark Project External Flume Sink .................. SKIPPED > [INFO] Spark Project External Flume ....................... SKIPPED > [INFO] Spark Project External MQTT ........................ SKIPPED > [INFO] Spark Project External ZeroMQ ...................... SKIPPED > [INFO] Spark Project External Kafka ....................... SKIPPED > [INFO] Spark Project Examples ............................. SKIPPED > [INFO] Spark Project External Kafka Assembly .............. SKIPPED > [INFO] Spark Project YARN Shuffle Service ................. SKIPPED > [INFO] > ------------------------------------------------------------------------ > [INFO] BUILD FAILURE > [INFO] > ------------------------------------------------------------------------ > [INFO] Total time: 40.705 s > [INFO] Finished at: 2015-06-26T09:15:33+08:00 > [INFO] Final Memory: 74M/838M > [INFO] > ------------------------------------------------------------------------ > [ERROR] Failed to execute goal > net.alchim31.maven:scala-maven-plugin:3.2.1:compile (scala-compile-first) on > project spark-unsafe_2.10: Execution scala-compile-first of goal > net.alchim31.maven:scala-maven-plugin:3.2.1:compile failed. CompileFailed -> > [Help 1] > [ERROR] > [ERROR] To see the full stack trace of the errors, re-run Maven with the -e > switch. > [ERROR] Re-run Maven using the -X switch to enable full debug logging. > [ERROR] > [ERROR] For more information about the errors and possible solutions, please > read the following articles: > [ERROR] [Help 1] > http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException > [ERROR] > [ERROR] After correcting the problems, you can resume the build with the > command > [ERROR] mvn <goals> -rf :spark-unsafe_2.10 > > According to the error info “/PlatformDependent.java:149: > copyMemory(long,long,long) in sun.misc.Unsafe cannot be applied to > (java.lang.Object,long,java.lang.Object,long,long)”,I find this in > PlatformDependent.java: > 141 static public void copyMemory( > 142 Object src, > 143 long srcOffset, > 144 Object dst, > 145 long dstOffset, > 146 long length) { > 147 while (length > 0) { > 148 long size = Math.min(length, UNSAFE_COPY_THRESHOLD); > 149 _UNSAFE.copyMemory(src, srcOffset, dst, dstOffset, size); > 150 length -= size; > 151 srcOffset += size; > 152 dstOffset += size; > 153 } > 154 } > > It seems that copyMemory (java.lang.Object,long,java.lang.Object,long,long) > is introduced since Java7? But According to the official document, "Spark > runs on Java 6+, Python 2.6+ and R 3.1+. For the Scala API, Spark 1.4.0 uses > Scala 2.10. You will need to use a compatible Scala version (2.10.x)." > > So, how can I compile spark1.4.0 successfully with java1.6.0_20? Does > anybody have the same error? Thank you very much for help:) > > Sincerely, > Young > > >
