[
https://issues.apache.org/jira/browse/HADOOP-8368?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13290706#comment-13290706
]
Tsz Wo (Nicholas), SZE commented on HADOOP-8368:
------------------------------------------------
The patch seems still not working. There were some error in [build
#2612|https://builds.apache.org/job/PreCommit-HDFS-Build/2612/consoleText].
{noformat}
[exec] make[2]: *** [target/usr/local/lib/libhdfs.so.0.0.0] Error 1
[exec] make[1]: *** [CMakeFiles/hdfs.dir/all] Error 2
[exec] make: *** [all] Error 2
[exec] Linking C shared library target/usr/local/lib/libhdfs.so
[exec] /usr/bin/cmake -E cmake_link_script CMakeFiles/hdfs.dir/link.txt
--verbose=1
[exec] /usr/bin/gcc -fPIC -m32 -g -Wall -O2 -D_GNU_SOURCE -D_REENTRANT
-D_FILE_OFFSET_BITS=64 -shared -Wl,-soname,libhdfs.so.0.0.0 -o
target/usr/local/lib/libhdfs.so.0.0.0 CMakeFiles/hdfs.dir/main/native/hdfs.c.o
CMakeFiles/hdfs.dir/main/native/hdfsJniHelper.c.o
/usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server/libjvm.so
-Wl,-rpath,/usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server
[exec] make[2]: Leaving directory
`/home/jenkins/jenkins-slave/workspace/PreCommit-HDFS-Build/trunk/hadoop-hdfs-project/hadoop-hdfs/target/native'
[exec] make[1]: Leaving directory
`/home/jenkins/jenkins-slave/workspace/PreCommit-HDFS-Build/trunk/hadoop-hdfs-project/hadoop-hdfs/target/native'
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 23.829s
[INFO] Finished at: Thu Jun 07 01:46:34 UTC 2012
[INFO] Final Memory: 29M/397M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal
org.apache.maven.plugins:maven-antrun-plugin:1.6:run (make) on project
hadoop-hdfs: An Ant BuildException has occured: exec returned: 2 -> [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/MojoExecutionException
[I{noformat}
Hi Alejandro, why not wait for the Jenkins report before committing this?
> Use CMake rather than autotools to build native code
> ----------------------------------------------------
>
> Key: HADOOP-8368
> URL: https://issues.apache.org/jira/browse/HADOOP-8368
> Project: Hadoop Common
> Issue Type: Improvement
> Affects Versions: 2.0.0-alpha
> Reporter: Colin Patrick McCabe
> Assignee: Colin Patrick McCabe
> Priority: Minor
> Fix For: 2.0.1-alpha
>
> Attachments: HADOOP-8368-b2.001.patch, HADOOP-8368-b2.001.rm.patch,
> HADOOP-8368-b2.001.trimmed.patch, HADOOP-8368-b2.002.rm.patch,
> HADOOP-8368-b2.002.trimmed.patch, HADOOP-8368.001.patch,
> HADOOP-8368.005.patch, HADOOP-8368.006.patch, HADOOP-8368.007.patch,
> HADOOP-8368.008.patch, HADOOP-8368.009.patch, HADOOP-8368.010.patch,
> HADOOP-8368.012.half.patch, HADOOP-8368.012.patch, HADOOP-8368.012.rm.patch,
> HADOOP-8368.014.trimmed.patch, HADOOP-8368.015.trimmed.patch,
> HADOOP-8368.016.trimmed.patch, HADOOP-8368.018.trimmed.patch,
> HADOOP-8368.020.rm.patch, HADOOP-8368.020.trimmed.patch,
> HADOOP-8368.021.trimmed.patch, HADOOP-8368.023.trimmed.patch,
> HADOOP-8368.024.trimmed.patch, HADOOP-8368.025.trimmed.patch,
> HADOOP-8368.026.rm.patch, HADOOP-8368.026.trimmed.patch,
> HADOOP-8368.028.rm.patch, HADOOP-8368.028.trimmed.patch
>
>
> It would be good to use cmake rather than autotools to build the native
> (C/C++) code in Hadoop.
> Rationale:
> 1. automake depends on shell scripts, which often have problems running on
> different operating systems. It would be extremely difficult, and perhaps
> impossible, to use autotools under Windows. Even if it were possible, it
> might require horrible workarounds like installing cygwin. Even on Linux
> variants like Ubuntu 12.04, there are major build issues because /bin/sh is
> the Dash shell, rather than the Bash shell as it is in other Linux versions.
> It is currently impossible to build the native code under Ubuntu 12.04
> because of this problem.
> CMake has robust cross-platform support, including Windows. It does not use
> shell scripts.
> 2. automake error messages are very confusing. For example, "autoreconf:
> cannot empty /tmp/ar0.4849: Is a directory" or "Can't locate object method
> "path" via package "Autom4te..." are common error messages. In order to even
> start debugging automake problems you need to learn shell, m4, sed, and the a
> bunch of other things. With CMake, all you have to learn is the syntax of
> CMakeLists.txt, which is simple.
> CMake can do all the stuff autotools can, such as making sure that required
> libraries are installed. There is a Maven plugin for CMake as well.
> 3. Different versions of autotools can have very different behaviors. For
> example, the version installed under openSUSE defaults to putting libraries
> in /usr/local/lib64, whereas the version shipped with Ubuntu 11.04 defaults
> to installing the same libraries under /usr/local/lib. (This is why the FUSE
> build is currently broken when using OpenSUSE.) This is another source of
> build failures and complexity. If things go wrong, you will often get an
> error message which is incomprehensible to normal humans (see point #2).
> CMake allows you to specify the minimum_required_version of CMake that a
> particular CMakeLists.txt will accept. In addition, CMake maintains strict
> backwards compatibility between different versions. This prevents build bugs
> due to version skew.
> 4. autoconf, automake, and libtool are large and rather slow. This adds to
> build time.
> For all these reasons, I think we should switch to CMake for compiling native
> (C/C++) code in Hadoop.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira