[測試]apt-build衝阿

如果您覺得您的問題不屬於 debian desktop 或是 debian server 版的範圍內,請在這裡發問。

版主: mufa

[測試]apt-build衝阿

文章阿威 » 週四 9月 19, 2002 8:52 pm

上次看到阿信大大說的
利用一些最佳化的設定,他說在他的電腦可以開啟mozilla在一秒作右
多麼吸引人阿,我的k6-2 400的電腦也想要....(我開mozilla要八九秒)
那要怎麼作咧,阿信大大說到利用apt-build來幫助我們build我們的套件
(我有看到阿信大大在其他地方的留言,說到apt-build就像是port的機制一樣)
我們先看看他原文的介紹吧
What is apt-build ?
apt-build is an apt-get front-end for compiling software optimised for your architecture.
This would make your softs run faster (but you will maybe not use them on different boxes than the one where the sources were compiled).
他的意思是說去根據你的電腦作最佳化

二話不說 apt-get install apt-build
在configure的時候他有問你一些最佳化的問題
例如你是用那一種cpu(應該是主要建立/etc/apt/apt-build.conf)

ok裝好了接下來怎做咧,我也不知道,看一下男人吧(man)
大概是說,可以這樣裝新的套件
apt-build install (package)
為啥我說是新的套件咧,也就是說如果你已經裝好最新的套件,他是不會理你的喔。
那要怎辦咧,我們可以利用這個option來做
apt-build -reinstall install (package)
這樣他就會下載最新的套件的src及需要用到的開發套件(太爽了,build套件就不需要管缺啥套件了)
(註:如果你已經build一次過後,reinstall這個選項似乎就沒用了,可能要用rebuild這個option,我沒用過知道的大大請說明)

如果你是安裝新的套件(也就是第一次安裝的套件)
他似乎會連一些相依的套件(也就是說你的電腦沒有的相依套件)一起build(如果有的就不重build)

因此如果你是最乾淨的debian從安裝套件就用apt-build
你全部的系統都最佳化了(爽吧)

當然你也可以利用apt-build world這個指令將你的系統整個rebuild
(註 這個應該需要建立apt-build.list
讓我們看看readme是怎寫的
Rebuilding the world:
You must create a package list.
The simplest way to do it, is to run:
dpkg --get-selections | awk '{print $1}' > /etc/apt/apt-build.list
You should edit this file to remove some packages like gcc, etc...
Note that rebuild all packages is still experimental and can break
you system.

應該是說需要建立一個apt-build.list,而這個list就是你所有的套件名稱)
我今天去rebuild mozilla 1.1(老實說1.1的速度真的有長進)
在將他重新編譯,結果load mozilla幾秒,九秒一樣(嗚嗚)
不知道是不是我只有rebuild mozilla所以快不了(他的相關套件我沒有rebuild)

(註 readme有說如果你rebuild gcc最佳化是不會有作用的)

不過rebuild mozilla真的很久ㄋㄟ(光src下載就要39MB,撥接請勿嘗試)
更何況build mozilla所花的時間了。(每次compilier一個套件都有讓我想要換電腦的感覺)

但是rebuild 後的mozilla 1.1在使用上的效率真的很不錯
(不論在切換tab或是load網頁的速度)
因此不想build的人我也強烈建議去換成mozilla 1.1(真的快好厲害)




最後一些小問題囉(我也不知道的問題)
我去修改apt-build.conf(我把o2修改成o3)
不過他在compilier的時候似乎還是用o2的最佳化
第二就是我不會修改gcc.wrapper
沒寫過perl請阿信大大教一下吧


(強烈建議:想要rebuild大的套件,電腦又不夠快的話,可以利用睡覺的時候build,如果想要apt-build world可以將你所有的套件list分成好幾分來慢慢rebuild)
阿威
摩托學園!學園長們
摩托學園!學園長們
 
文章: 419
註冊時間: 週三 9月 04, 2002 2:31 am

re:[測試]apt-build衝阿

文章阿威 » 週四 9月 19, 2002 10:30 pm

剛剛在reinstall gaim作測試
結果compilier還是少了libtool這個套件
然後-rebuild好像沒作用咧
阿威
摩托學園!學園長們
摩托學園!學園長們
 
文章: 419
註冊時間: 週三 9月 04, 2002 2:31 am

re:[測試]apt-build衝阿

文章阿信 » 週五 9月 20, 2002 8:11 am

嘿嘿...終於也有人跳進來用摟,順便跟阿威說一下,apt-build bug滿多的,所以要小心窩。

