日本語係り受け解析器CaboChaのmakeに失敗する

このQ&Aのポイント
  • 日本語係り受け解析器CaboChaのmakeに失敗している
  • makeを成功させるために必要な条件は何か
  • make失敗時のエラーメッセージには、未定義の関数が存在する
回答を見る
  • ベストアンサー

日本語係り受け解析器CaboChaのmakeに失敗する

日本語係り受け解析器CaboChaをインストールしたいのですが、makeに失敗します。 makeを成功させるには何が必要なのでしょうか? お知恵を貸して下さい。 コンパイル環境 OS CentOS3 g++ 3.2.5 cabocha-0.60pre2 CRF++-0.51 make失敗時に表示されたエラーメッセージです。 g++ -DHAVE_CONFIG_H -I. -I.. -DCABOCHA_DEFAULT_POSSET=\"IPA\" -DCABOCHA_DEFAULT_CHARSET=\"UTF8\" -DMODEL_VERSION=100 -DCABOCHA_DEFAULT_RC=\"/usr/local/etc/cabocharc\" -O3 -Wno-deprecated -Wall -c chunk_learner.cpp -fPIC -DPIC -o .libs/chunk_learner.o chunk_learner.cpp: In function `bool CaboCha::ChunkingTrainingWithCRFPP(cabocha_parser_t, cabocha_charset_t, cabocha_posset_t, int, const char*, const char*, const char*)': chunk_learner.cpp:162: `::unlink' undeclared (first use here) make[2]: *** [chunk_learner.lo] Error 1 make[2]: Leaving directory `/usr/local/src/cabocha-0.60pre2/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/usr/local/src/cabocha-0.60pre2' make: *** [all] Error 2

質問者が選んだベストアンサー

  • ベストアンサー
  • entree
  • ベストアンサー率55% (405/735)
回答No.1

手元の環境で試してみたところ問題が再現しました。 g++ (libstdc++) のバージョンが古すぎるのです。 そのために、unlink が実装されていないのでしょう。 gcc-3.4 では問題の箇所でエラーが発生しないことも確認しました。

kawaby
質問者

お礼

unlinkを呼び出しているソースファイルにて #include <unistd.h> を追記すると、無事makeすることができました。 情報提供ありがとうございました。

