在 Ubuntu 20.04 里编译 ibus-libpinyin 1.11.93 以及自己打 deb 包

系统字体配置、中文显示和输入法问题
回复
头像
Ping-Wu
帖子: 1822
注册时间: 2012-11-14 9:34
系统: Debian 12

在 Ubuntu 20.04 里编译 ibus-libpinyin 1.11.93 以及自己打 deb 包

#1

帖子 Ping-Wu »

0. Download the newest version of ibus-libpinyin source code:

https://github.com/libpinyin/ibus-libpinyin

1. Install dependencies:

代码: 全选

sudo apt install libibus-1.0-dev
sudo apt install sqlite3
sudo apt install libsqlite3-dev
sudo apt install libpinyin13-dev
sudo apt install libgtk-3-dev
(There may be one more dependency that I have already installed in my system, but it should be obvious from the error message. Just install it.)

2. Run autogen.sh:

代码: 全选

./autogen.sh  --prefix=/usr/
If successful, you should receive the following message:

Build options:
Version 1.11.93
Install prefix /usr
Use boost no
Use opencc no
Use libpinyin yes
Build lua extension no
Build stroke input mode yes
Build english input mode yes

3. Compile and Install:

代码: 全选

make
sudo make install
It is strongly suggested that you try the above procedure in a virtual machine. In case there is conflict you can always go back to the previous snapshot.
上次由 Ping-Wu 在 2020-07-15 13:52,总共编辑 2 次。
头像
Ping-Wu
帖子: 1822
注册时间: 2012-11-14 9:34
系统: Debian 12

Re: 在 Ubuntu 20.04 里编译 ibus-libpinyin 1.11.93 以及自己打 deb 包

#2

帖子 Ping-Wu »

Ping-Wu 写了: 2020-07-15 1:09 3. Compile and Install:

代码: 全选

make
sudo make install
这种传统的方法有一个毛病就是想拆卸比较困难,我们的习惯总是刚开始时多花一点功夫,做一个 .deb 套件:

代码: 全选

sudo apt install checkinstall
make
sudo checkinstall --install=no --fstrans=yes
然后再用传统方法装设这个 .deb 套件

代码: 全选

sudo dpkg -i ./ibus-libpinyin_1.1.93-1_amd64.deb
刚开始时多花一点功夫,以后如果需要拆卸,就干净利落多了:

代码: 全选

sudo dpkg -r ibus-libpinyin
上次由 Ping-Wu 在 2020-07-16 15:04,总共编辑 2 次。
头像
Ping-Wu
帖子: 1822
注册时间: 2012-11-14 9:34
系统: Debian 12

Re: 在 Ubuntu 20.04 里编译 ibus-libpinyin 1.11.93 以及自己打 deb 包

#3

帖子 Ping-Wu »

ibus-libpinyin 必须(?)配合 libpinyin 这个套件使用,如果要编译最新版的 libpinyin,可以参考下面的步骤:

0. 下载 最新版的 libpinyin 源码:

https://github.com/libpinyin/libpinyin

1. 执行 autogen.sh:

代码: 全选

export LDFLAGS=`pkg-config glib-2.0 --libs`
./autogen.sh  --prefix=/usr/
2. 编码然后打 deb 包:

代码: 全选

make
sudo checkinstall --install=no --fstrans=yes
这个 Debian package 包括下列档案:

$ dpkg -c libpinyin_2.3.0-1_amd64.deb