他跟freebsd的port還不是那麼接近,比如相關library沒安裝,他是抓precompile package,並不是抓src的library在編譯,我覺得這樣也會影響最佳化。

至於gcc.wrapper的話,我發現debian的package本來就有加入一些最佳化的設定,所以只要改 -O3 , mcpu , march就可以了。

是大寫的 O 窩,改了之後的確是用-O3來最佳化呢。
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

re:[測試]apt-build衝阿

文章阿信 » 週五 9月 20, 2002 9:45 am

對摟,gcc-3.1.1編譯的效果會比較明顯,gcc-3.2很多軟體都

編譯不起來,讓我懷疑gcc-3.2是否不符合一些舊program的寫法???

但小弟只用testing裡面的gcc-2.95-4,希望testing能快點將gcc-3.1.1納入。
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

re:[測試]apt-build衝阿

文章octapult » 週五 9月 20, 2002 11:24 am

看大家都在玩 apt-build,弟也蠻心動的。
不過弟有個問題,就是為甚麼大家不使用 apt-get source --compile 的方式來編譯安裝套件呢?
octapult
摩托學園!學園長們
摩托學園!學園長們
 
文章: 512
註冊時間: 週六 9月 07, 2002 10:30 pm
來自: Seyda Neen, Morrowind

re:[測試]apt-build衝阿

文章阿信 » 週五 9月 20, 2002 11:35 am

嘿嘿...問的好阿,原來就是......

如果使用apt-get source --compile的話,安裝好的package後,如果又打

apt-get upgrade,剛剛make好的package又會被升級成debian precompiled package,這樣就失去自己make的意義了。

如果是用apt-build的話,他會在/var/cache/apt-build建立兩個dirs

build , repository

build目錄放的是make時候的tmp files , repository是放build好的package。

而安裝apt-build之後,會在sources.list中加入

deb file:/var/cache/apt-build/repository apt-build main

這下懂了吧,就變成了自己的PC也成為了一個小小的debian package mirror了,未來如果要安裝or upgrade的話,就全部都用apt-build

apt-build install
apt-build upgrade

現在正在apt-build upgrade ,將我的qt,kde重新編譯(好久窩)

但有些像openoffice我是讓apt-build 直接抓precompiled package,因為openoffice要compile太久了。
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

re:[測試]apt-build衝阿

文章octapult » 週五 9月 20, 2002 3:07 pm

阿信兄,我剛才試編了一下 GAIM,我的 apt-build.conf 設定裡面的 gcc 是 3.0 (我的系統裡面有安裝 gcc-2.95 和 gcc-3.0),
Olevel = -O3
march = -march=i686
mcpu = -mcpu=i686
可是剛才看了一下編譯的過程,訊息出現的卻是 "gcc .... -O2 ....",似乎並沒有使用 gcc-3.0 來編譯,也沒有加上 -O3 和 -mcpu 等參數耶?不知道您在編譯過程的訊息如何?有沒有出現 -O3 和 -mcpu 等字樣?
octapult
摩托學園!學園長們
摩托學園!學園長們
 
文章: 512
註冊時間: 週六 9月 07, 2002 10:30 pm
來自: Seyda Neen, Morrowind

re:[測試]apt-build衝阿

文章moto » 週五 9月 20, 2002 3:27 pm

octapult 寫:阿信兄,我剛才試編了一下 GAIM,我的 apt-build.conf 設定裡面的 gcc 是 3.0 (我的系統裡面有安裝 gcc-2.95 和 gcc-3.0),
Olevel = -O3
march = -march=i686
mcpu = -mcpu=i686
可是剛才看了一下編譯的過程,訊息出現的卻是 "gcc .... -O2 ....",似乎並沒有使用 gcc-3.0 來編譯,也沒有加上 -O3 和 -mcpu 等參數耶?不知道您在編譯過程的訊息如何?有沒有出現 -O3 和 -mcpu 等字樣?


我懷疑是不是該軟體的 Makefile 的優先權高於 apt-build
假設某軟體的 Makefile 是 gcc -O2 ...而 apt-build.conf 的設定是 -O3 ..則實際重新編譯時是以軟體的 Makefile 為主還是 apt-build.conf 設定的參數為主呢... :roll:
頭像
moto
摩托學園站長
摩托學園站長
 
文章: 2808
註冊時間: 週二 9月 03, 2002 3:37 am
來自: 台北

re:[測試]apt-build衝阿

文章octapult » 週五 9月 20, 2002 3:36 pm

