eliu | tar xvfJ gcin*.xz; cd gcin*; ./gen-deb |
目前打包gcin deb很方便,原則上就是上面說的這樣,下面稍作細節補充。如果有興趣可以自己編看看,程序不多。
(一)先安裝好編譯的相關工具:
sudo apt-get build-dep gcin sudo apt-get install dh-make autotools-dev libgtk-3-dev libqt4-dev qtbase5-dev
(二)下載gcin source code、編譯、安裝
下載位址: http://www.csie.nctu.edu.tw/~cp76/gcin/download/
在此以「gcin-2.6.2.tar.xz」為例,下載並解壓縮後之後會得到一個「gcin-2.6.2」資料夾, 開啟終端機進入該資料夾並執行這個指令: ./gen-deb
編譯程序結束後,在「gcin-2.6.2」這個資料夾的上一層目錄可看到一個新生成的deb檔(gcin_2.6.2-0_i386.deb), 這時執行下列指令即可安裝編好的gcin: sudo dpkg -i gcin_2.6.2-0_i386.deb
(三)其他補充:
如果有使用qt3程式,可能會需要qt3-immodule,編譯前請加裝下列套件:
sudo apt-get install libqt3-mt-dev
(註:qt3輸入模組預設被關閉,執行gen-deb之前要先編輯configure,把use_qt3='N' 改成:use_qt3='Y')
如需使用下列2個輸入法,編譯前請分別安裝相關套件:
日文輸入法(anthy):
sudo apt-get install libanthy-dev
新酷音(實驗中):
sudo apt-get install libchewing3-dev
參考資料:http://cle.linux.org.tw/trac/wiki/GcinPackageDeb?format=txt
---
自2.7.5開始,gen-deb編出來的deb不再是單一檔案,而是7-8個deb, 若仍想把gcin編為單一個deb,請用這個舊的gen-deb(由2.7.4留下來的)取代source code裡的gen-deb。
---
自2.7.6開始,configure時會判斷系統裡是否有gtk3,有的話,就預設使用gtk3來編譯gcin, 如果仍想要使用gtk2編譯的gcin,請編輯source code裡的configure, 去除下面這段裡的「gtk+-3.0」並存檔之後再執行gen-deb即可。
編輯source code裡的configure |
for i in gtk+-3.0 gtk+-2.0 do echo -n ".... Testing $i : " GTKINC=`pkg-config --cflags $i 2>/dev/null`
if [ $? != 0 ]; then echo "not found" continue fi
GTKLDFLAGS=`pkg-config --libs $i` if [ $? = 0 ]; then GTK=$i echo "found" break fi done
|
edited: 7
|
我想要問一下,
想要編出qt3-immodule、qt4-immodule、gtk3-immodule,
各需要先安裝哪些package?
|
guest |
我想要問一下,想要編出qt3-immodule、qt4-immodule、gtk3-immodule,各需要先安裝哪些package?
|
感謝提問!小弟之前忽略了這個重要問題!(第一篇已更新)
如需要下列im-module,請加裝下列套件:
gtk3-immodule:
libgtk-3-dev
qt3-immodule(qt3輸入模組預設被關閉,要去configure中打開後再編,改成:use_qt3='Y'):
libqt3-mt-dev
qt4-immodule:
libqt4-dev
如需要下列2個輸入法,請加裝下列套件:
新酷音(實驗中):
libchewing3-dev
日文輸入法(anthy):
libanthy-dev
參考資料:
http://cle.linux.org.tw/trac/wiki/GcinPackageDeb?format=txt
edited: 1
|
|
我是使用ubuntu10.04
想自己編gcin
但
sudo apt-get install libchewing3-dev 正在讀取套件清單... 完成 正在重建相依關係 正在讀取狀態資料... 完成 有些套件無法安裝。這可能意謂著您的要求難以解決,或是若您使用的是 unstable 發行版,可能有些必要的套件尚未建立,或是被移出 Incoming 了。 以下的資訊或許有助於解決當前的情況:
下列的套件有未滿足的相依關係: libchewing3-dev: 相依關係: libchewing3 (= 0.3.2-2) 但 0.3.2-2ubuntu0.1 卻將被安裝 E: 損毀的套件
滿奇怪的XD
edited: 1
|
brli |
我是使用ubuntu10.04
想自己編gcin
但
sudo apt-get install libchewing3-dev 正在讀取套件清單... 完成 正在重建相依關係 正在讀取狀態資料... 完成 有些套件無法安裝。這可能意謂著您的要求難以解決,或是若您使用的是 unstable 發行版,可能有些必要的套件尚未建立,或是被移出 Incoming 了。 以下的資訊或許有助於解決當前的情況:
下列的套件有未滿足的相依關係: libchewing3-dev: 相依關係: libchewing3 (= 0.3.2-2) 但 0.3.2-2ubuntu0.1 卻將被安裝 E: 損毀的套件
滿奇怪的XD
|
可以考慮apt-get update之後再裝一次看看?
|
|
在 debian stable 使用 gen-deb,發現以下訊息
sh debian/ckqt.sh Cannot load module /root/gcin-2.6.8/debian/gcin/usr/lib/gtk-2.0/2.10.0/immodules/im-gcin.so: libgcin-im-client.so.1: cannot open shared object file: No such file or directory /root/gcin-2.6.8/debian/gcin/usr/lib/gtk-2.0/2.10.0/immodules/im-gcin.so does not export GTK+ IM module API: libgcin-im-client.so.1: cannot open shared object file: No such file or directory
似是 ckqt.sh 中的下列指令造成
gtk-query-immodules-2.0 "debian/gcin/usr/lib/gtk-2.0/2.10.0/immodules/im-gcin.so"
不知道是不是編譯過程有錯?
編出來的東西在這裡
|
coolcd | gtk-query-immodules-2.0 "debian/gcin/usr/lib/gtk-2.0/2.10.0/immodules/im-gcin.so" |
那就先把這一行 delete 掉試試看
|
編譯過程出現錯誤狀況如下, 系統環境為 debian 6.0.4 (amd64)+gnome , 只有單純stable環境裝於虛擬機器中, 有事先執行"徹底移除"套件名稱中包含了gcin字樣的套件, 在圖形介面的synaptic執行安裝了 dh-make autotools-dev libqt4-dev libchewing3-dev , 但是在synaptic "找不到 libgtk-3-dev", 所以突發奇想的先用 libgtk2.0-dev 替代安裝,
然後我下載了 gcin-2.7.4.tar.xz 並且在圖形介面下使用 壓縮檔管理員解壓縮, 然後如下執行:
root@debian604:/home/ian/Downloads/gcin-2.7.4# ./gen-deb patching file debian/changelog patching file debian/ckqt.sh patching file debian/compat patching file debian/control patching file debian/gcin.immodules patching file debian/im-switch/gcin patching file debian/install patching file debian/postinst patching file debian/prerm patching file debian/rules dpkg-buildpackage: export CFLAGS from dpkg-buildflags (origin: vendor): -g -O2 dpkg-buildpackage: export CPPFLAGS from dpkg-buildflags (origin: vendor): dpkg-buildpackage: export CXXFLAGS from dpkg-buildflags (origin: vendor): -g -O2 dpkg-buildpackage: export FFLAGS from dpkg-buildflags (origin: vendor): -g -O2 dpkg-buildpackage: export LDFLAGS from dpkg-buildflags (origin: vendor): dpkg-buildpackage: source package gcin dpkg-buildpackage: source version 2.7.4-0 dpkg-buildpackage: source changed by Edward Liu <xxxx@yyy.org> dpkg-buildpackage: host architecture amd64 dpkg-source --before-build gcin-2.7.4 dpkg-checkbuilddeps: Unmet build dependencies: libxtst-dev dpkg-buildpackage: warning: Build dependencies/conflicts unsatisfied; aborting. dpkg-buildpackage: warning: (Use -d flag to override.)
就是最後出現了錯誤訊息,我看不懂,也沒有生成任何DEB檔案,接下來該怎麼辦?
|
IanHo | dpkg-checkbuilddeps: Unmet build dependencies: libxtst-dev |
需要 install libxtst-dev
|
eliu |
需要 install libxtst-dev
|
感謝提供關鍵資訊~ 已安裝 libxtst-dev ~可是在編譯過程中又有出現多次錯誤訊息穿插其中
Makefile:263: .depend: 沒有此一檔案或目錄
Makefile:54: .depend: 沒有此一檔案或目錄
Makefile:51: .depend: 沒有此一檔案或目錄
Makefile:38: .depend: 沒有此一檔案或目錄
可是我查一下
root@debian604:/home/ian/Downloads/gcin-2.7.4/.depend (檔案大小約1.6MB ~檔案日期是編譯執行當下的大約時間點)
這個檔案明明存在阿!?
所以雖然現在deb檔案生成了~可是我還不敢用~因為 不曉得這個 .depend 是怎麼一回事 ?
|
|
安裝結果還是一堆狀況~
一開始在圖形介面安裝deb的時候用的是 gdebi package installer ~
使用的是一般帳號(非root)環境~
安裝完畢後 gnome的 輸入法切換器 有換成了gcin ~
為了以防萬一 我有把舊的 debian604:/home/ian/.gcin 先移除~
然後重開系統 讓 debian604:/home/ian/.gcin 生成新的出來~
再來gnome 選單列 有出現 GCIN (EN) 的圖示了~
有在圖形介面的 gcin輸入法設定 裏頭依個人需求跑過一輪~
選單列gcin圖示滑鼠右鍵點選也沒有當掉系統了~
"可是" 這次變成滑鼠左鍵沒有反應了 (還好沒有當掉系統)~
可選用的輸入法模組預設清單洋洋灑灑一堆~我用滑鼠左鍵去點選切換別的輸入法模組~
都"沒有"任何圖示或訊息的變更或回櫃~
用組合建 ctrl+alt+XXX 去嘗試也是一樣沒有反應~
在圖形介面的gedit裏頭還是"只能輸入英文"~
怎麼會這樣 ? 然後我嘗試去看syslog 也完全看不出所以然來~
|
IanHo |
安裝結果還是一堆狀況~
一開始在圖形介面安裝deb的時候用的是 gdebi package installer ~
使用的是一般帳號(非root)環境~
安裝完畢後 gnome的 輸入法切換器 有換成了gcin ~
為了以防萬一 我有把舊的 debian604:/home/ian/.gcin 先移除~
然後重開系統 讓 debian604:/home/ian/.gcin 生成新的出來~
再來gnome 選單列 有出現 GCIN (EN) 的圖示了~
有在圖形介面的 gcin輸入法設定 裏頭依個人需求跑過一輪~
選單列gcin圖示滑鼠右鍵點選也沒有當掉系統了~
"可是" 這次變成滑鼠左鍵沒有反應了 (還好沒有當掉系統)~
可選用的輸入法模組預設清單洋洋灑灑一堆~我用滑鼠左鍵去點選切換別的輸入法模組~
都"沒有"任何圖示或訊息的變更或回櫃~
用組合建 ctrl+alt+XXX 去嘗試也是一樣沒有反應~
在圖形介面的gedit裏頭還是"只能輸入英文"~
怎麼會這樣 ? 然後我嘗試去看syslog 也完全看不出所以然來~
|
可以砍掉 gcin,在 terminal 跑 gcin,看看有沒有什麼錯誤訊息
|
coolcd |
可以砍掉 gcin,在 terminal 跑 gcin,看看有沒有什麼錯誤訊息
|
我開了終端機視窗 切換到root帳號 然後執行指令 gcin-exit
gnome選單列的 gcin圖示就消失了~ 然後我又執行指令 gcin
然後 gnome選單列的 gcin圖示又回來了~
然後 終端機視窗裏頭"沒有"出現任何新的訊息~
然後操作的情境跟我之前的PO文還是一樣~
到底問題出在哪裡呢?
|
我做了一個嘗試,我用root帳號把 /var/log/ 底下的檔案全部砍光光, 然後重開系統,然後用 gnome 紀錄檔檢視器 地毯式的看了一遍(資料量比之前少很多), 然後我列出我覺可疑的內容如下, syslog Mar 3 01:24:47 debian604 gdm-simple-greeter[1299]: WARNING: Failed to send buffer daemon.log Mar 3 00:38:07 debian604 gdm-simple-greeter[1299]: Gtk-WARNING: /scratch/build-area/gtk+2.0-2.20.1/gtk/gtkwidget.c:5628: widget not within a GtkWindow Mar 3 01:24:47 debian604 gdm-simple-greeter[1299]: WARNING: Failed to send buffer 然後我的系統是 debian604(amd64) 單純 stable, sources.list沒有加掛其他testing之類的來源, 可是在synaptic裏頭"找不到"任何類似 gtk"3" 版本之類的套件阿! 最高也只有gtk"2"系列的一拖拉庫套件,我還能怎麼辦呢?
|
IanHo |
然後我的系統是 debian604(amd64) 單純 stable, sources.list沒有加掛其他testing之類的來源, 可是在synaptic裏頭"找不到"任何類似 gtk"3" 版本之類的套件阿! 最高也只有gtk"2"系列的一拖拉庫套件,我還能怎麼辦呢?
|
debian 6(squeeze)本來就沒有gtk3了,
要到下一版wheezy才會有。
要自己編gcin的話就要去掉gtk3的部份。
|
guest |
debian 6(squeeze)本來就沒有gtk3了,
要到下一版wheezy才會有。
要自己編gcin的話就要去掉gtk3的部份。
|
要如何去掉呢?
|
gcin source中有一個檔案configure
找到下面這個段落,把use_gtk3='Y',改成use_gtk3='N'
prefix="/usr/local" use_xim='Y' use_tray='Y' use_i18n='N' use_tsin='Y' use_gcb='Y' use_anthy='Y' use_chewing='Y' use_qt3='Y' use_qt4='Y' use_gtk3='N'
然後再用gen-deb重編一次gcin
|
照著做之後~現在連對gnome選單列上的gcin圖是點選滑鼠左鍵都會造成整個系統死當了~
連開個gedit之後要切換輸入法就會整個系統死當~
還好只是在VM裏頭測試~ 看樣子要重灌了~
只不過想要在~ debian 6.0.4(amd64)stable 安裝個最新版的gcin 怎麼這麼多災多難阿!?
winlin |
gcin source中有一個檔案configure
找到下面這個段落,把use_gtk3='Y',改成use_gtk3='N'
prefix="/usr/local" use_xim='Y' use_tray='Y' use_i18n='N' use_tsin='Y' use_gcb='Y' use_anthy='Y' use_chewing='Y' use_qt3='Y' use_qt4='Y' use_gtk3='N'
然後再用gen-deb重編一次gcin
|
|
IanHo |
還好只是在VM裏頭測試~ 看樣子要重灌了~
|
重新開機後,按Ctrl+Alt+1到終端機模式,下指令把gcin從系統中移除就行了,應該不至於需要重灌。
|
gcin 會把 vm 搞當,那應該不是 gcin 的問題。
|
eliu |
gcin 會把 vm 搞當,那應該不是 gcin 的問題。
|
那請問還有些什麼樣的"不會太複雜的""可以自行手動操作的"解決方案或步驟~
能夠讓我的 debian6.0.4(amd64)stable 可以順利安裝上 新版的gcin~
而且不會對選單列的gcin圖示點選滑鼠左鍵或右鍵之後就系統死當呢?
32bit 環境如果沒問題的話~照理說~我的64bit環境也應該要沒問題才對阿!
怎麼現在況狀這麼多!?
根據之前PO的syslog ~有可能問題出在一種叫做gtk類型的套件上~問題是 在synaptic 搜尋gtk字樣~
洋洋灑灑一拖拉庫套件~我哪知道哪個是哪個!? 傷腦筋~災難~
|
IanHo | 那請問還有些什麼樣的"不會太複雜的""可以自行手動操作的"解決方案或步驟~
能夠讓我的 debian6.0.4(amd64)stable 可以順利安裝上 新版的gcin~
而且不會對選單列的gcin圖示點選滑鼠左鍵或右鍵之後就系統死當呢?
32bit 環境如果沒問題的話~照理說~我的64bit環境也應該要沒問題才對阿!
|
這是那門子的道理 XD
32bit/64bit 差很多的
64bit 系統還多了 32bit/64bit lib 的問題
各 distro 可能處理方式都不太一樣
打包出錯的機率蠻大的
對一般使用者來說,更是怎麼死的都不知道 XD
|
IanHo |
那請問還有些什麼樣的"不會太複雜的""可以自行手動操作的"解決方案或步驟~
能夠讓我的 debian6.0.4(amd64)stable 可以順利安裝上 新版的gcin~
而且不會對選單列的gcin圖示點選滑鼠左鍵或右鍵之後就系統死當呢?
|
很想幫忙,但手邊完全沒有64bit的機器,真歹勢~ 可能要再問問看用64bit系統的人
|
winlin |
很想幫忙,但手邊完全沒有64bit的機器,真歹勢~ 可能要再問問看用64bit系統的人
|
寫些情緒用語~
在輸入法框架軟體這方面我很想支持國產貨~
然而我需要的就是"馬上設定立即可用"的環境~
例如在MacOSX環境我就使用開放香草輸入法框架~
可是在debian6.0.4(amd64)stable+gnome環境~
想要用gcin or HIME 搞了好久卻又狀況一大堆~沒辦法依我的需求馬上設定立即可用~
連iBus也是一堆狀況~目前反而最後只剩下scim達到了馬上設定立即可用的情境~
這是對岸的產品~
都馬是圖形介面~不過就是下載套件檔案安裝執行再勾勾選選程式設定畫面~
MsWindows從沒遇到什麼問題過~MacOSX遇到的狀況來回幾次就有解了~
沒道理同樣是圖形介面的 linux+gnome 狀況一堆到現在還無解阿?
情緒用語結束~
|
gen-deb 做出來的 .deb 我在 ubuntu 2011.10 確實是 install 完就可以用的,不過是 x86 的,amd64 沒試過。
|
辛苦了~
很多年前Linux下的應用程式很不夠的時候,小弟也碰到不少難搞的事覺得很煩,相信這種心情很多人都有過。
目前站上似乎沒有人在Debian stable amd64上用gcin(或許有,只是還沒有發言?)
希望IanHo未來若解決了這個問題,麻煩分享一下心得,好讓其他後進可以受惠。
|
這篇是在 ubuntu 11.10 amd64 (x64) 用 gcin 輸入的,可以試試 2.7.5。改用 medicalwei 提供的 debian build package.
所以 gcin 在 amd64(x64) 是 ok的。
edited: 1
|