問題
私は自分のMacでSRIの言語モデリングツールバージョン1.6.0を構築しようとしていますが、srilm
かなり奇妙なコンパイルの問題に遭遇しました(数時間のGoogle-fuが役に立たなかったという点で「奇妙な」)ので、あなたに目を向けます誰かが私がこれを修正する方法を見ているかどうかを確認します。
必要な依存関係があることをすでに確認し、インストール手順を実行し、FAQのビルドトラブルシューティングセクションを確認しました。
システム仕様
私はOSXをかなりバニラインストールしていて、いくつかのパッケージは自作でインストールされています。XCode 4.3.2(最新バージョン)がインストールされています。その他の関連するシステムの詳細は次のとおりです。
OSバージョン
Mac OS X 10.7.4
gcc -v
プリントアウト
$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-apple-darwin11.0.0/4.6.1/lto-wrapper
Target: x86_64-apple-darwin11.0.0
Configured with: ../gcc-4.6.1/configure --enable-languages=fortran,c++
Thread model: posix
gcc version 4.6.1 (GCC)
g++ -v
プリントアウト
$ gcc -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-apple-darwin11.0.0/4.6.1/lto-wrapper
Target: x86_64-apple-darwin11.0.0
Configured with: ../gcc-4.6.1/configure --enable-languages=fortran,c++
Thread model: posix
gcc version 4.6.1 (GCC)
uname -a
プリントアウト
$ uname -a
Darwin MacBook-Air.local 11.4.0 Darwin Kernel Version 11.4.0: Mon Apr 9 19:32:15 PDT 2012; root:xnu-1699.26.8~1/RELEASE_X86_64 x86_64
エラー自体
make World
以下は、srlimトップレベルディレクトリから実行して生成された出力の終わりです。この時点までのすべては、次のいずれかの状況で正常にコンパイルされます。
- 私は一人で走り
make World
ます。 - 走る
make World MACHINE_TYPE=macosx
- 私は実行します
make World MACHINE_TYPE=macosx-m64
(64ビットプロセッサ用の特定のmakefile) - 私は実行します
make World MACHINE_TYPE=macosx-m32
(32ビットプロセッサ用の特定のmakefile)
また、ポップアップするエラーは常に同じです(以下を参照)。
stderr
プリントアウト
$ make World
(...) # a bunch of stuff compiles with no errors or warnings
c++ -Wreturn-type -Wimplicit -DINSTANTIATE_TEMPLATES -DHAVE_ZOPEN -I/usr/include -I. -I../../include -DHAVE_ZOPEN -c -g -O2 -fno-common -o ../obj/macosx/LatticeIndex.o LatticeIndex.cc
LatticeIndex.cc:78:6: error: variable length array of non-POD element type
'NBestWordInfo'
makeArray(NBestWordInfo, roundedNgram, len + 1);
^
../../include/Array.h:93:33: note: expanded from macro 'makeArray'
# define makeArray(T, A, n) T A[n]
^
LatticeIndex.cc:126:4: warning: data argument not used by format string
[-Wformat-extra-args]
(float)ngram[0].start);
^
LatticeIndex.cc:128:4: warning: data argument not used by format string
[-Wformat-extra-args]
(float)(ngram[len-1].start + ngram[len-1].duration));
^
2 warnings and 1 error generated.
make[2]: *** [../obj/macosx/LatticeIndex.o] Error 1
make[1]: *** [release-libraries] Error 1
make: *** [World] Error 2
何がうまくいかない可能性があるか考えていますか?私の部署の他の人のMacでも正常にコンパイルされているようで、makefileの違いを確認しましたが、何も表示されませんでした。ビルドが失敗する理由はここでは誰にもわかりませんが、ご協力いただければ幸いです。あなたが私に提供することができるどんな助けにも前もって感謝します!:-)