编译hive 出错 及修改

最近在研究hadoop ,在使用ant clean编译hive源码的时候报出了如下的错误:


[exec] Makefile:138: ***   *************


因为make-3.81版、make-3.82.90版在windows下的bug,可以下载make-3.82版本


于是上了make的官网:

http://www.gnu.org/software/make/

下载了make-3.82版本:

http://ftp.gnu.org/gnu/make/make-3.82.tar.bz2

解压make-3.82 ,进入文件夹中,然后创建bat文件内容如下:

@ECHO OFF

SET CYGWIN_ROOT=d:\cygwin

SET LANG=C.UTF-8

SET PATH=%CYGWIN_ROOT%\bin;%PATH%

SET HOME=%~dp0

@bash --login -i

然后运行此bat文件(前提是装了Mingw cygwin版本):

输入命令

 ./configure

执行一大串信息,然后再输入命令:

Make all


然后将此文件夹下的 make.exe 拷贝到 cygwin/bin下面。


然后重新编译就可以通过了。


PS:

Make windows下编译的话,如果不打开cygwinbash,那么需要下面的三个dll

cygwin1.dllcygintl-8.dllcygiconv-2.dll

这样的话,把make和上面三个dll文件放在一起,放入d:\win32make\bin下面,那么在windows下面的编译脚本就这样写:

@ECHO OFF

SET COMPILER_ROOT=d:\arm-gnu-tools

SET MAKE_DIR=d:\win32make

SET LANG=C.UTF-8

SET PATH=% COMPILER_ROOT%\bin;%MAKE_DIR%\bin;%PATH%

SET HOME=%~dp0

cd /d %HOME%

cmd

 



原文地址:https://www.cnblogs.com/java20130722/p/3206998.html