opencc 1.1.6-150600.1.39
librime1 1.7.3-150400.1.5
@marguerite
opencc_test_demo.tar.xz (303.4 KB)
我是在 Leap 15.6 x86_64 上编译的这两个东西。
先备份你自己的 libopencc.so.1.1.6
sudo mv /usr/lib64/libopencc.so.1.1.6 /usr/lib64/libopencc.so.1.1.6.bak
然后用我的替换:
sudo cp -r ./opencc_test_demo/libopencc.so.1.1.6 /usr/lib64/libopencc.so.1.1.6
然后运行 opencc_test:
./opencc_test_demo/opencc_test
看看输出什么,把输出贴上来。
然后恢复你原来的 libopencc.so.1.1.6:
sudo mv /usr/lib64/libopencc.so.1.1.6.bak /usr/lib64/libopencc.so.1.1.6
看到 okay 或者 okay1 就说明你的 opencc 能把 t2s.json 识别为 /usr/share/opencc/t2s.json,并且能正确的加载。我的能,不知道你什么情况…
PACKAGE_DATA_DIRECTORY: /home/marguerite/opencc/build/output/share//opencc//
terminate called after throwing an instance of 'opencc::FileNotFound'
[1] 45930 abort (core dumped) ./opencc_test_demo/opencc_test
直接崩掉了
呃…好像预编译不行,我去打个包吧…
opencc_test 还用那个
prefixedFileName: /usr/share/opencc//
okay
这次可以了,显示上面这个。
不过 fcitx5-rime 还是只能输出繁体,日志里面还是找不到 t2s.json
因为 M17N 的是正常的,所以感觉似乎可以试一下用 M17N 的替换看看?也可以对照看看少什么东西不:
# zypper se -i rime fcitx opencc
S | Name | Type | Version | Arch | Repository
---+----------------------------+--------+---------------------------------+--------+-----------------
i | fcitx-gtk2-32bit | 软件包 | 4.2.9.9-202.2 | x86_64 | M17N
i+ | fcitx5 | 软件包 | 5.1.12-45.14 | x86_64 | M17N
i | fcitx5-branding-openSUSE | 软件包 | 0.1.0-2.3 | noarch | M17N
i | fcitx5-chinese-addons | 软件包 | 5.1.8-29.12 | x86_64 | M17N
i+ | fcitx5-configtool-kcm6 | 软件包 | 5.1.8-31.3 | x86_64 | M17N
i+ | fcitx5-configtool-qt6 | 软件包 | 5.1.8-31.3 | x86_64 | M17N
i | fcitx5-customphraseeditor | 软件包 | 5.1.8-29.12 | x86_64 | M17N
i | fcitx5-customphraseeditor6 | 软件包 | 5.1.8-29.12 | x86_64 | M17N
i+ | fcitx5-gtk2 | 软件包 | 5.1.3-30.29 | x86_64 | M17N
i+ | fcitx5-gtk3 | 软件包 | 5.1.3-30.29 | x86_64 | M17N
i+ | fcitx5-gtk4 | 软件包 | 5.1.3-30.29 | x86_64 | M17N
i+ | fcitx5-lua | 软件包 | 5.0.14-20.12 | x86_64 | M17N
i | fcitx5-pinyindictmanager | 软件包 | 5.1.8-29.12 | x86_64 | M17N
i | fcitx5-pinyindictmanager6 | 软件包 | 5.1.8-29.12 | x86_64 | M17N
i+ | fcitx5-qt-lang | 软件包 | 5.1.9-35.15 | noarch | M17N
i+ | fcitx5-qt5 | 软件包 | 5.1.8-33.6 | x86_64 | (系统软件包)
i+ | fcitx5-qt6 | 软件包 | 5.1.9-35.15 | x86_64 | M17N
i+ | fcitx5-rime | 软件包 | 5.1.9-24.12 | x86_64 | M17N
i+ | fcitx5-table-extra | 软件包 | 5.1.7-21.9 | noarch | M17N
i+ | libfcitx-gclient1-32bit | 软件包 | 4.2.9.9-202.2 | x86_64 | M17N
i+ | libfcitx-utils0-32bit | 软件包 | 4.2.9.9-202.2 | x86_64 | M17N
i+ | libFcitx5Config6 | 软件包 | 5.1.12-45.14 | x86_64 | M17N
i+ | libFcitx5Core7 | 软件包 | 5.1.12-45.14 | x86_64 | M17N
i+ | libFcitx5GClient2 | 软件包 | 5.1.3-30.29 | x86_64 | M17N
i+ | libFcitx5Qt5DBusAddons1 | 软件包 | 5.1.9-35.15 | x86_64 | M17N
i+ | libFcitx5Qt5WidgetsAddons2 | 软件包 | 5.1.9-35.15 | x86_64 | M17N
i+ | libFcitx5Qt6DBusAddons1 | 软件包 | 5.1.9-35.15 | x86_64 | M17N
i+ | libFcitx5Qt6WidgetsAddons2 | 软件包 | 5.1.9-35.15 | x86_64 | M17N
i+ | libFcitx5Utils2 | 软件包 | 5.1.12-45.14 | x86_64 | M17N
i+ | libopencc1_1 | 软件包 | 1.1.9-2.1 | x86_64 | openSUSE-CQU-OSS
i+ | librime-lua | 软件包 | 0.0.0+git20240308.20ddea9-14.23 | x86_64 | M17N
i | librime1 | 软件包 | 1.10.0+git20240229.4ee471e-84.3 | x86_64 | (系统软件包)
i+ | opencc-data | 软件包 | 1.1.9-2.1 | x86_64 | openSUSE-CQU-OSS
i | rime | 软件包 | 1.10.0+git20240229.4ee471e-84.3 | x86_64 | (系统软件包)
我这边使用的方案是 雾凇拼音 虽然也有简繁转换设置但是似乎并没有出现问题,也可以正常输出繁体:
当然简体肯定也是正常的:
推荐试试看
注: 我这边甚至没用 opencc ,不知道为什么。也没有 /tmp/
下 rime 相关日志,可能是风滚草的区别?
opencc -c t2s.json
如果不报错,按 Ctrl-D 退出。如果报错,则继续:
strace -o strace.log -f opencc -c t2s.json
然后把当前目录下的 strace.log 发出来。
也许是方向错了,我们一直在纠结 opencc 1.1.6 的问题,但是 Leap 下面有两个 opencc, 另外一个的版本是从 Leap 15.0 一直带上来的 1.0.5,对应的包叫 libopencc2。
有没有可能,Leap 上面的 librime1 链接的是 libopencc2, 虽然看上去 librime1 和 libopencc1_1 都装着,但就是不好用,因为 librime1 使用的是 libopencc2。
$ sudo zypper rm libopencc2
正在读取已安装的软件包...
正在解决软件包依赖关系...
将移除以下 4 个软件包:
fcitx5-rime libopencc2 librime1 rime
所以 Leap 15.6 上的 librime1 是依赖 libopencc2 也就是 opencc 1.0.5 的,去 opencc 1.1.6 里面找 1.0.5 的问题肯定找不到。
不好意思,确实是我之前理解的有问题,直接把 opencc 的版本发上来了
fcitx5.txt (23.0 KB)
按我前面的设置,目前是可以正常切换和输入中文的,当然可能是瞎猫碰上死耗子,一系列错误设置耦合在一起生效的。附件是 fcitx5-diagnose 日志,没看出有大的问题,只提到 qt4 相关组件缺失。