hadoop-common-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Hadoop Wiki] Update of "HowToContribute" by QwertyManiac
Date Fri, 30 Dec 2011 17:03:20 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Hadoop Wiki" for change notification.

The "HowToContribute" page has been changed by QwertyManiac:
http://wiki.apache.org/hadoop/HowToContribute?action=diff&rev1=74&rev2=75

Comment:
HADOOP-7944, contributions from Mark Pollack

  To build the code, install (as well as the programs needed to run Hadoop on Windows, if
that is your development platform)
   * [[http://ant.apache.org/|Apache Ant]]
   * [[http://maven.apache.org/|Apache Maven]]
+  * [[http://java.com/|Oracle Java 6]]
- These should be on the path; test by executing {{{ant}}} and {{{mvn}}} respectively.
+ These should also be on your PATH; test by executing {{{ant}}} and {{{mvn}}} and {{{javac}}}
respectively.
  
  As the Hadoop builds use the external Maven repository to download artifacts, Ant and Maven
need to be set up with the proxy settings needed to make external HTTP requests. You will
also need to be online for the first builds of every Hadoop project, so that the dependencies
can all be downloaded.
- 
  
  === Other items ===
  
   * A Java Development Kit is required to be installed and on the path of executables. The
Hadoop developers recommend the Sun JDK.
   * The source code of projects that you depend on. Avro, Jetty, Log4J are some examples.
This isn't compulsory, but as the source is there, it helps you see what is going on.
   * The source code of the Java version that you are using. Again: handy.
-  * The Java API javadocs. 
+  * The Java API javadocs.
-  * the {{{diff}}} and {{{patch}}} commands, which ship with Unix/Linux systems, and come
with cygwin. 
+  * the {{{diff}}} and {{{patch}}} commands, which ship with Unix/Linux systems, and come
with cygwin.
-  
+ 
  
  ==== Hardware Setup ====
  
-  * Lots of RAM, especially if you are using a modern IDE. ECC RAM is recommended in large-RAM
systems. 
+  * Lots of RAM, especially if you are using a modern IDE. ECC RAM is recommended in large-RAM
systems.
   * Disk Space. Always handy.
-  * Network Connectivity. Hadoop tests are not guaranteed to all work if a machine does not
have a network connection -and especially if it does not know its own name. 
+  * Network Connectivity. Hadoop tests are not guaranteed to all work if a machine does not
have a network connection -and especially if it does not know its own name.
   * Keep your computer's clock up to date via an NTP server, and set up the time zone correctly.
This is good for avoiding change-log confusion.
  
  === Getting the source code ===
@@ -75, +75 @@

  
  This is a good opportunity to get the GNU C/C++ toolchain installed, which is useful for
working on the native code used in the HDFS project.
  
- To install and use ProtocolBuffers 
+ To install and use ProtocolBuffers
  
  ==== Linux ====
  
- Install the protobuf packages ''provided they are current enough'' -see the README file
for the current version. If they are too old, uninstall any version you have and follow the
instructions. 
+ Install the protobuf packages ''provided they are current enough'' -see the README file
for the current version. If they are too old, uninstall any version you have and follow the
instructions.
  
  ==== Local build and installation ====
  
-  * you need a copy of GCC 4.1+ including the {{{g++}}} C++ compiler, {{{make}}} and the
rest of the GNU C++ development chain. 
+  * you need a copy of GCC 4.1+ including the {{{g++}}} C++ compiler, {{{make}}} and the
rest of the GNU C++ development chain.
   * Linux: you need a copy of autoconf installed, which your local package manager will do
-along with automake.
   * Download the version of protocol buffers that the YARN readme recommends from [[http://code.google.com/p/protobuf/|the
protocol buffers project]].
   * unzip it/untar it
   * {{{cd}}} into the directory that has been created.
-  * run {{{/.configure}}}. 
+  * run {{{/.configure}}}.
   * If configure fails with "C++ preprocessor "/lib/cpp" fails sanity check" that means you
don't have g++ installed. Install it.
   * run {{{make}}} to build the libraries.
-  * on a Unix system, after building the libraries, you must install it ''as root''. {{{su}}}
to root, then run 
+  * on a Unix system, after building the libraries, you must install it ''as root''. {{{su}}}
to root, then run
  
  ==== Testing your Protocol Buffers installation ====
  
@@ -102, +102 @@

  Missing input file.
  }}}
  
- You may see the error message 
+ You may see the error message
  {{{
  $ protoc
  protoc: error while loading shared libraries: libprotobuf.so.7: cannot open shared object
file: No such file or directory
  }}}
  
  This is a [[http://code.google.com/p/protobuf/issues/detail?id=213|known issue]] for Linux,
and is caused by a stale cache of libraries. Run {{{ldconfig}}} and try again.
- 
- 
- 
  
  === Making Changes ===
  Before you start, send a message to the [[http://hadoop.apache.org/core/mailing_lists.html|Hadoop
developer mailing list]], or file a bug report in [[Jira]].  Describe your proposed changes
and check that they fit in with what others are doing and have planned for the project.  Be
patient, it may take folks a while to understand your requirements.
@@ -139, +136 @@

  ==== Using Maven ====
  Hadoop 0.23 and later is built using [[http://maven.apache.org/|Apache Maven]], version
3 or later. (Parts of MapReduce are still built using Ant, see the instructions in the {{{INSTALL}}}
file in {{{hadoop-mapreduce}}} for details.)
  
- Maven likes to download things, especially on the first run. 
+ Maven likes to download things, especially on the first run.
   1. Be online for that first build, on a good network
   1. To set the Maven proxy setttings, see http://maven.apache.org/guides/mini/guide-proxies.html
-  1. Because Maven doesn't pass proxy settings down to the Ant tasks it runs [[https://issues.apache.org/jira/browse/HDFS-2381|HDFS-2381]]
some parts of the Hadoop build may fail. The fix for this is to pass down the Ant proxy settings
in the build Unix: {{{mvn $ANT_OPTS}}}; windows   {{{mvn %ANT_OPTS%}}}. 
+  1. Because Maven doesn't pass proxy settings down to the Ant tasks it runs [[https://issues.apache.org/jira/browse/HDFS-2381|HDFS-2381]]
some parts of the Hadoop build may fail. The fix for this is to pass down the Ant proxy settings
in the build Unix: {{{mvn $ANT_OPTS}}}; windows   {{{mvn %ANT_OPTS%}}}.
  
  
  === Generating a patch ===
@@ -211, +208 @@

  
  ==== Naming your patch ====
  
- Patches for trunk should be named according to the Jira: '''jira-xyz.patch''', eg hdfs-1234.patch.

+ Patches for trunk should be named according to the Jira: '''jira-xyz.patch''', eg hdfs-1234.patch.
  
  Patches for a non-trunk branch should be named '''jira-xyz-branch.patch''', eg hdfs-123-branch-0.20-security.patch.
 The branch name suffix should be the exact name of a Subversion branch under hadoop/common/branches/,
such as "branch-0.20-security".  This naming convention allows the pre-commit tests to automatically
run against the correct branch (new capability coming soon; see HADOOP-7435).
  
- It's OK to upload a new patch to Jira with the same name as an existing patch, Jira will
just make the previous patches grey. They're still listed, sorted by date. If you select the
"Activity>All" tab then the different versions are linked in the comment stream, providing
context. 
+ It's OK to upload a new patch to Jira with the same name as an existing patch, Jira will
just make the previous patches grey. They're still listed, sorted by date. If you select the
"Activity>All" tab then the different versions are linked in the comment stream, providing
context.
  
  
  ==== Testing your patch ====

Mime
View raw message