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

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

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

5Km Z?^-LK0 做QT移植时候,用到bison工具,编译时候,因为系统ubuntu是从头安装的,经常遇到编译时候确实一些工具连接到问题,bison编译时候也遇到了一次:ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台0x[{mBq5Z

ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台wu\4a5DS%Q#^


1 bison的makefile,将网上下来的bison包直接解压到指定的文件夹并进行编译:ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台 zH#fL6dZ \:v

[y/sF3X;X-b&[5b7p3[o2@0BISON_SOURCE:=bison-$(BISON_VERSION).tar.bz2ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台2Ys{ TRW
BISON_DIR:=$(TARGT_BOARD_ROOT)/bison/bison-$(BISON_VERSION)ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台h1H#K0H [i XON-]/AM

kq&|:B3jE4N0all: $(BISON_DIR)/.configured
+frD |fze0 $(MAKE) -C $(BISON_DIR) all install

6u7FkeoTC,b0ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台 l.j)Y9O9S9|

$(BISON_DIR)/.unpacked: $(TARGT_BOARD_ROOT)/bison/$(BISON_SOURCE)
NyZIkC.S$E0 bzcat $(TARGT_BOARD_ROOT)/bison/$(BISON_SOURCE) | tar -C $(TARGT_BOARD_ROOT)/bison -xf -
I!nm(X ~"BY0 touch $@ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台0@^ ]tt%j Z#~

ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台9fe;jW:kP r

$(BISON_DIR)/.configured: $(BISON_DIR)/.unpacked
u*M2T0S ZsYON0 (cd $(BISON_DIR); rm -rf config.cache; \ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台K'l0H \&nL [ Tj.Mo
                gt_cv_func_gnugettext2_libintl=yes \
V[8WY ^8b'Ss;}i!K0                ./configure \
b/s b$[$V9M4A0                --prefix=$(NXP_BASE_ROOT)/ \
D Oq {K/x&w0                --quiet > /dev/null 2>&1 \
9D!t0d3s2{W ^ k$YB b ]0        )
Uu7y6lJ#}0 touch $@ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台 WyS.lN8vU

e,z YB*T9SEs F0clean:

(B/qs i9U.u0ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台K3`O6Y _


2 编译遇到问题如下log:

4i"[&J5_3BK(D0

vt-].G7J/I8Pf0Building Bison

O-j PC%g9l0ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台[,[)\Wc3L

make -C /bison BISON_VERSION=2.4.1ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台1Ux$u.cV~N Lk%M
bzcat /bison/bison-2.4.1.tar.bz2 | tar -C /bison -xf -
kCE {ldhz6]0touch //bison/bison-2.4.1/.unpackedET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台W?gt c,v{
(cd /bison/bison-2.4.1; rm -rf config.cache; \ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台WjTH8_$f'?
                gt_cv_func_gnugettext2_libintl=yes \
-Nv$ReN0                ./configure \ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台5z I;bc!bi
                --prefix=/home/wine/kronos/root/host/linux \
lO u.[Js G)D0                --quiet > /dev/null 2>&1 \
#Q@XTM:G3c.`0        )
r+t8P] Bl0make[3]: *** [/bison/bison-2.4.1/.configured] Error 1ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台x zg8MK
gmake[2]: *** [check_bison] Error 2
H2?~2O }0

)EPK:zZ _5I0

EF6{ s!U0


3 问题分析:ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台#g'd!Kt Z"w

B3[U/x X8Lfaf'^G0首先,分析make做了哪些工作,是不是和makefile说的一致,

k2m zMU q0

CXnHb{)}0我们看到基本相同,也做了解包的工作,解包后没有立即去做gmake(qt用到make)而是,先去做了.configure...的配置ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台J6wlq.[8W1R|A

ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台H-Z;v-C4bQR

可是我们只有一个tar包,哪来的.configure

g!G"M(e m0

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

"c]NQ^{0

%n6l3c~p0进去后发现确实有configure文件,于是立即执行.configureET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台NqHF7`?x1[c

)jA"YHFH6E+R{6\l t0发现如下问题:

&vP4CI)sx+GF0

k6mq;f'u{2VA8gQ6Ds0checking for gnum4... no
9w#mJ0J4QU0checking for m4... no
e8}5u0w/E-tZ0checking whether m4 supports frozen files... noET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台m.Ug m4h_P.lC
configure: error: GNU M4 1.4 is required
FoY c ct%P%mX"H0ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台Uv-ex|*k ou

ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台FX%` Uq5Dw @

看来问题确实是出在error1 处的configure

9}E,}G9fz:bLY%j3G)\0ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台v!~7m,IsUeO

由于是新装系统,没有安装m4,所以重新安装再编译就好了

r8sEf^Y0

M}AM3{F6`tN:D0


调试小结:

t(rt"tFj(x0

bpM'L}\ @0遇到编译问题,首先要认真研读log,同时一定要注意error1处的描述,其实make工具以及写的很清楚了

%U c3Y7]oC+?z"Z0ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台;L5]-T'H\:t*n

然后,再回过头去看makefile文件,对比逐一执行情况,应该就能调试处编译的问所在ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台~*WXu!O8m#ha
ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台9?%U+X o;lmk~

 

d[L}Yr$Pq0

+z,i4B)kR3u3`o0

.F W/uK)Gl/UKjG&j0ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台0_E9H]$lh


本帖原创:by huang.makin@gmail.com ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台;t'@{NRK.Z_ib p

4x6b J&F:k m e6E3{[)kTy0ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台j(VT~O

ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台 v(J]7XE5Q;G


3

-B/g8^ W3t\8G$a0bFn(a0ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台u*{-a+g ?3oy9XqU

tR5|m:G.Z(Z0 

:b/r!\5DW:Ew0

TAG: makefile Makefile 编译 bison

 

评分:0

我来说两句

显示全部

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

Open Toolbar