質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Cygwin

Cygwinは、Unixのような環境を、Windows上で構築させるコマンドラインインターフェースです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

解決済

2回答

1786閲覧

cygwin上でコンパイルした文字コード変換用スクリプトのコンパイルを解除したい

kohehe

総合スコア13

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Cygwin

Cygwinは、Unixのような環境を、Windows上で構築させるコマンドラインインターフェースです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

1クリップ

投稿2020/04/30 00:27

chasenをwindows10で使えるようにしようと、cygwinをインストールしました。
cygwin上でchasenに必要なデータをインストールして実行したのですが、文字コードがutf8ではないので文字化けしました。

そこで、このサイトの手順5を見て、文字コード変換用スクリプトが必要と判断し、サイト上のそれをコンパイルしました。下記スクリプトはその内容です。

[/root/euc2utf8.sh] #!/bin/sh for file in *.dic *.cha do if [ -f $file ]; then echo $file nkf -w $file > tmpfile mv tmpfile $file fi done exit

そしてchasenを実行しようとしたら、

chasen: /usr/local/lib/chasen/dic/ipadic/chadic.lex: Invalid argument

と出ました。
以前は文字化けしていたとはいえ、ちゃんと出力はされていたのに、文字コード変換用スクリプトをコンパイルしたことで、出力すらされなくなりました。
なので、一旦このスクリプトのコンパイルを解除したいのですが、方法はありますでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dodox86

2020/04/30 01:01

スクリプト中でnkfを実行していますが、Cygwin環境上で、nkfコマンドは使えているのでしょうか。
kohehe

2020/05/01 02:04

使えるようにはしています
sage

2020/05/13 07:16

手順5の後、6、7、8はやったのですか? また、このエラーを出したコマンドの投入状況(コマンド名と指定したオペランド等)を提示してください。 (第三者がトレースできるだけの情報を提示してください) やったことはCygwin環境ではなく、VM環境ではうまくいった環境構築手順なのでしょうか?
kohehe

2020/05/13 10:55

手順5が正常に経過したと判断して、手順6、7、8も実行しました。 そのあと、chasenコマンドを実行した際のエラーコードが上記の通りとなっています。 Cygwin環境でしかしていません。VM環境が何なのか分からず、とりあえずCygwin環境を選択し、参考サイトから手順を踏んで今に至ります。 Cygwinインストール(その際必要な機能をインストールし忘れていたので、ぶつかる都度再インストールしていた) ↓ chasen2.4.5、ipadic2.7.0、darts、libiconvを各解凍し、cygwin環境にインストール ↓ ここで、chasenがデフォルトではUTF-8に対応していないことに気づく(出力結果が文字化けているだけで、この時点では上記エラーは見られず) ↓ 参考サイトへ(ほかのサイトも巡回) ↓ 上記シェルスクリプトをcygwinにインストール(インストールと呼ぶべきかはわかりませんが、) ↓ 上記エラー発生。原因分からず。 という感じのプロセスです。
sage

2020/05/13 11:20

私はCentOS7環境でインストールしてみたのですが、このエラーにはなりませんでした。 このメッセージを見た感じだとchasenのconfigure/make/make installのどこかでエラーになっていたのではないかと推測しました。もしかしたらUTF-8に変更したのならば、6/7のステップはやりなおさなければならないのかもしれません。 私は(途中で誤りながらも)この手順どおりにインストールしたのですが、8で別のエラーになりました。 ========================================= # echo “茶筌で形態素解析ができるかやってみます。” | chasen -iw chasen: /usr/local/etc/chasenrc:20: POS `名詞' is undefined ========================================= /usr/local/etc/chasenrcの20行目に「名詞」という記述はありますが、このファイルの位置づけを含めた全体の構成がどうなっているのか、理解していないため、修正方法が分かりません。20行目をそのファイルの末尾に移動させたら、「:20」の数字が移動させた行に変わっただけでした。
kohehe

2020/05/13 11:50

実はやり直した際、手順6の `chasen-config –mkchadic`/makeda -i w chadic *.dic を打った時にエラーがありました。 /usr/local/libexec/chasen/makeda: chadic.tmp: Invalid argument また無効な引数と言われました。ここで何か悪さがあると思われるのですが、それも分からずです。 とりあえず、下の返信のwinchaを試してみます。
sage

