JAVA_PLATFORM with spaces (i.e. Mac OS X-ppc-32) breaks bin/hadoop script
-------------------------------------------------------------------------
Key: HADOOP-1081
URL: https://issues.apache.org/jira/browse/HADOOP-1081
Project: Hadoop
Issue Type: Bug
Components: scripts
Affects Versions: 0.12.0, 0.12.1, 0.13.0
Reporter: Andrzej Bialecki
Thus says Brian Whitman in NUTCH-432:
"In some later nightly in the past few weeks (not sure when) the bin/nutch
script stopped working on my Macs with
Exception in thread "main" java.lang.NoClassDefFoundError: OS
On any command. I tracked it down to the JAVA_PLATFORM env variable that is
used to try to find a native hadoop library. The line
JAVA_PLATFORM=`CLASSPATH=${CLASSPATH} ${JAVA}
org.apache.hadoop.util.PlatformName`
in bin/nutch returns "Mac OS X-ppc-32", which then appears as
-Djava.library.path=/Users/bwhitman/Desktop/nn/lib/native/Mac OS X-ppc-32
in the java command line to start a nutch tool.
Not sure the best way to fix this, but I manually put
JAVA_PLATFORM='MacOSX/PPC'
and the error went away. "
The same problem occurs in bin/hadoop.
I propose the following fix:
JAVA_PLATFORM=`CLASSPATH=${CLASSPATH} ${JAVA}
org.apache.hadoop.util.PlatformName | sed -e 's/ /_/g'`
The alternative would be to fix this in PlatformName, but then we may want to
get the real platform name in some other places. We could also add a cmd-line
switch to PlatformName.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.