我剛才看了一下 gaim 的 config.log,gcc 版本確實是 3.04,只是我還是不確定編譯過程到底有沒有使用 -O3 和 -march =i686 和 -mcpu=i686 的參數。
octapult
摩托學園!學園長們
摩托學園!學園長們
 
文章: 512
註冊時間: 週六 9月 07, 2002 10:30 pm
來自: Seyda Neen, Morrowind

re:[測試]apt-build衝阿

文章moto » 週五 9月 20, 2002 3:43 pm

剛剛編譯好 gaim ...速度...『好像』有比較快.. 8) ..
繼續編譯 mozilla 中..應該比編譯 kernel 還快吧.. :wink:
頭像
moto
摩托學園站長
摩托學園站長
 
文章: 2808
註冊時間: 週二 9月 03, 2002 3:37 am
來自: 台北

re:[測試]apt-build衝阿

文章訪客 » 週五 9月 20, 2002 3:53 pm

Hello , 我是用testing的,apt-build mozilla出現了error
build/autoconf/altoptions.m4:140: error: m4_defn: undefined macro: _m4_divert_diversion
build/autoconf/altoptions.m4:137: MOZ_READ_MOZCONFIG is expanded from...
build/autoconf/altoptions.m4:140: the top level
make: *** [debian/stampdir/build] Error 1
Error while building mozilla !
-----> Moving packages to repository <-----
mv: cannot stat `/var/cache/apt-build/build/*.deb': No such file or directory
-----> Updating repository <-----
nfsts:~#
訪客
 

re:[測試]apt-build衝阿

文章damon » 週五 9月 20, 2002 5:03 pm

看大家都對於自己compile東西有很高的興趣的樣子,小弟使用的是FreeBSD 4.6.2 Release,上星期整個make world過,結果並未令人有什麼明顯的感覺

系統安裝好之後就開始整個make world,並未安裝其他任何ports
而後cvsup ports之後開始利用ports安裝所有的程式XFree86 , KDE .....etc

整個流程下來大概花了快一天的時間,這樣做起來的系統,與之前都用package安裝起來的系統,並沒有明顯到讓我感覺到有變快

小弟個人認為目前影響系統效能的原因不在於目前大家常用的這些程式上面,除非這些程式本身的演算法有重大的突破,硬體本身的等級影響還是大於軟體
damon
活潑的高中生
活潑的高中生
 
文章: 358
註冊時間: 週二 9月 10, 2002 5:42 pm

re:[測試]apt-build衝阿

文章moto » 週五 9月 20, 2002 5:03 pm

Anonymous 寫:Hello , 我是用testing的,apt-build mozilla出現了error
build/autoconf/altoptions.m4:140: error: m4_defn: undefined macro: _m4_divert_diversion
build/autoconf/altoptions.m4:137: MOZ_READ_MOZCONFIG is expanded from...
build/autoconf/altoptions.m4:140: the top level
make: *** [debian/stampdir/build] Error 1
Error while building mozilla !
-----> Moving packages to repository <-----
mv: cannot stat `/var/cache/apt-build/build/*.deb': No such file or directory
-----> Updating repository <-----
nfsts:~#


我是 sid ..目前正在編譯中... :wink:

編譯好久.... :shock: ..
頭像
moto
摩托學園站長
摩托學園站長
 
文章: 2808
註冊時間: 週二 9月 03, 2002 3:37 am
來自: 台北

re:[測試]apt-build衝阿

文章octapult » 週五 9月 20, 2002 5:35 pm

Makfile 不是在執行了 configure 以後才會產生的嗎?
提到這一點,我突然想到,安裝了 apt-build 以後,gcc 是指向 gcc.wrapper,那會不會是執行 "gcc ..... filename" 的指令時,其實就是經由 gcc.wrapper 呼叫 gcc-3.0,而且也將 -O3、-mcpu、-march 等參數都加進去了呢?那不就變成執行 "gcc-3.0 -O3 -mcpu=athlon -march=athlon -O2 ...... filename"?同時出現 -O3 和 -O2,gcc 會以那一個為主?
octapult
摩托學園!學園長們
摩托學園!學園長們
 
文章: 512
註冊時間: 週六 9月 07, 2002 10:30 pm
來自: Seyda Neen, Morrowind

re:[測試]apt-build衝阿

文章阿威 » 週五 9月 20, 2002 5:38 pm

我現在在編譯x
好像也只有-O2
怎辦
阿威
摩托學園!學園長們
摩托學園!學園長們
 
文章: 419
註冊時間: 週三 9月 04, 2002 2:31 am

下一頁

回到 debian misc

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客