最新评论
- warning: Creating default object from empty value in /var/www/www.minilinux.net/htdocs/sites/all/modules/views/modules/comment/views_handler_field_comment_username.inc on line 32.
- warning: Creating default object from empty value in /var/www/www.minilinux.net/htdocs/sites/all/modules/views/modules/comment/views_handler_field_comment_username.inc on line 32.
- warning: Creating default object from empty value in /var/www/www.minilinux.net/htdocs/sites/all/modules/views/modules/comment/views_handler_field_comment_username.inc on line 32.
- warning: Creating default object from empty value in /var/www/www.minilinux.net/htdocs/sites/all/modules/views/modules/comment/views_handler_field_comment_username.inc on line 32.
- warning: Creating default object from empty value in /var/www/www.minilinux.net/htdocs/sites/all/modules/views/modules/comment/views_handler_field_comment_username.inc on line 32.
- warning: Creating default object from empty value in /var/www/www.minilinux.net/htdocs/sites/all/modules/views/modules/comment/views_handler_field_comment_username.inc on line 32.
- warning: Creating default object from empty value in /var/www/www.minilinux.net/htdocs/sites/all/modules/views/modules/comment/views_handler_field_comment_username.inc on line 32.
- warning: Creating default object from empty value in /var/www/www.minilinux.net/htdocs/sites/all/modules/views/modules/comment/views_handler_field_comment_username.inc on line 32.
- warning: Creating default object from empty value in /var/www/www.minilinux.net/htdocs/sites/all/modules/views/modules/comment/views_handler_field_comment_username.inc on line 32.
- warning: Creating default object from empty value in /var/www/www.minilinux.net/htdocs/sites/all/modules/views/modules/comment/views_handler_field_comment_username.inc on line 32.
這裡要改成amule 的:
5.
a.加一行中文選單
Name[zh_CN]=SeaMonkey 互联网浏览器 (不知這樣對嗎)
我們這邊的別給忘了, 照顧一下
Name[zh_TW]=SeaMonkey 網際網路瀏覽器
改成:
Name[zh_CN]=aMule 电驴
Name[zh_TW]=aMule 電子騾
我這三腳貓功夫的幫剛出生的小貓咪喂喂"奶粉"還勝任愉快(開水自己想辦法)
就拿amule解說吧
0.
預備動作:
幫 puppy 佈置編譯環境:
官網下載編譯包(我這邊這個鏡像站比官方的快很多)
http://ftp.nluug.nl/ftp/pub/os/Linux/distr/puppylinux/sfs_modules-4/
目前是 puppy-1.4.2 就下載 devx_412.sfs
放到 /mnt/home/ 下面, 必須有儲存檔才會掛進來, 還沒有的重開機設一個吧
xxx_412.sfs 型式的開機後會自動掛上
"開始=>系統=>bootmanager啟動配置工具" 可以讓你掛載/卸載 .sfs 檔
1.
打開終端機, 先mkdir 一個工作目錄, 並進入
mkdir amule
cd amule
下載amule目前最新版源碼:
wget http://nchc.dl.sourceforge.net/sourceforge/amule/aMule-2.2.2.tar.bz2
解開:
tar jxvf aMule-2.2.2.tar.bz2
cd aMule-2.2.2
先看看有沒有INSTALL檔存在, 有就 less INSTALL 看一下編譯安裝說明
一般就三步驟搞定:
./configure
make
make install (puppy 這步要改成 new2pet make install)
2.
先幫編譯作配置:
./configure --help (可以看看這個程式有啥配置參數可用)
一般這樣下就可以了:
./configure --prefix=/usr (這個 prefix 代表軟體安裝路徑)
=>
checking for wx-config... no
configure: error:
wxWidgets must be installed on your system but wx-config
script couldn't be found. Please check that wx-config is
in path or specified by --with-wx-config=path flag, the
directory where wxWidgets libraries are installed (returned
by 'wx-config --libs' command) is in LD_LIBRARY_PATH or
equivalent variable and wxWidgets version is 2.8.0 or above.
發現少了 wx-config
先切回上層amule目錄
cd ..
到 http://packages.slackware.it/ 找看看
把尋找條件由package改成 file name 來找 wx-config
有12頁, 不好找, 改用軟體名稱wxWidgets找, 沒發現
改到 http://www.linuxpackages.net/ 用軟體名稱wxWidgets找
找到 wxwidgets-2.8.9-i486-1gds.tgz
下載到 amule 目錄後轉成 .pet
tgz2pet wxwidgets-2.8.9-i486-1gds.tgz
安裝
rox wxwidgets-2.8.9-i486-1gds.pet
發現少了兩個函數 libSDL-1.2.so.0 跟 libmspack.so.0
編譯時別裡它(下面說的執行時期少掉就要追下去補到完整)
3.
繼續編譯旅程:
cd aMule-2.2.2
./configure --prefix=/usr
=>
發現兩個問題, 第一個可有可無, 為了示範, 處置它吧:
checking for libupnp version >= 1.6.6... no (try to use --with-libupnp-prefix=PREFIX)
解=>
先切回上層 amule目錄
cd ..
slackware 沒找著libupnp, 直接下載源碼編譯:
wget http://nchc.dl.sourceforge.net/sourceforge/pupnp/libupnp-1.6.6.tar.bz2
tar jxvf libupnp-1.6.6.tar.bz2
cd libupnp-1.6.6
./configure --prefix=/usr (編譯的配置)
make (編譯)
new2dir make install (安裝並在上層目錄產生打包目錄)
最後一步(好像第5步)隨便按個字母鍵Enter, 會繼續用 dir2pet把上層打包目錄打包成.pet檔
切回上層 amule 目錄
cd ..
再安裝一次 .pet 檔, 方便移除
rox libupnp-1.6.6-i486.pet
很好, 相依都完整
這個 libupnp-1.6.6-i486.pet保管好, 常編譯收集多了就成自己的寶庫
cd aMule-2.2.2
./configure --prefix=/usr
很好, 第一個問題消失
4.
第二個是個error, 會停頓表示必須處置:
checking for crypto++ version >= 5.1... no
configure: error:
Could not find crypto++ header file "cryptlib.h".
Please try again with --with-crypto-prefix=/my_crypto_prefix
(replace /my_crypto_prefix with a valid path to your crypto++
installation directory).
解=>
slackware 沒找著, 改下載 ubuntu 的 .deb 包, 換個口味,
因為 puppy 的 xarchive 支援解開 .deb 包, 不過用slackware以外的比較冒險,
這裡只是示範 slackware找不到時, 又不想動手編譯(不好編譯時), 試試手氣
而ubuntu有不同時代的版本8.10, 8.04, 7.10 ... 就看你的手氣跟經驗囉
wget http://launchpadlibrarian.net/14207890/libcrypto%2B%2B-dev_5.5.2-2_i386.deb
下載到 amule 目錄
打開桌面的xarchive解開.deb檔, 建一個目錄 /root/amule/libcrypto++-dev 解開
繼續編譯之旅, 記得剛剛有題示可以用 --with-crypto-prefix 指定crypto++
所以就不安裝crypto++ ,如果沒提示, ./configure --help 找找, 有時寫在裏面
(如果寫軟體的太懶了沒提供, 就用 LD_LIBRARY_PATH 環境變數, 見第6項說明, 那裡有用到)
cd aMule-2.2.2
./configure --prefix=/usr --with-crypto-prefix=/root/amule/libcrypto++-dev/usr
很好, configure完成
5.
編譯
make
很好, 也沒error
安裝並打包
new2pet make install
這次最後一步(好像第5步)直接Enter跳出, 不繼續呼叫 dir2pet打包, 因為要修改選單
跳回上層 amule
cd ..
amule 是要放到"開始=>網際網路(互聯網)"的項目
先打開已經歸類到那裡的seamonkey看看怎麼寫
leafpad /usr/share/applications/SeaMonkey-web-browser.desktop &
也把 amule 的選單檔打開好比對修改
leafpad aMule-2.2.2-i486/usr/share/applications/amule.desktop &
主要就是有兩項:
a.加一行中文選單
Name[zh_CN]=SeaMonkey 互联网浏览器 (不知這樣對嗎)
我們這邊的別給忘了, 照顧一下
Name[zh_TW]=SeaMonkey 網際網路瀏覽器
b. puppy 歸類名稱
"開始=>網際網路(互聯網)"的項目要這樣寫
Categories=X-Internet
原本的 Categories=Network;P2P; 在puppy不適用
改好就可以打包了, 安裝腳本這裡用不到, 下面的 pidgin-extra 再示範
dir2pet aMule-2.2.2-i486
第1項因為有選單檔存在, 直接按Enter即可
其它2~5項自行發揮, 這樣 aMule-2.2.2-i486.pet 打包就完成
恭喜啊
6.
我不想裝太多函數庫, 只把amule需要的拿出來另外打包:
先建立包目錄存放
mkdir amule-extra-2.2.2
這些額外執行時期函數預備放到個人函數目錄
/root/my-applications/lib 下面的 amule-extra 目錄
建立目錄:(加 -p 參數)
mkdir -p amule-extra-2.2.2/root/my-applications/lib/amule-extra
打開"開始=>設置=>那個檢查相依的程式(忘了簡體版翻譯名詞)"
檢查 amule, 秀出欠了一堆相依, 一個個補好放到 amule-extra
首先是:libcrypto++.so.7
find . -iname "libcrypto*"
沒找著 libcrypto++.so.7
因為debian/ubuntu通常把函數庫拆成執行時期libxxx跟編譯時期libxxx-dev,
所以再去下載這個沒有 -dev 結尾的
wget http://launchpadlibrarian.net/14207889/libcrypto%2B%2B7_5.5.2-2_i386.deb
解開後搜尋果然有發現
./amule/libcrypto++/usr/lib/libcrypto++.so.7.0.0
./amule/libcrypto++/usr/lib/libcrypto++.so.7
然後 ls -l libcrypto++/usr/lib/libcrypto++.so.7
會看到
libcrypto++/usr/lib/libcrypto++.so.7 -> libcrypto++.so.7.0.0
所以 libcrypto++.so.7 只是個分身, 為了升級 libcrypto++.so.7.0.0 的方便手法
所以直接保存本尊 libcrypto++.so.7.0.0 並改成分身的名字 libcrypto++.so.7
cp libcrypto++/usr/lib/libcrypto++.so.7.0.0 amule-extra-2.2.2/root/my-applications/lib/amule-extra/libcrypto++.so.7
接下來要檢查相依完整性, 先讓系統知道我們有個lib目錄:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/root/amule/amule-extra-2.2.2/usr/lib/amule-extra
(寫入 /etc/ld.so.conf 再 ldconfig 登記到 /etc/ld.so.cache 比較正式,
現在只是臨時用來測試, 用 LD_LIBRARY_PATH 環境變數即可,
而且關掉終端機就修改就消失, 不用去 ld.so.conf 改來改去)
ok! 下 ldd 命令檢查:
ldd amule-extra-2.2.2/usr/lib/amule-extra/libcrypto++.so.7
很好, 沒發現有 not fount 的項目, 沒欠相依, 運行沒問題
其它這些相依就比照辦理:
libupnp.so.3 libthreadutil.so.2 libixml.so.2 libwx_gtk2u_adv-2.8.so.0
libwx_gtk2u_core-2.8.so.0 libwx_baseu_net-2.8.so.0 libwx_baseu-2.8.so.0
(新手請注意啊:
請善用反白欲複製的字詞, 中鍵(或Shift+Insert)貼上功能,
跟Tab鍵自動接續功能, 往上的按鍵叫出之前下過的命令)
結果發現 libwx_gtk2u_adv-2.8.so.0 少了函數 libSDL-1.2.so.0
(執行時期少掉就要追下去補到完整)
同樣到 http://packages.slackware.it/ 找
libSDL-1.2.so.0 <= sdl-1.2.13-i486-2.tgz
用 ldd 指令看看 libSDL-1.2.so.0 執行條件滿足了嗎:
有少相依, 有這項:
libvga.so.1 => not found ,運行有問題, 再去找來裝:
libvga.so.1 <= aaa_elflibs-12.2.0-i486-1.tgz
再用 ldd 指令看看 libvga.so.1 執行條件滿足了嗎:
很好, 都滿足了
所以補相依就依此原則處理, puppy8兄, 瞭了嗎
(8是發的意思吧, 很想發財哦, 我們這邊有個 168網友,一路發, 比你高明吧)
7.
打包 amule-extra-2.2.2 之前, 先幫它加上安裝/移除腳本:
a.編輯安裝腳本:
leafpad amule-extra-2.2.2/pinstall.sh
填入:
#!/bin/sh
echo "/root/my-applications/lib/amule-extra" >> /etc/ld.so.conf
ldconfig
b.編輯移除腳本:
leafpad amule-extra-2.2.2/puninstall.sh
填入:
#!/bin/sh
sed -i -e "/amule-extra/d" /etc/ld.so.conf
ldconfig
改成可執行檔(好像沒必要, 我還是保險一點):
chmod +x amule-extra/pinstall.sh
chmod +x amule-extra/puninstall.sh
打包起來:
dir2pet amule-extra-2.2.2
第1步填 no 因為沒選單, 其它的我都直接按 Enter
rox amule-extra-2.2.2.pet 裝上,
好像不必重開機, 因為pinstall有 ldconfig指令
執行 amule 應該有出現了吧
檢查一下pet檔大小
du -sh amule-extra-2.2.2.pet => 3.5M
安裝後大小
du -sh /root/my-applications/lib/amule-extra => 11M
很好, 有比全裝小很多, 很滿意
不過這是在 puppy 這種軟體安裝不多又要維持輕巧的系統上才這樣玩法
不然軟體裝多了, 每個都來搞個額外函數庫, 反而會讓這些執行時期函數重複
也嚴重浪費寶貴的時間跟精力
8.
home work:
請puppy8兄把上面借來的函數都用源碼編譯出puppy原生的執行時期函數
打包好把 amule成品 po上來貢養網友們, 就當是學費
做不來請把上文從記憶腦海中給徹底遺忘, 就當做了場夢
ok!
清除/root/下面老的audacious生成的配置文件及临时文件试试
# audacious
(process:24838): GLib-GObject-CRITICAL **: gtype.c:2242: initialization assertion failed, use IA__g_type_init() prior to this function
(process:24838): GLib-GObject-WARNING **: cannot retrieve class for invalid (unclassed) type `<invalid>'
Segmentation fault
#
我用火狐重新打包了,不过没用,安装了还是有提示,只不过一样可以正常使用.
不明白啊,菜鸟有心无力.
我相信汇有解决办法的。
http://mirror.lupaworld.com/openoffice/localized/zh-cn