| |
做QT移植时候,用到bison工具,编译时候,因为系统ubuntu是从头安装的,经常遇到编译时候确实一些工具连接到问题,bison编译时候也遇到了一次:
BISON_SOURCE:=bison-$(BISON_VERSION).tar.bz2
BISON_DIR:=$(TARGT_BOARD_ROOT)/bison/bison-$(BISON_VERSION)
all: $(BISON_DIR)/.configured
$(MAKE) -C $(BISON_DIR) all install
$(BISON_DIR)/.unpacked: $(TARGT_BOARD_ROOT)/bison/$(BISON_SOURCE)
bzcat $(TARGT_BOARD_ROOT)/bison/$(BISON_SOURCE) | tar -C $(TARGT_BOARD_ROOT)/bison -xf -
touch $@
$(BISON_DIR)/.configured: $(BISON_DIR)/.unpacked
(cd $(BISON_DIR); rm -rf config.cache; \
gt_cv_func_gnugettext2_libintl=yes \
./configure \
--prefix=$(NXP_BASE_ROOT)/ \
--quiet > /dev/null 2>&1 \
)
touch $@
clean:
Building Bison
make -C /bison BISON_VERSION=2.4.1
bzcat /bison/bison-2.4.1.tar.bz2 | tar -C /bison -xf -
touch //bison/bison-2.4.1/.unpacked
(cd /bison/bison-2.4.1; rm -rf config.cache; \
gt_cv_func_gnugettext2_libintl=yes \
./configure \
--prefix=/home/wine/kronos/root/host/linux \
--quiet > /dev/null 2>&1 \
)
make[3]: *** [/bison/bison-2.4.1/.configured] Error 1
gmake[2]: *** [check_bison] Error 2
首先,分析make做了哪些工作,是不是和makefile说的一致,
我们看到基本相同,也做了解包的工作,解包后没有立即去做gmake(qt用到make)而是,先去做了.configure...的配置
可是我们只有一个tar包,哪来的.configure
回到上级目录,才发现其实已经解了一个2.4.1的包
进去后发现确实有configure文件,于是立即执行.configure
发现如下问题:
checking for gnum4... no
checking for m4... no
checking whether m4 supports frozen files... no
configure: error: GNU M4 1.4 is required
看来问题确实是出在error1 处的configure
由于是新装系统,没有安装m4,所以重新安装再编译就好了
遇到编译问题,首先要认真研读log,同时一定要注意error1处的描述,其实make工具以及写的很清楚了
然后,再回过头去看makefile文件,对比逐一执行情况,应该就能调试处编译的问所在