関連するQ&A

  • Apache2のインストールに失敗する

    Solaris9でサーバを構築しています。Apache2をソースからインストールしようと考えていますが、makeすると以下のようなエラーが出てしまいます。 どのように対処したらよいでしょうか? ご教授お願いいたします。 make[2]: *** [exports.lo] Error 1 make[2]: Leaving directory `/usr/local/src/httpd-2.0.54/server' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/usr/local/src/httpd-2.0.54/server' make: *** [all-recursive] Error 1

  • libxml2のmakeでエラー

    phpをインストールする前にlibxml2が必要らしいのでインストールすることにしたのですが、make時にエラー出てしまいました。 検索したのですが自分では検討がつきません…。どのような原因なのか教えてください。 OS:fedora core 6 wget -P /usr/local/src ftp://xmlsoft.org/libxml2/libxml2-2.6.27.tar.gz # cd /usr/local/src # tar xzf libxml2-2.6.27.tar.gz # cd libxml2-2.6.27 # ./configure --prefix=/usr/local --with-low-memory # make parser.c:5103: internal compiler error: Aborted Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://bugzilla.redhat.com/bugzilla> for instructions. The bug is not reproducible, so it is likely a hardware or OS problem. make[2]: *** [parser.lo] Error 1 make[2]: Leaving directory `/usr/local/src/libxml2-2.6.27' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/usr/local/src/libxml2-2.6.27' make: *** [all] Error 2 ちなみにlinuxをのせてるPCはwindowsMe時代の奴でテキストモードでしかfedora6をインストールできないようなしょぼい奴です。 基本的にソースでインストールする勉強をしているのでソースから入れようと思ってます。 mysqlのmake時にには下のようなエラーがでました。 make[2]: *** [my_write.lo] Error 1 make[2]: Leaving directory `/home/mysql/src/mysql-5.1.22-rc/libmysql' make[1]: *** [all] Error 2 make[1]: Leaving directory `/home/mysql/src/mysql-5.1.22-rc/libmysql' make: *** [all-recursive] Error 1 こちらもどこが怪しいか指摘くださると助かります。

  • makeについて

    quasar media playerと言うソフトをインストールしようと思いmakeの手前まではうまくいったのですがmakeで                ・                ・                ・                 省略 ../../../include/qt4/QtCore/qvector.h:321: instantiated from ‘const T& QVector<T>::operator[](int) const [with T = Skin]’ skinmanager.h:171: instantiated from here ../../../include/qt4/QtCore/qvector.h:92: error: ‘QVectorTypedData<T>::array’ has incomplete type skinmanager.h:37: error: forward declaration of ‘struct Skin’ ../../../include/qt4/QtCore/qvector.h: In member function ‘const T& QVector<T>::operator[](int) const [with T = Skin]’: skinmanager.h:171: instantiated from here ../../../include/qt4/QtCore/qvector.h:322: error: ‘struct QVectorTypedData<Skin>’ has no member named ‘array’ make: *** [configuration.o] エラー 1 root@ubuntu:/usr/local/src/v0.9_beta3# というエラーが出てきて先へ進めません。 このエラーを解決するには具体的にどうしたらいいのでしょうか。わかる方いらしたらどうかご教授よろしくお願いします。              

  • Apacheのインストール

    相当初心者で申し訳ありませんが、Fedora Core5より 新規でApacheをインストールする事が出来ません。 tar zxvf apache_1.3.36.tar.gz mv apache_1.3.36 httpd cd ./httpd ./configure make make install としたところ、 make[1]: Entering directory '/usr/local/src/httpd' make[2]: Entering directory '/usr/local/src/httpd/src' make[2]: *** ターゲット 'all' を make するルールがありません。中止。 make[2]: Leaving directory 'usr/local/src/httpd/src' make[1]: *** [build-sstd] エラー 2 make[1]: Leaving directory 'usr/local/src/httpd' make: *** [build] エラー 2 というエラーが出てしまいます。 Makefileがおかしくてコンパイルエラーになるのは分かりますが、 何せ初めてLinuxを利用するもので、ネットに転がっていた インストール方法をそのまま試しただけでして、 対処法がさっぱり分かりません。 何をどうすれば良いのでしょうか? 例も挙げて頂けると助かります。 宜しくお願い致します。 因みにファイルのダウンロードからのセットアップに かかる時間を知りたいので、元々インストールされている Apacheのアップグレードとかはナシです。

  • GMTで日本語フォントが化けてしまいます

    windows7にsigwinをインストールして、sinwin内でGMT Ver4.0を使って 日本語フォントの表示をしたいのですが日本語が化けて表示されます。 (1)pstext -Lを起動されると、下記の通りに日本語が使える環境のように思えます。     35 Ryumin-Light-83pv-RKSJ-H 36 Ryumin-Light-83pv-RKSJ-V 37 GothicBBB-Medium-83pv-RKSJ-H 38 GothicBBB-Medium-83pv-RKSJ-V 39 Ryumin-Light-EUC-H 40 Ryumin-Light-EUC-V 41 GothicBBB-Medium-EUC-H 42 GothicBBB-Medium-EUC-V 43 Ryumin-Light-EUC-H 44 Ryumin-Light-EUC-V 45 GothicBBB-Medium-EUC-H 46 GothicBBB-Medium-EUC-V (2)スクリプト中のフォントもEUCにしています。以下がスクリプトの中身です #!tcsh GMTCHARSET=ja_JP.eucJP export GMTCHARSET pstext -Ba1f0g0WSen -JX10 -R0.0/3.0/0.0/6.0 << END > figure.eps 1.5 1.5 20 0 37 CM 日本語 END (3)ネットからGMT4.0-cjk.patchをダウンロードしてコンパイルしようとしましたが、 下記のエラーが出てパッチのインストールは失敗してしまいました、 パッチのインストールが旨く行けば、日本語も化けずに表示できるのでしょうか? $ make install if [ `cat src/makegmt.macros | wc -c` = 0 ]; then \ echo "src/makegmt.macros is empty - you must rerun configure in the main GMT directory"; \ exit; \ fi cd src; \ make all; \ cd .. make[1]: Entering directory '/usr/local/GMT4.0/src' if [ `cat makegmt.macros | wc -c` = 0 ]; then \ echo "src/makegmt.macros is empty - you must rerun configure in the main GMT directory"; \ exit; \ fi gcc -c -I/include -D_WIN32 -O -ansi -pedantic -DCJK -DGMT_DEFAULT_PATH=\"/usr/local/GMT4.0\" fourt.c In file included from gmt.h:571:0, from fourt.c:28: gmt_grd.h:34:20: 致命的エラー: netcdf.h: No such file or directory #include "netcdf.h" ^ コンパイルを停止しました。 Makefile:260: recipe for target 'fourt.o' failed make[1]: *** [fourt.o] Error 1 make[1]: Leaving directory '/usr/local/GMT4.0/src' cd src; \ make install; \ cd .. make[1]: Entering directory '/usr/local/GMT4.0/src' if [ `cat makegmt.macros | wc -c` = 0 ]; then \ echo "src/makegmt.macros is empty - you must rerun configure in the main GMT directory"; \ exit; \ fi gcc -c -I/include -D_WIN32 -O -ansi -pedantic -DCJK -DGMT_DEFAULT_PATH=\"/usr/local/GMT4.0\" fourt.c In file included from gmt.h:571:0, from fourt.c:28: gmt_grd.h:34:20: 致命的エラー: netcdf.h: No such file or directory #include "netcdf.h" ^ コンパイルを停止しました。 Makefile:260: recipe for target 'fourt.o' failed make[1]: *** [fourt.o] Error 1 make[1]: Leaving directory '/usr/local/GMT4.0/src' どうしたら日本語が化けなく表示できるようになるのか全く解りません 解決方法をご教示頂けると大変助かります。

  • MYSQLのmakeができない!(Redhat9、Mysql_4.0.17)

    MYSQLをインストールして./configureまで完了したのですが、makeすると以下のようになります。 make[2]: *** [libmysql.lo] エラー 1 make[2]: 出ます ディレクトリ `/usr/local/src/mysql-4.0.17/libmysql' make[1]: *** [all-recursive] エラー 1 make[1]: 出ます ディレクトリ `/usr/local/src/mysql-4.0.17' make: *** [all] エラー 2 apacheは失敗続きもインストールできたのですが 上記は何を意味しているのでしょうか?

  • Apache インストール時のエラーについて

    CentOS4.6 に Apacheをインストールしようとしているのですが、make と make install で いつも このようなエラーがでて。。どうも上手いこといきません。  まだ初心者なので訳してみてもよくわからず、調べた結果、 /usr/local/apache/bin/ に apachectl が何度も挑戦しても、 作成されません。なぜでしょう・・・助けてください。 ※元々、OSインストール時にhttpdがインストールされてましたので、 yum remove httpdを実行しました。(元々のでも出来なかったので) 後、最終的にしたいことは、htdocsを作成してCGIとかperl とかで勉強したいのですが、apacheが、、、お願いします。 /usr/lib/libexpat.so: could not read symbols: File in wrong format collect2: ld returned 1 exit status make[3]: *** [libaprutil-1.la] Error 1 make[3]: Leaving directory `/usr/local/src/httpd-2.2.8/srclib/apr-util' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/usr/local/src/httpd-2.2.8/srclib/apr-util' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/usr/local/src/httpd-2.2.8/srclib' make: *** [all-recursive] Error 1

  • makeで出るエラーが解決出来ません

    centOS5.3にsqliteを入れようと思い、 http://d.hatena.ne.jp/sotarok/20080607/php_5_with_sqlite こちらを参考にインストールしてみたんですが、 「make」 でエラーとなり、インストールが出来ません・・・。 エラー内容は・・・ /bin/sh /usr/local/src/php-5.2.10/ext/sqlite/libtool --mode=compile gcc -I/usr/local/src/php-5.2.10/ext/sqlite/libsqlite/src -I./libsqlite/src -I/usr/include/php/ext -I. -I/usr/local/src/php-5.2.10/ext/sqlite -DPHP_ATOM_INC -I/usr/local/src/php-5.2.10/ext/sqlite/include -I/usr/local/src/php-5.2.10/ext/sqlite/main -I/usr/local/src/php-5.2.10/ext/sqlite -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -DHAVE_CONFIG_H -g -O2 -c /usr/local/src/php-5.2.10/ext/sqlite/sqlite.c -o sqlite.lo mkdir .libs gcc -I/usr/local/src/php-5.2.10/ext/sqlite/libsqlite/src -I./libsqlite/src -I/usr/include/php/ext -I. -I/usr/local/src/php-5.2.10/ext/sqlite -DPHP_ATOM_INC -I/usr/local/src/php-5.2.10/ext/sqlite/include -I/usr/local/src/php-5.2.10/ext/sqlite/main -I/usr/local/src/php-5.2.10/ext/sqlite -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -DHAVE_CONFIG_H -g -O2 -c /usr/local/src/php-5.2.10/ext/sqlite/sqlite.c -fPIC -DPIC -o .libs/sqlite.o /usr/local/src/php-5.2.10/ext/sqlite/sqlite.c:211:65: error: macro "ZEND_ME_MAPPING" passed 4 arguments, but takes just 3 /usr/local/src/php-5.2.10/ext/sqlite/sqlite.c:213:60: error: macro "ZEND_ME_MAPPING" passed 4 arguments, but takes just 3 /usr/local/src/php-5.2.10/ext/sqlite/sqlite.c:211: error: 'ZEND_ME_MAPPING' undeclared here (not in a function) /usr/local/src/php-5.2.10/ext/sqlite/sqlite.c:213: error: expected '}' before 'ZEND_ME_MAPPING' /usr/local/src/php-5.2.10/ext/sqlite/sqlite.c:214:64: error: macro "ZEND_ME_MAPPING" passed 4 arguments, but takes just 3 ~略~ /usr/local/src/php-5.2.10/ext/sqlite/sqlite.c:265:45: error: macro "ZEND_ME_MAPPING" passed 4 arguments, but takes just 3 /usr/local/src/php-5.2.10/ext/sqlite/sqlite.c: In function 'sqlite_get_iterator': /usr/local/src/php-5.2.10/ext/sqlite/sqlite.c:1017: error: 'E_RECOVERABLE_ERROR' undeclared (first use in this function) /usr/local/src/php-5.2.10/ext/sqlite/sqlite.c:1017: error: (Each undeclared identifier is reported only once /usr/local/src/php-5.2.10/ext/sqlite/sqlite.c:1017: error: for each function it appears in.) /usr/local/src/php-5.2.10/ext/sqlite/sqlite.c:1017: warning: passing argument 1 of 'zend_error' makes integer from pointer without a cast /usr/local/src/php-5.2.10/ext/sqlite/sqlite.c: At top level: /usr/local/src/php-5.2.10/ext/sqlite/sqlite.c:1028: error: parameter 1 has incomplete type /usr/local/src/php-5.2.10/ext/sqlite/sqlite.c: In function 'PHP_GINIT_FUNCTION': /usr/local/src/php-5.2.10/ext/sqlite/sqlite.c:1028: error: parameter name omitted /usr/local/src/php-5.2.10/ext/sqlite/sqlite.c:1030: error: invalid type argument of '->' /usr/local/src/php-5.2.10/ext/sqlite/sqlite.c:1030: error: request for member 'assoc_case' in something not a structure or union /usr/local/src/php-5.2.10/ext/sqlite/sqlite.c: In function 'zm_startup_sqlite': /usr/local/src/php-5.2.10/ext/sqlite/sqlite.c:1051: warning: assignment from incompatible pointer type /usr/local/src/php-5.2.10/ext/sqlite/sqlite.c:1059: warning: assignment from incompatible pointer type /usr/local/src/php-5.2.10/ext/sqlite/sqlite.c: In function 'php_sqlite_fetch': /usr/local/src/php-5.2.10/ext/sqlite/sqlite.c:1463: warning: assignment makes pointer from integer without a cast make: *** [sqlite.lo] Error 1 です。 原因がお分かりの方がおられましたらご教授お願いいたします。

  • Openldapインストールmakeでエラー

    Solaris10にOpenldapのインストールがうまく行きません。 make時でエラーになります。 色々、Googleで調べてしているのですが結局うまくいきませんでした。 教えていた頂けたら幸いです。 事前にインストールしたソフト BerkeleyDB4.7.25 openssl0.98l cyrus-sasl-2.1.21 cd openldap-2.4.16 CPPFLAGS="-I/usr/local/BerkeleyDB.4.7/include" LDFLAGS="-L/usr/local/BerkeleyDB.4.7/lib -R/usr/local/BerkeleyDB.4.7/lib" ./configure make depend make (cd .libs && rm -f libldap.la && ln -s ../libldap.la libldap.la) gcc -g -O2 -I../../include -I../../include -I/usr/local/BerkeleyDB.4.7/include -c -o apitest.o apitest.c /bin/sh ../../libtool --mode=link gcc -static -g -O2 -L/usr/local/BerkeleyDB.4.7/lib -R/usr/local/BerkeleyDB.4.7/lib -o apitest apitest.o libldap.la ../../libraries/liblber/liblber.la ../../libraries/liblutil/liblutil.a -lsasl2 -lgss -lssl -lcrypto -lresolv -lgen -lnsl -lsocket gcc -g -O2 -o apitest apitest.o -L/usr/local/BerkeleyDB.4.7/lib ./.libs/libldap.a /work/src/openldap-2.4.16/libraries/liblber/.libs/liblber.a -L/usr/local/lib:-L/usr/local/ssl/lib:-L/usr/sfw/lib:-L/usr/lib:-L/opt/sfw/lib:-L/usr/ccs/lib:-L/usr/local/BerkeleyDB4.7/lib ../../libraries/liblber/.libs/liblber.a ../../libraries/liblutil/liblutil.a /usr/local/lib/libsasl2.so -ldl -lgss -lssl -lcrypto -lresolv -lgen -lnsl -lsocket -R/usr/local/lib -R/usr/local/lib -R/usr/local/BerkeleyDB.4.7/lib Undefined first referenced symbol in file BIO_set_flags ./.libs/libldap.a(tls_o.o) BIO_clear_flags ./.libs/libldap.a(tls_o.o) SSL_CTX_set_info_callback ./.libs/libldap.a(tls_o.o) ld: fatal: Symbol referencing errors. No output written to apitest collect2: ld returned 1 exit status make[2]: *** [apitest] エラー 1 make[2]: ディレクトリ `/work/src/openldap-2.4.16/libraries/libldap' から出ます make[1]: *** [all-common] エラー 1 make[1]: ディレクトリ `/work/src/openldap-2.4.16/libraries' から出ます make: *** [all-common] エラー 1 勉強不足で申し訳ありませんが、よろしくお願いします。

  • makeやmake installの結果について

    openssl1.0.0eで最近コンパイルをしました。 ※1のopensslは、tarから展開したものです。 1.  cd /usr/local/src/openssl 2.  ./config --prefix=/usr/local/openssl -openssldir=/usr/local/openssl shared 3   .make && ls 4、  make install && ls 3と4のmakeコマンドの後に、わざとlsをくっつけております。 何が目的かといいますと、 「make中、makeinstall中に、エラーが出てないかを判断したい」 と考えて、&&をつけました。 (&なので、エラーがでたら、きっとlsが走らないだろう。と考えたため) いざ実行すると、make && ls のls部分が走りませんでした。 ・質問 コマンドの実行結果は、何かの環境変数を参照したりすることで 確認できたりするものなのでしょうか? どなたかご存知の方がいらっしゃいましたら ご教授お願いします。