Linux 編譯flex bison總結

2021-10-23 04:16:30 字數 1765 閱讀 9615

end這個做了很久了,一直沒總結,今天以ubuntu18.04為例,總結一下步驟,沒有太多原理性的東西,希望能幫到編譯flex、bison程式時出錯的小夥伴們。

先解釋下,lex與yacc是兩個在unix下的分別作詞法分析和語法分析的工具,linux對應flex與bison。

step1、安裝bison

tar -zxvf bison-3.5.tar.gz

cd bison-3.5

./configure

make

make install

按理說不會出現什麼錯誤,反正我安裝過三颱機器都沒出問題。

step2、安裝flex

tar -zxvf *.tar.gz

cd *

./congifure

make

make install

現在來安裝flex:

第一種方式:

最簡單的方式必然是:

sudo apt-get install flex

flex --version #檢視flex版本

但是還是網速問題,有的時候還不如手動配置呢,於是有了方法2。

第二種方式:

unzip flex-master.zip

cd flex-master

./autogen.sh

## 這時候會生成乙個configure的可執行檔案,如果沒有就回過頭看上述依賴包有沒有都安裝好

./configure

make

2、問題來了,又缺少依賴包!!

flex-master/build-aux/missing: line 81

: makeinfo: command not found

warning

:'makeinfo' is missing on your system.

那我們安裝makeinfo就是了,我用熟悉的apt-get進行安裝,畢竟index of gnu鏈結中也根本沒有makeinfo:

sudo apt-get install makeinfo

//一定會出現以下錯誤

reading package lists... done

building dependency tree

reading state information... done

e: unable to locate package makeinfo

因為根本沒有這個包!我查閱很多資料,發現這其實是乙個叫做texinfo的依賴包:這裡

sudo apt-get install texinfo
或者index of gnu鏈結裡有,安裝方式與m4、autoconf等相同。安裝好了之後又繼續make,成功了。

3、但是make install出現了錯誤:

../build-aux/missing: 81: ../build-aux/missing: help2man: not found

warning: 'help2man' is missing on your system.

end
據某知名211一名「資深副教授」的說法,搭環境應該是分分鐘的事(信?你就輸了),所以老師的話告訴我,我這搭了半小時肯定是走了彎路啊~

linux核心編譯kernel編譯

核心編譯的簡單流程 1.先uname r查詢當前系統的kernel版本 3.切換至解壓後的原始碼目錄下,sudo i 進入root模式 4.apt get install libncurses dev,安裝 make menuconfig時需要用到的庫檔案 5.執行make menuconfig,選...

編譯 linux 核心

一 準備工作 tpv te0 首先說明,下面帶 號的行都是要輸入的命令列,且本文提到的所有命令列都在終端裡輸入。ixpub技術部落格 rc0p a6zx j 啟動linux系統,並用根使用者登入,進入終端模式下。6i sb w,a0 ixpub技術部落格c gng,y y ixpub技術部落格 k,...

linux編譯核心

red hat linux版本的核心編譯 make j2 編譯 make modules make modules install make install cd boot mkinitramfs o initrd.img 2.6.30.10 2.6.30.10 此項可能不需要 vim boot g...