drwxr-xr-x root/root 0 2020-07-15 17:16 ./
drwxr-xr-x root/root 0 2020-02-04 21:33 ./usr/
drwxr-xr-x root/root 0 2020-07-15 17:16 ./usr/bin/
-rwxr-xr-x root/root 534944 2020-07-15 17:16 ./usr/bin/gen_binary_files
-rwxr-xr-x root/root 420256 2020-07-15 17:16 ./usr/bin/gen_unigram
-rwxr-xr-x root/root 448928 2020-07-15 17:16 ./usr/bin/import_interpolation
drwxr-xr-x root/root 0 2020-07-14 22:54 ./usr/include/
drwxr-xr-x root/root 0 2020-07-15 17:16 ./usr/include/libpinyin-2.3.0/
-rw-r--r-- root/root 4526 2020-07-15 17:16 ./usr/include/libpinyin-2.3.0/novel_types.h
-rw-r--r-- root/root 29960 2020-07-15 17:16 ./usr/include/libpinyin-2.3.0/pinyin.h
-rw-r--r-- root/root 3340 2020-07-15 17:16 ./usr/include/libpinyin-2.3.0/pinyin_custom2.h
drwxr-xr-x root/root 0 2020-07-15 17:16 ./usr/lib/
drwxr-xr-x root/root 0 2020-07-15 17:16 ./usr/lib/libpinyin/
drwxr-xr-x root/root 0 2020-07-15 17:16 ./usr/lib/libpinyin/data/
-rw-r--r-- root/root 970752 2020-07-15 17:16 ./usr/lib/libpinyin/data/addon_phrase_index.bin
-rw-r--r-- root/root 1523712 2020-07-15 17:16 ./usr/lib/libpinyin/data/addon_pinyin_index.bin
-rw-r--r-- root/root 15791 2020-07-15 17:16 ./usr/lib/libpinyin/data/art.bin
-rw-r--r-- root/root 25853952 2020-07-15 17:16 ./usr/lib/libpinyin/data/bigram.db
-rw-r--r-- root/root 1063 2020-07-15 17:16 ./usr/lib/libpinyin/data/culture.bin
-rw-r--r-- root/root 36315 2020-07-15 17:16 ./usr/lib/libpinyin/data/economy.bin
-rw-r--r-- root/root 2972097 2020-07-15 17:16 ./usr/lib/libpinyin/data/gb_char.bin
-rw-r--r-- root/root 346011 2020-07-15 17:16 ./usr/lib/libpinyin/data/gbk_char.bin
-rw-r--r-- root/root 17985 2020-07-15 17:16 ./usr/lib/libpinyin/data/geology.bin
-rw-r--r-- root/root 5321 2020-07-15 17:16 ./usr/lib/libpinyin/data/history.bin
-rw-r--r-- root/root 76501 2020-07-15 17:16 ./usr/lib/libpinyin/data/life.bin
-rw-r--r-- root/root 32259 2020-07-15 17:16 ./usr/lib/libpinyin/data/merged.bin
-rw-r--r-- root/root 13017 2020-07-15 17:16 ./usr/lib/libpinyin/data/nature.bin
-rw-r--r-- root/root 821157 2020-07-15 17:16 ./usr/lib/libpinyin/data/opengram.bin
-rw-r--r-- root/root 67447 2020-07-15 17:16 ./usr/lib/libpinyin/data/people.bin
-rw-r--r-- root/root 7811072 2020-07-15 17:16 ./usr/lib/libpinyin/data/phrase_index.bin
-rw-r--r-- root/root 10579968 2020-07-15 17:16 ./usr/lib/libpinyin/data/pinyin_index.bin
-rw-r--r-- root/root 12795 2020-07-15 17:16 ./usr/lib/libpinyin/data/science.bin
-rw-r--r-- root/root 271189 2020-07-15 17:16 ./usr/lib/libpinyin/data/society.bin
-rw-r--r-- root/root 3111 2020-07-15 17:16 ./usr/lib/libpinyin/data/sport.bin
-rw-r--r-- root/root 1207 2020-07-15 17:16 ./usr/lib/libpinyin/data/table.conf
-rw-r--r-- root/root 13543 2020-07-15 17:16 ./usr/lib/libpinyin/data/technology.bin
-rw-r--r-- root/root 15416150 2020-07-15 17:16 ./usr/lib/libpinyin.a
-rwxr-xr-x root/root 960 2020-07-15 17:16 ./usr/lib/libpinyin.la
-rwxr-xr-x root/root 785336 2020-07-15 17:16 ./usr/lib/libpinyin.so.13.0.0
drwxr-xr-x root/root 0 2020-07-15 17:16 ./usr/lib/pkgconfig/
-rw-r--r-- root/root 362 2020-07-15 17:16 ./usr/lib/pkgconfig/libpinyin.pc
drwxr-xr-x root/root 0 2020-07-15 17:16 ./usr/share/
drwxr-xr-x root/root 0 2020-07-15 17:16 ./usr/share/doc/
drwxr-xr-x root/root 0 2020-07-15 17:16 ./usr/share/doc/libpinyin/
-rw-rw-r-- root/root 98 2020-06-07 22:29 ./usr/share/doc/libpinyin/AUTHORS
-rw-rw-r-- root/root 35147 2020-06-07 22:29 ./usr/share/doc/libpinyin/COPYING
-rw-rw-r-- root/root 0 2020-06-07 22:29 ./usr/share/doc/libpinyin/ChangeLog
-rw-r--r-- root/root 15756 2020-07-15 17:13 ./usr/share/doc/libpinyin/INSTALL
-rw-rw-r-- root/root 2756 2020-06-07 22:29 ./usr/share/doc/libpinyin/NEWS
-rw-rw-r-- root/root 159 2020-06-07 22:29 ./usr/share/doc/libpinyin/README
drwxrwxr-x root/root 0 2020-07-15 17:13 ./usr/share/doc/libpinyin/doc/
-rw-rw-r-- root/root 15958 2020-07-15 17:13 ./usr/share/doc/libpinyin/doc/Makefile
-rw-rw-r-- root/root 805 2020-06-07 22:29 ./usr/share/doc/libpinyin/doc/Makefile.am
-rw-rw-r-- root/root 15727 2020-07-15 17:13 ./usr/share/doc/libpinyin/doc/Makefile.in
-rw-rw-r-- root/root 910 2020-06-07 22:29 ./usr/share/doc/libpinyin/doc/libpinyin.1
drwxr-xr-x root/root 0 2020-07-15 17:16 ./usr/share/man/
drwxr-xr-x root/root 0 2020-07-15 17:16 ./usr/share/man/man1/
-rw-r--r-- root/root 511 2020-07-15 17:16 ./usr/share/man/man1/libpinyin.1.gz
lrwxrwxrwx root/root 0 2020-07-15 17:16 ./usr/lib/libpinyin.so -> libpinyin.so.13.0.0
lrwxrwxrwx root/root 0 2020-07-15 17:16 ./usr/lib/libpinyin.so.13 -> libpinyin.so.13.0.0

目前 Ubuntu 20.04 里 libpinyin 套件的版本也是 2.3.0 (虽然实际上落后了一点),要安装这个套件时必须先把原来的版本删除掉。
头像
Ping-Wu
帖子: 1822
注册时间: 2012-11-14 9:34
系统: Debian 12

Re: 在 Ubuntu 20.04 里编译 ibus-libpinyin 1.11.93 以及自己打 deb 包

#4

帖子 Ping-Wu »

Ping-Wu 写了: 2020-07-15 2:56做一个 .deb 套件:

代码: 全选

sudo apt install checkinstall
make
sudo checkinstall --install=no --fstrans=yes
使用 --install=no --fstrans=yes 这两个参数后,可以直接以使用者身份执行 checkinstall 程序,不必启动 sudo:

sudo apt install checkinstall
make
sudo checkinstall --install=no --fstrans=yes
回复