[已解决]编译 fcitx-rime 时无法找到 rime 包

------------------ 2014 年 8 月 13 号更新 ------------------
将 /usr/lib/pkgconfig/rime.pc 复制到 /usr/lib64/pkgconfig/ 即可解决。

------------------------------ 原问题 ------------------------------
编译并安装了最新(1.2 版本)的 librime ,在 cmake fcitx-rime 时提示:

package 'rime>=1.0.0' not found

CMakeList.txt 里对应的是这个命令:

pkg_check_modules(RIME "rime>=1.0.0" REQUIRED)

对 cmake 不是很了解,请问该如何引导其找到正确的路径?

这是 librime 安装的文件列表:

-- Installing: /usr/include/rime_api.h
-- Installing: /usr/lib/pkgconfig/rime.pc
-- Installing: /usr/share/cmake/rime/RimeConfig.cmake
-- Installing: /usr/lib/librime.so.1.2.0
-- Installing: /usr/lib/librime.so.1
-- Installing: /usr/lib/librime.so
-- Installing: /usr/bin/rime_dict_manager
-- Installing: /usr/bin/rime_deployer

M17N 源里的没问题。你给的信息太少,cmake 的步骤也没说清楚。

多谢回复~

我是从 GitHub 里 clone 的源代码,和 M17N 的比较了一下,是一致的。

至于 cmake,就只是用了这个命令:

cmake CMakeList.txt

然后就是这般提示信息:

-- The C compiler identification is GNU 4.8.1
-- The CXX compiler identification is GNU 4.8.1
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.28") 
-- checking for module 'fcitx'
--   found fcitx, version 4.2.8.3
-- checking for module 'fcitx-config'
--   found fcitx-config, version 4.2.8.3
-- checking for module 'fcitx-utils'
--   found fcitx-utils, version 4.2.8.3
-- fcitx4-config found /usr/bin/fcitx4-config
-- Found Fcitx: 4.2.8.3 (Required is at least version "4.2.8.1") 
-- checking for module 'rime>=1.0.0'
--   package 'rime>=1.0.0' not found
CMake Error at /usr/share/cmake/Modules/FindPkgConfig.cmake:279 (message):
  A required package was not found
Call Stack (most recent call first):
  /usr/share/cmake/Modules/FindPkgConfig.cmake:333 (_pkg_check_modules_internal)
  CMakeLists.txt:9 (pkg_check_modules)


-- Found Brise: /usr/share/rime-data  
-- Precompiler macro RIME_DATA_DIR is set to "/usr/share/rime-data"
-- Adding Fcitx Addon rime
-- Configuring incomplete, errors occurred!

试试

mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
make
sudo make install

这才是 cmake 的标准流程。另外源里有你编译是没有意义的。

多谢了哈,虽然还是老样子……
以后安装软件时都会尽量先去源里找的~

运行下 sudo /sbin/ldconfig

这个命令可以让 rime_developer 和 rime_dict_manager 正常工作。

我注意到安装官方的打包,librime.so.1.2.0 会被安装到 /usr/lib64/,而我自己编译的默认只是 /usr/lib/。
在比较过 /usr/lib64/ 和 /usr/lib/ 下的 pkgconfig 文件夹后,将 /usr/lib/pkgconfig/rime.pc 移动到 /usr/lib64/pkgconfig/,之后对 fcitx-rime 的编译就过了。

非常感激你的认真回复,不然估计我也会逐渐放弃。 :)

另外多问一句:为什么官方编译的 librime 会安装到 /usr/lib64 而我编译的会只安装到 /usr/lib?
是和 librime/src/CMakeList.txt 有关么?由于找不到官方 x64 的源码,我也只能瞎猜测了~