在debian stretch上编译安装ibus-libpinyin(V1.7.3)过程记录
2015-12-09 00:00
821 查看
摘要: linux下的输入法都不怎么好用,debian的testing源里的ibus-libpinyin的版本不是最新版,于是想动手自己编译个最新版.但是没找到安装教程,就一步步摸索着来,最后幸运的装上了.
ibus-libpinyin 的主页: https://github.com/libpinyin/ibus-libpinyin.
编译软件一般的流程是:
但是源码目录没找到 configure 文件,只有一个
但是ibus的包我是装了,最后发现这是linux解决库依赖的一种配置,将相关的库的依赖写进一个 .pc 文件中,那这个 .pc 文件到哪里找呢?最后发现源里有个
源码地址在这: https://github.com/libpinyin/libpinyin
同理运行
google了一大圈发现是一个叫
顺利完成.
继续 ibus-libpinyin 的配置.这时候它需要
配置完后继续make,sudo make install顺利安装上了.默认的位置安装在
找了半天发现了
总结:
库的依赖要找libxxx-dev包
运行autogen.sh时最好指定prefix为
google是你的朋友.
ibus-libpinyin 的主页: https://github.com/libpinyin/ibus-libpinyin.
编译软件一般的流程是:
./configure make suudo make install
但是源码目录没找到 configure 文件,只有一个
autogen.sh文件是可执行的,于是就试着运行了(建议在这里指定安装路径为
/usr/share,没尝试,原因见后文),发现这个脚本就是用来生成 configure 文件的,同时检测一些依赖关系.不久遇到了第一个依赖:
checking for IBUS... no configure: error: Package requirements ( ibus-1.0 >= 1.4.0 ) were not met: No package 'ibus-1.0' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix.
但是ibus的包我是装了,最后发现这是linux解决库依赖的一种配置,将相关的库的依赖写进一个 .pc 文件中,那这个 .pc 文件到哪里找呢?最后发现源里有个
libibus-1.0-dev的包提供了这个文件,那么同理找一个名为
name的依赖就是找
libname-dev的包,按这个思路顺利解决了 sqlite3 的依赖.然后发现 libpinyin 的版本低了,于是还要编译libpinyin的最新版:(
源码地址在这: https://github.com/libpinyin/libpinyin
同理运行
autogen.sh生成配置文件(建议在这里指定安装路径为
/usr/share,没尝试,原因见后文),配置这个的时候又遇到一个问题,
`cannot found Berkeley DB Version 4`
google了一大圈发现是一个叫
libdb4.8-dev的包,但是源里没有,还是从oldstable源里找到的.最后libpinyin配置完了,执行
$make $sudo make install
顺利完成.
继续 ibus-libpinyin 的配置.这时候它需要
gdk-3.0的依赖,顺着之前的思路发现源里没有,于是又请教了google,发现是
libgtk-3-dev提供了这个依赖(有种莫名的悲伤--||),不得不说还是google亲啊!
配置完后继续make,sudo make install顺利安装上了.默认的位置安装在
/usr/local/share/ibus-libpinyin下,这就有问题了.因为ibus装在
/usr/share/ibus下面,ibus并没有找到
ibus-libpinyin的引擎,所以装上了但是用不了--||.
找了半天发现了
/usr/local/libexec/ibus-engine-libpinyin,这似乎是ibus-libpinyin的引擎(engine),这个有个选项是-i,似乎没啥作用,于是跟源里的ibus-libpinyin安装的文件对比下发现有个
/usr/share/ibus/component/xxx.xml好像是用来指定engine的,发现上一步
ibus-engine-libpinyin -i好像生成了
/usr/local/share/ibus/component/xxx.xml,copy到
/usr/share/ibus/component/下,重启,发现能切换输入法的引擎了.
总结:
库的依赖要找libxxx-dev包
运行autogen.sh时最好指定prefix为
/usr/share,不过没试,有兴趣的可以试试.
google是你的朋友.
相关文章推荐
- Linux socket 初步
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程
- 基于 Linux 集群环境上 GPFS 的问题诊断
- 谁是桌面王者?Win PK Linux三大镇山之宝
- vivi下重新调整分区