Monday, February 01, 2010

[task] Mesa 7.7 compile (on going)

Mesa 7.7 編譯過程是我遇過非常繁雜的。

目前在 Ubuntu 可以編譯成功,但在 CentOS 還在努力當中。

目前先講 Ubuntu 部分

[Ubuntu]
0. 先假定我們要安裝到 /opt/mesa , 下載的 source 全部放在 /usr/local/src/build_mesa
記得安裝 apt-get install build-essential libx11-dev gcc4
由於我採用 gcc4 編譯 安裝到 /opt/mesa

請每次編譯時 ./configure prefix=/opt/mesa CC=/usr/bin/gcc4
以下文章以 ./configure 簡稱

1. 先到 Mesa 網站 http://www.mesa3d.org/relnotes-7.7.html
下載 MesaLib-7.7.tar.bz2 MesaDemos-7.7.tar.bz2 MesaGLUT-7.7.tar.bz2
解開全部後,先是一次 ./configure 她會告訴你缺 libdrm 。

沒關係 這裡給一個網站 http://paldo.org 這是一套 Linux Distrubtion
我們可以找到所有我們需要的 source 而且這個網站也會提供套件的相依性
所以當我們卡在某個套件無法編譯時,可以看看是否有缺哪些套件沒有先進行編譯

下載完 libdrm 她又會告訴你缺 pkg-config
回去再編 libdrm 她又會告訴你缺 libpthread-stubs-0.1
OK, 這會是一個超級迷宮,在編譯過程中會不斷出現,只能認命了

這裡提示一下 幾個重要的地方
a. pkg-config
編譯後 setenv PKG_CONFIG_PATH /opt/mesa/lib/pkgconfig
我們編譯過程 py 檔幾乎都乎都會放在這個目錄,除了 xtrans 以外
其他編譯的程式若需要參考 .py 我們就設定這個變數讓他到這目錄找

b. xtrans
編譯 xtrans 之後 將 xtrans.pc 放到 $PKG_CONFIG_PATH
cp /opt/mesa/share/pkgconfig/xtrans.pc $PKG_CONFIG_PATH

c. 如果忘記編到那忘記了
很簡單 回到第一層 mesa-7.7 重新 ./configure 就會告訴你缺什麼了

[CentOS]

仍待測試... 尚未成功 整理中
下面為編譯順序 卡在 libxcb ,

pkg-config
setenv PKG_CONFIG_PATH /users/acty.chen/work/GPU2/lib/pkgconfig


libptheard-stubs
pixman
cario


dri2proto

xproto
xextproto

xtrans
cp ../../GPU2/share/pkgconfig/xtrans.pc ../../GPU2/lib/pkgconfig/xtrans.pc


Python

setenv PATH ~/work/GPU2/bin:$PATH
xcbp-proto
libXau
libxcb

No comments:

Post a Comment