- 具体错误:
$ make all
/bin/sh: 1: [: -a: unexpected operator
/bin/sh: line 0: [: too many arguments
^C/home/wuxi/jdk8u-jdk8u332-ga//make/Main.gmk:203: recipe for target '/home/wuxi/jdk8u-jdk8u332-ga/build/linux-x86_64-normal-server-release/source_tips' failed
make: *** [/home/wuxi/jdk8u-jdk8u332-ga/build/linux-x86_64-normal-server-release/source_tips] 中断
- 解决办法一
make时不要有任何参数。编译结果中没有images。这显然是不能满意的。
- 解决办法二
使用老版本的make/common/MakeBase.gmk
- 解决办法三
修改make/common/MakeBase.gmk,从319的define GetSourceTips一行开始,修改如下:
define GetSourceTips
$(CD) $(SRC_ROOT) ; \
# TSIT: con't work ok.
# if [ -d $(SCM_DIR) -a "$(SCM_VERSION)" != "" ] ; then \
# $(ID_COMMAND) >> $@ ; \
# elif [ -f $(SCM_TIP_FILENAME) ] ; then \
# $(SCM_TIP_FILECMD) >> $@ ; \
# fi;
for i in $(REPO_LIST) IGNORE ; do \
if [ "$${i}" = "IGNORE" ] ; then \
continue; \
elif [ -d $${i}/$(HG_DIRECTORY) -a "$(HG_VERSION)" != "" ] ; then \
$(PRINTF) " %s:%s" \
"$${i}" `$(HG) id -i --repository $${i}` ; \
elif [ -f $${i}/$(HGTIP_FILENAME) ] ; then \
$(PRINTF) " %s:%s" \
"$${i}" `$(CAT) $${i}/$(HGTIP_FILENAME)` ; \
fi; \
done >> $@
$(PRINTF) "\n" >> $@
endef