2020/05/13 12:33

その行、私が見たwebページには2つの間違いがありました。 一つ目は「-mkchadic」に見えるが先頭文字がハイフォンではないということ(コピペでやると間違ったコードの文字が入る) もう一つは「--mkchadic」とハイフォンが2つ必要だということ。 ========================================= # echo `chasen-config --mkchadic` /usr/local/libexec/chasen ========================================= で分かるように「/usr/local/libexec/chasen/makemat」と「/usr/local/libexec/chasen/makeda」の2つのコマンドを実行するのですが、ログはこんな感じです。 ========================================= # `chasen-config --mkchadic`/makemat -i w parsing grammar.cha parsing cforms.cha /usr/local/libexec/chasen/makemat: cforms.cha:9-21: no basic form # `chasen-config --mkchadic`/makeda -i w chadic *.dic parsing grammar.cha parsing cforms.cha /usr/local/libexec/chasen/makeda: cforms.cha:9-21: no basic form # ========================================= ただ、他のwebページで読んだのが誤解でなければ「no basic form」についてはchasenコマンドを叩く際に「-iw」を指定することで問題を回避できるらしいです。
kohehe

2020/05/14 00:54

返信遅れて申し訳ありません。 わざわざ確認してくださりありがとうございます。 私もコピペしてダメだったのですが、公式サイトをコピペしたら動きました。 しかしコマンドの意味は分かりませんでした。"makemat"と"makeda"の両方を動かすコマンドだったのですね。 sageさんのログと、私のログでは異なるようなので、一応載せておきます。 ================================= $ `chasen-config --mkchadic`/makemat -i w parsing grammar.cha parsing cforms.cha parsing ctypes.cha parsing connect.cha table size: 1 lines: 0 number of states: 1 matrix size: 1x1 -> 1x1 ================================= ================================= ====================$ `chasen-config --mkchadic`/makeda -i w chadic *.dic parsing grammar.cha parsing cforms.cha parsing table.cha parsing dictionaries... Adj.dic Adnominal.dic Adverb.dic Auxil.dic Conjunction.dic Filler.dic Interjection.dic Noun.adjv.dic Noun.adverbal.dic Noun.demonst.dic Noun.dic Noun.nai.dic Noun.name.dic Noun.number.dic Noun.org.dic Noun.others.dic Noun.place.dic Noun.proper.dic Noun.verbal.dic Onebyte.dic Others.dic Postp.dic Postp-col.dic Prefix.dic Suffix.dic Symbol.dic Verb.dic /usr/local/libexec/chasen/makeda: chadic.tmp: Invalid argument ============= このmakedaの最終行で詰まっている感じです。
kohehe

2020/05/14 00:54

何か変になりましたすみません
guest

回答2

0

ベストアンサー

目的がchasenというLinuxアプリをwindows10で使うことではなく、chasenの機能を持ったアプリをwindows10で使うのならば、winchaを使えばいいのではないですか?
ipadic version 2.7.0ユーザーズマニュアルを見ると「windowsにおける辞書インストール」なんて項目がありますし。
逆にどうしてもLinuxアプリをWindows PCで動かしたいのならばCygwin環境ではなく、VirtualBox等のVM環境を使った方が簡単だと思います。

投稿2020/05/13 10:06

sage

総合スコア1216

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kohehe

2020/05/13 10:59

確かに、別にlinux環境下である必要性はありません。別の手段もあったのですね。 そのアプローチ方法も試してみます。ありがとうございます。
guest

0

コンソールの方をUTF8にしましょう
コマンドプロンプトなら、UTF8にする方法はぐぐればでてきますよ

投稿2020/04/30 01:09

y_waiwai

総合スコア87774

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dodox86

2020/04/30 01:15

Windows10上ではあるものの、Cygwin環境下のシェルで実行しているはずなので、既にターミナルはUTF-8だと思います。
y_waiwai

2020/04/30 01:21

ああ、UTF8でないってのはそのアプリの方なんですね、読み違いしてました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問