博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【原创】Mac上编译Hadoop1.0.3出现的一些问题
阅读量:4449 次
发布时间:2019-06-07

本文共 2537 字,大约阅读时间需要 8 分钟。

create-native-configure:     [exec] configure.ac:47: error: possibly undefined macro: AC_PROG_LIBTOOL     [exec]       If this token and others are legitimate, please use m4_pattern_allow.     [exec]       See the Autoconf documentation.     [exec] autoreconf: /usr/local/Cellar/autoconf/2.69/bin/autoconf failed with exit status: 1BUILD FAILED/Users/lili/快盘/hadoop-1.0.3/build.xml:618: exec returned: 1

用ant编译至此出现报错,然后安装个libtool问题就解决了,brew install libtool,这个问题应该只在Mac下出现,可能是系统的原因。接下来解决了这个问题,还出现了个奇葩的问题。

compile:     [echo] contrib: gridmix    [javac] /Users/lili/快盘/hadoop-1.0.3/src/contrib/build-contrib.xml:185: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds    [javac] Compiling 31 source files to /Users/lili/快盘/hadoop-1.0.3/build/contrib/gridmix/classes    [javac] /Users/lili/快盘/hadoop-1.0.3/src/contrib/gridmix/src/java/org/apache/hadoop/mapred/gridmix/Gridmix.java:396: 错误: 类型参数? extends T不在类型变量E的范围内    [javac]   private 
String getEnumValues(Enum
[] e) { [javac] ^ [javac] 其中, T,E是类型变量: [javac] T扩展已在方法
getEnumValues(Enum
[])中声明的Object [javac] E扩展已在类 Enum中声明的Enum
[javac] /Users/lili/快盘/hadoop-1.0.3/src/contrib/gridmix/src/java/org/apache/hadoop/mapred/gridmix/Gridmix.java:399: 错误: 类型参数? extends T不在类型变量E的范围内 [javac] for (Enum
v : e) { [javac] ^ [javac] 其中, T,E是类型变量: [javac] T扩展已在方法
getEnumValues(Enum
[])中声明的Object [javac] E扩展已在类 Enum中声明的Enum
[javac] 注: 某些输入文件使用了未经检查或不安全的操作。 [javac] 注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。 [javac] 2 个错误

这个问题是这个版本的个BUG,解决方法如下:

 

 

Index: src/contrib/gridmix/src/java/org/apache/hadoop/mapred/gridmix/Gridmix.java===================================================================--- src/contrib/gridmix/src/java/org/apache/hadoop/mapred/gridmix/Gridmix.java    (revision 1340233)+++ src/contrib/gridmix/src/java/org/apache/hadoop/mapred/gridmix/Gridmix.java    (working copy)@@ -613,10 +613,10 @@     }   } -  private 
String getEnumValues(Enum
[] e) {+ private String getEnumValues(Enum
[] e) { StringBuilder sb = new StringBuilder(); String sep = "";- for (Enum
v : e) {+ for (Enum
v : e) { sb.append(sep); sb.append(v.name()); sep = "|";

 

转载于:https://www.cnblogs.com/gslyyq/p/4914525.html

你可能感兴趣的文章
[SCOI2005]骑士精神
查看>>
Hibernate原理解析-Hibernate中实体的状态
查看>>
六时车主 App 隐私政策
查看>>
C语言常见问题 如何用Visual Studio编写C语言程序测试
查看>>
Web用户的身份验证及WebApi权限验证流程的设计和实现
查看>>
hdu 2098 分拆素数和
查看>>
[ONTAK2010]Peaks kruskal重构树,主席树
查看>>
ECMAScript6-let与const命令详解
查看>>
iOS 使用系统相机、相册显示中文
查看>>
什么是敏捷设计
查看>>
SCSS的基本操作
查看>>
"安装程序无法定位现有系统分区" 问题解决
查看>>
.NET中栈和堆的比较
查看>>
【莫队】bzoj 3781,bzoj 2038,bzoj 3289
查看>>
如何优化limit
查看>>
几种常用数据库字段类型查询语句
查看>>
字符全排列
查看>>
提高效率必须改掉的7种习惯
查看>>
Java判断语句中判断条件的执行顺序
查看>>
Windows平台下tomcat+java的web程序持续占cpu问题调试
查看>>