像我儿子一样永远保持好奇和梦想

[o][Q004][make]编译问题实例 - bison 编译错误:

上一篇 / 下一篇  2012-09-27 17:39:29 / 个人分类:linux

ET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台3e:} S9k:E;d

做QT移植时候,用到bison工具,编译时候,因为系统ubuntu是从头安装的,经常遇到编译时候确实一些工具连接到问题,bison编译时候也遇到了一次:

pct+v,_5p0

z9[ BWi$jX\0


1 bison的makefile,将网上下来的bison包直接解压到指定的文件夹并进行编译:ET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台?6NE^6[

ET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台I3@j*@j S

BISON_SOURCE:=bison-$(BISON_VERSION).tar.bz2ET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台5I#V7ub&U/`"Gu,[
BISON_DIR:=$(TARGT_BOARD_ROOT)/bison/bison-$(BISON_VERSION)

!UJ+BYQ d}K4O Ys0

j1E*Uw:Og)U?0all: $(BISON_DIR)/.configuredET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台s;r&g Y-M tJ'B
 $(MAKE) -C $(BISON_DIR) all install

on4~9Y ]#]'x0ET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台zrF_ WI2jQc}8W

$(BISON_DIR)/.unpacked: $(TARGT_BOARD_ROOT)/bison/$(BISON_SOURCE)
"B$d VU Yw0 bzcat $(TARGT_BOARD_ROOT)/bison/$(BISON_SOURCE) | tar -C $(TARGT_BOARD_ROOT)/bison -xf -
a%L tQn9C0 touch $@ET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台K(g@v)D;m C

ET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台'h l5S;Y9K.C

$(BISON_DIR)/.configured: $(BISON_DIR)/.unpacked
LuO2cJ0 (cd $(BISON_DIR); rm -rf config.cache; \
8h2z3ch$fE0                gt_cv_func_gnugettext2_libintl=yes \
I`|(Z;Z B&Q y0                ./configure \ET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台!G5gQ2ZI
                --prefix=$(NXP_BASE_ROOT)/ \ET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台p&G1}'V,xe
                --quiet > /dev/null 2>&1 \ET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台n \$~#Tr
        )
l(F'YC~%J3f9@0 touch $@ET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台?8k+p MLU

ET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台4T9nF,Nc.b6]

clean:ET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台e6N5GHU:L|4I

NmAI`(fEB%O"L#FK0


2 编译遇到问题如下log:ET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台.lK+j/Km?k*j

3W(Y)\Qf1p0Building BisonET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台N/ws.t)M1W

ET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台V9S^qQ&v-U

make -C /bison BISON_VERSION=2.4.1
.@&MHqu/i*d0bzcat /bison/bison-2.4.1.tar.bz2 | tar -C /bison -xf -
-?"Nfj.UPC]y0touch //bison/bison-2.4.1/.unpacked
.o._\]3^2C$f_0(cd /bison/bison-2.4.1; rm -rf config.cache; \
@Q A J#S'z0                gt_cv_func_gnugettext2_libintl=yes \ET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台u$R+r4~:p4WCS
                ./configure \ET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台?6\wP.r"c
                --prefix=/home/wine/kronos/root/host/linux \ET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台 a6Wg;rKaQ'[
                --quiet > /dev/null 2>&1 \
v SjJ1u e;l2oB JI0        )ET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台;P/k*a)Z7CA7BU7w6D
make[3]: *** [/bison/bison-2.4.1/.configured] Error 1ET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台(X4s `-X-^n3A
gmake[2]: *** [check_bison] Error 2ET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台(|Prpal$b7Z

+v4Rb$ZR0

(hWmW'B:{ zC$H6D0


3 问题分析:

;NQneu5?Z E6y0ET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台Cw9d t6W8U)j+{a7O

首先,分析make做了哪些工作,是不是和makefile说的一致,

-hJTOpo}`0

Tb;K:xj-k0我们看到基本相同,也做了解包的工作,解包后没有立即去做gmake(qt用到make)而是,先去做了.configure...的配置

'?"P0P*J5OR5q ?F]0ET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台3WY2s*_ OG*I

可是我们只有一个tar包,哪来的.configureET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台 sFaF$_z6J(i

ET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台f9v1d-?:Y^(t(F)P

回到上级目录,才发现其实已经解了一个2.4.1的包

dr,u(e(V!^x[/g0

#K8I8zg Hby0进去后发现确实有configure文件,于是立即执行.configure

4@x2i:q#Z0

| sk\V;V*li0发现如下问题:

Y ^e'V'jlL,r N0ET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台*M:LmG+j

checking for gnum4... no
WO2|Z0@x6t`0checking for m4... noET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台bUFk U'k W6Z
checking whether m4 supports frozen files... noET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台S)b E#\*{Kp
configure: error: GNU M4 1.4 is requiredET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台$a7vv P-|.]$O'K}M
ET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台)H.n Gyi s R0V8v[x

p'~H w#cI ~0看来问题确实是出在error1 处的configure

g3EY)k"XV]mT0ET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台6[wc wiK3}

由于是新装系统,没有安装m4,所以重新安装再编译就好了ET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台M1s/XcFt2azD

QJG-f+EG;H u6[h }0


调试小结:ET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台)I8_)d7\:Vt|

(F Cibb.I,cL0遇到编译问题,首先要认真研读log,同时一定要注意error1处的描述,其实make工具以及写的很清楚了ET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台(A$D!l0p\

l?.{e;V+KTx0然后,再回过头去看makefile文件,对比逐一执行情况,应该就能调试处编译的问所在ET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台+@/e\;r2Jt*w!P9Y6E(@
ET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台\ E1}P,j M$t1?

 ET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台Dk3G*Ek{4v3\

ET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台U-T,I*u/A p/?p%`

6oYV/i(S~)n0ET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台f,kv9U/`[7CS


本帖原创:by huang.makin@gmail.com

oDDKJli0

+P?5](K qI0

S6XKV/v#m0

"a xb I gv3D'D'Xp!{y0


3ET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台yo n v`Lc`

ET创芯网(EETOP)-电子设计威尼斯人网址、博客、超人气的电子工程师资料分享平台.nXCOER4J0J

?]6Cv \M,f0 

+A@ @#]C H Rt0

TAG: makefile Makefile 编译 bison

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar
博聚网