-
Notifications
You must be signed in to change notification settings - Fork 312
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ubuntu 22.04 LTSのFcitx5 + Mozc環境で、日本語入力ができない #1237
Comments
報告ありがとうございます!
一応可能です! |
お忙しいところご回答有り難うございます。 またLinux向けにも素晴らしいソフトウェアを提供して頂きありがとうございます。 |
よかったです! しかし日本語入力できないのは、対策できないとずっとそのままになってしまうかもですね。 @kledgeb さん自身で解決策を探してみるというのはどうでしょう 👀 |
@kledgeb たびたびすみません!! 原因の切り分けのために、もしよかったら @kledgeb さんの環境で、最新版のVOICEVOXをご自身で動かしてみて頂けないでしょうか 🙇 |
返信有り難うございます。 直接的な原因本現象の直接的な原因は、VOICEVOXが同梱している VOICEVOXでは
というわけでVOICEVOXの要件として GLIBCXX_3.4.29の対応状況Ubuntu 22.04 LTSの VOICEVOX 0.14.5に同梱されているlibstdc++.so.6GLIBCXX_3.4.29に対応していない $ strings ./libstdc++.so.6 | grep GLIBCXX
・・・(省略)・・・
GLIBCXX_3.4.26
GLIBCXX_3.4.27
GLIBCXX_3.4.28
GLIBCXX_DEBUG_MESSAGE_LENGTH Ubuntu 20.04 LTSが提供するlibstdc++.so.6GLIBCXX_3.4.29に対応していない $ strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
・・・(省略)・・・
GLIBCXX_3.4.26
GLIBCXX_3.4.27
GLIBCXX_3.4.28
GLIBCXX_DEBUG_MESSAGE_LENGTH Ubuntu 22.04 LTSが提供するlibstdc++.so.6GLIBCXX_3.4.29に対応している $ strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
・・・(省略)・・・
GLIBCXX_3.4.26
GLIBCXX_3.4.27
GLIBCXX_3.4.28
GLIBCXX_3.4.29
GLIBCXX_3.4.30
GLIBCXX_DEBUG_MESSAGE_LENGTH その他さて本件に遭遇しているユーザーがこの問題を回避したい場合、インプットメソッドフレームワークで またVOICEVOXのビルドに関してですが、VOICEVOXが同梱している |
詳細ありがとうございます!!!!! 対応状況の一覧化も非常に助かります。 ビルド環境に関しての申し出もありがとうございます! VOICEVOXにとって一番良いのは、(Github Actionsの)ubuntu20環境でビルドしつつ、 あ! あと同じ現象になりそうな方の数もなんとなくで良いのでご存知でしたら知りたいかもです。 |
とのことなので、
を調べて、libstdc++がビルドのどの段階で入り込むようになったか調査したいですね 影響しそうなのはこのあたりでしょうか...
OS側のlibstdc++が使われるのが0.13までの期待された動作(OSに同梱されているlibstdc++のバージョンをもとにOS間互換性を考慮していた)だったと思います。 コアとエンジンとエディタが同じディレクトリにあるので、コアやエンジンのためのlibstdc++をElectronが読み込んでいる可能性があるかもです。GLIBCXXを見る感じ、Ubuntu 20.04由来のlibstdc++.so.6のようなので、エンジン以前から来ていそうな気がしました。0.14のエディタはアップデート作業が追いついておらず、Ubuntu 18.04でビルドされていると思います。
Ubuntu 20.04, Ubuntu 22.04間で最低動作バージョン(GLIBCXX)が同じであれば、libstdc++.so.6だけUbuntu 22.04からもらってくるのが簡単な気はします(いまもUbuntu 18.04/20.04からビルド時にもらってきているはずなので)。 もしくは、22.04用に別バージョンのVOICEVOXを配布する手もありそうです。
個人の経験的には、snapという(リリースの速い)パッケージマネージャでインストールしたGUIアプリケーションの日本語入力が、デフォルトのIBus + Mozcでできないことがあり、その対策で好みとは別にFcitx + Mozcを使うことはあった気がします(このIssueとは逆の状況)。Fcitx5がFcitxの後継であれば、同じ状況になる人はいるかもです。(個人的には、GUIアプリケーションをsnapでインストールしないようにして、IBus + Mozcを使い続けています) |
ビルド以下の環境でビルドしてみました。 ビルドに使用したOS:Ubuntu 20.04 LTS 1. Node.js 16.17.0のインストール$ wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
$ nvm install 16.17.0
$ node -v
v16.17.0 2. ソースコードの入手とnpm ciの実行$ git clone https://github.com/VOICEVOX/voicevox.git
$ cd voicevox
$ npm ci 3. .envファイルの準備
※ VOICEVOXビルド後に、修正した 4. ビルド$ npm run electron:serve
$ npm run electron:build 5. テストと確認さて出来上がった しかし 何かビルド手順が足りていないような気がします。
私見ですが
VOICEVOXの要件として |
なるほどです!! @kledgeb ビルドお試しありがとうございます!! ちなみにエンジンはこちらでダウンロードできます。
こちらに関してもありがとうございます!すごく多いというわけではたぶん無い、という感じなのかなと思いました。 |
https://pyinstaller.org/en/stable/usage.html#making-gnu-linux-apps-forward-compatible ビルドスクリプト見ても変なところは無いので、 |
なるほどです!! PyInstaller側で議論がありました。 pyinstaller/pyinstaller#6998 ドキュメントにも記載されていました。 |
動的ライブラリのロードの仕組みについて(特にLinuxを所有していないため)あまり詳しくはないのですがPyinstallerのライブラリが混ざってしまうことが原因ならエンジンを別のディレクトリにしてしまえばいいような気がします。 現在は同じディレクトリにエンジンをそのまま展開してしまっているのですが新しく |
こんにちは、できないと思いましたが |
こんにちは。ほぼ同環境で同現象が出ていて調べてたらこのissueにたどり着きました。
という同じ回避方法で動作確認しました。(cpu版 〜tar.gz を使用)
デフォルトでは必要なライブラリがバンドルされると書かれているので、
|
@LirimSakura ご報告ありがとうございます!! |
@Hiroshiba 前回のコメントで 〜/build/run 以下には無かったから…と書いていたのですが、 あらためてモックビルドで確認してみたところ、 …でもこれが正解かというと微妙なところですね。
|
@LirimSakura おおお!!詳細にありがとうございます!!
ものすごく同感です。ファイルリストを眺めていましたが、かなりいろんな依存が消えるんですねぇ。 ディレクトリ分けが丸そうですね!!! |
不具合の内容
Ubuntu 22.04 LTSのFcitx5 + Mozc環境で、日本語入力ができません。
現象・ログ
端末から VOICEVOX 0.14.5 を起動すると、以下の警告が出力されます。
Fcitx5のライブラリーが読み込めていないようです。
(voicevox:8996): Gtk-WARNING **: 21:55:53.592: /tmp/.mount_VOICEV3zQRsD/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/im-fcitx5.so)
(voicevox:8996): Gtk-WARNING **: 21:55:53.615: Loading IM context type 'fcitx' failed
再現手順
1.Ubuntu 22.04 LTSをインストール
2.「fcitx5-mozc」パッケージをインストール
3.「言語サポート」を起動し、「キーボード入力に使うIMシステム」を「Fcitx 5」に切り替える
4.ログインし直す
5.「Fcitxの設定」を起動し、登録されている入力メソッドが「キーボードレイアウト」「Mozc」の順に登録されていることを確認する
->キーボードに標準的な日本語キーボードを利用しているため、ここではキーボードレイアウトに「キーボード - 日本語」を登録しています。
6.「VOICEVOX 0.14.5」を起動する
7.半角/全角キー等で入力メソッドを「Mozc」に切り替える
8.「VOICEVOX 0.14.5」で日本語を入力する
期待動作
「Mozc」経由で日本語を入力できる
VOICEVOXのバージョン
0.14.5
(VOICEVOX-CPU.Installer.0.14.5.Linux.sh経由でインストールしています。)
OSの種類/ディストリ/バージョン
OS:Ubuntu 22.04 LTS
インプットメソッドフレームワーク:Fcitx5
インプットメソッド:Mozc(fcitx5-mozc)
その他
1.同環境でも「VOICEVOX 0.13.4」で日本語入力できることを確認しています。
2.「VOICEVOX 0.14.5」以外の「VOICEVOX 0.14.x」系のバージョンは未確認です。
3.同環境でもテキストエディターやFirefoxで日本語入力できることを確認しています。
4.同環境でもインプットメソッドフレームワークを「IBus」に切り替えた場合は、日本語入力できることを確認しています。
ところで「VOICEVOX 0.13.4」のLinux向けインストーラーの再ダウンロードは可能でしょうか。
Releasesに見当たらなかったため、もし再ダウンロード可能なら助かります。
The text was updated successfully, but these errors were encountered: