I kind of remember I hit similar issue when building hadoop 2.4. I changed the source code to use the full path of protoc.exe. It is in hadoop-maven-plugins\src\main\java\org\apache\hadoop\maven\plugin\protoc\ProtocMojo.java:
protocCommand = "C:\\cygwin64\\usr\\local\\bin\\protoc.exe"; Then the build worked for me. On Tue, May 20, 2014 at 11:08 PM, sam liu <[email protected]> wrote: > A more detailed exception info: > > [ERROR] Failed to execute goal > org.apache.hadoop:hadoop-maven-plugins:2.2.0:protoc (compile-protoc) on > project hadoop-common: org.apache.maven.plugin.MojoExecutionException: > 'protoc --version' did not return a version -> [Help 1] > org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute > goal org.apache.hadoop:hadoop-maven-plugins:2.2.0:protoc (compile-protoc) > on project hadoop-common: org.apache.maven.plugin.MojoExecutionException: > 'protoc --version' did not return a version > at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217) > at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) > at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) > at > org.apache.maven.lifecycle.internal.MojoExecutor.executeForkedExecutions(MojoExecutor.java:365) > at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:199) > at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) > at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) > at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) > at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) > at > org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) > at > org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) > at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320) > at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) > at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) > at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) > at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:600) > at > org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) > at > org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) > at > org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) > at > org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) > Caused by: org.apache.maven.plugin.MojoExecutionException: > org.apache.maven.plugin.MojoExecutionException: 'protoc --version' did not > return a version > at > org.apache.hadoop.maven.plugin.protoc.ProtocMojo.execute(ProtocMojo.java:107) > at > org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) > at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) > ... 23 more > Caused by: org.apache.maven.plugin.MojoExecutionException: 'protoc > --version' did not return a version > at > org.apache.hadoop.maven.plugin.protoc.ProtocMojo.execute(ProtocMojo.java:70) > ... 25 more > [ERROR] > > [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 > [ERROR] > [ERROR] After correcting the problems, you can resume the build with the > command > [ERROR] mvn <goals> -rf :hadoop-common > > > > 2014-05-21 14:04 GMT+08:00 sam liu <[email protected]>: > > Still failed... >> >> I added /opt/software/protobuf-2.5.0/src/.libs/libprotoc.so and other >> libprotoc.so.* files to LD_LIBRARY _PATH. But still failed, and the >> exceptions are: >> [WARNING] [/home/sam/protobuf-2.5.0/bin/protoc, --version] failed: >> java.io.IOException: Cannot run program >> "/home/sam/protobuf-2.5.0/bin/protoc": CreateProcess error=2, The system >> cannot find the file specified. >> [ERROR] stdout: [] >> [INFO] >> ------------------------------------------------------------------------ >> [INFO] Reactor Summary: >> [INFO] >> [INFO] Apache Hadoop Main ................................ SUCCESS >> [0.636s] >> [INFO] Apache Hadoop Project POM ......................... SUCCESS >> [0.743s] >> [INFO] Apache Hadoop Annotations ......................... SUCCESS >> [0.137s] >> [INFO] Apache Hadoop Project Dist POM .................... SUCCESS >> [0.094s] >> [INFO] Apache Hadoop Assemblies .......................... SUCCESS >> [0.085s] >> [INFO] Apache Hadoop Maven Plugins ....................... SUCCESS >> [1.762s] >> [INFO] Apache Hadoop Auth ................................ SUCCESS >> [0.208s] >> [INFO] Apache Hadoop Auth Examples ....................... SUCCESS >> [0.126s] >> [INFO] Apache Hadoop Common .............................. FAILURE >> [0.265s] >> [INFO] Apache Hadoop NFS ................................. SKIPPED >> .... .... >> [INFO] >> ------------------------------------------------------------------------ >> [INFO] BUILD FAILURE >> [INFO] >> ------------------------------------------------------------------------ >> [INFO] Total time: 24.181s >> [INFO] Finished at: Wed May 21 14:01:06 CST 2014 >> [INFO] Final Memory: 49M/512M >> [INFO] >> ------------------------------------------------------------------------ >> >> [ERROR] Failed to execute goal >> org.apache.hadoop:hadoop-maven-plugins:2.2.0:protoc (compile-protoc) on >> project hadoop-common: org.apache.maven.plugin.MojoExecutionException: >> 'protoc --version' did not return a version -> [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 >> [ERROR] >> [ERROR] After correcting the problems, you can resume the build with the >> command >> [ERROR] mvn <goals> -rf :hadoop-common >> >> >> 2014-05-21 11:45 GMT+08:00 Krishna Chaitanya <[email protected]>: >> >> Try adding the path to libprotoc.so to the variable LD_LIBRARY _PATH and >>> retry again. >>> On May 21, 2014 9:00 AM, "sam liu" <[email protected]> wrote: >>> >>>> Hi Experts, >>>> >>>> I can use Cygwin to build hadoop-1.1.1, however failed on hadoop-2.2, >>>> as I always encountter issue: >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> *[INFO] --- hadoop-maven-plugins:2.2.0:protoc (compile-protoc) @ >>>> hadoop-common --- [WARNING] [/home/sam/protobuf-win/bin/protoc, --version] >>>> failed: java.io.IOException: Cannot run program >>>> "/home/sam/protobuf-win/bin/protoc": CreateProcess error=2, The system >>>> cannot find the file specified. [ERROR] stdout: []... ....[ERROR] Failed to >>>> execute goal org.apache.hadoop:hadoop-maven-plugins:2.2.0:protoc >>>> (compile-protoc) on project hadoop-common: >>>> org.apache.maven.plugin.MojoExecutionException: 'protoc --version' did not >>>> return a version -> [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.* >>>> >>>> *But, actually I can run '$ /home/sam/protobuf-win/bin/protoc >>>> --version' or 'protoc --version', and it will return 'libprotoc 2.5'.* >>>> >>>> Any comments? >>>> >>>> Thanks! >>>> >>> >> >
