我目前正在尝试安装NIST的sclite
,它是SCTK 2.4.0(github或current version)的一部分。我正在尝试在Cygwin
中的bash
上安装。使用make
完成安装。
我为安装创建了一个目录,并导航到该目录
mkdir sctk2.4.0
cd sctk2.4.0
(您可能需要$ cd /path/to/dir/sctk2.4.0
。]
我从github
克隆了项目
git clone https://github.com/chinshr/sctk.git
导航到基本文件夹
cd sctk
然后我开始按照INSTALL
文件中的说明进行操作。
正在运行
INSTALL
工作正常,但是输入后
make config
我得到以下输出
make all
我看过(mkdir -p bin)
(cd src; make all)
make[1]: Entering directory '/cygdrive/c/David/programs/sctk2.4.0/sctk/src'
(cd asclite; make all)
make[2]: Entering directory '/cygdrive/c/David/programs/sctk2.4.0/sctk/src/asclite'
(cd core; make all)
make[3]: Entering directory '/cygdrive/c/David/programs/sctk2.4.0/sctk/src/asclite/core'
g++ -o asclite -g -Os alignment.o segment.o sgml_reportgenerator.o alignedsegmentiterator.o reportgenerator.o speechset.o segmentsgroup.o logger.o tokenalignment.o sgml_generic_reportgenerator.o recording.o statistics.o compressedlevenshteinmatrix.o segmentor.o id.o trntrn_segmentor.o linestyle_inputparser.o inputparser.o levenshteinmatrix.o levenshtein.o uemfilter.o speakermatch.o spkrautooverlap.o graphalignedsegment.o rawsys_reportgenerator.o graphalignedtoken.o timedobject.o stt_scorer.o aligner.o arraylevenshteinmatrix.o graph.o main.o trn_inputparser.o alignedspeech.o token.o alignedsegment.o graph_coordinate.o rttm_inputparser.o scorer.o properties.o ctmstmrttm_segmentor.o filter.o speech.o alignedspeechiterator.o stm_inputparser.o checker.o ctm_inputparser.o lzma/LzFind.o lzma/LzmaEnc.o lzma/Alloc.o lzma/LzmaLib.o lzma/LzmaDec.o -lm
alignment.o: file not recognized: File format not recognized
collect2: error: ld returned 1 exit status
make[3]: *** [makefile:62: asclite] Error 1
make[3]: Leaving directory '/cygdrive/c/David/programs/sctk2.4.0/sctk/src/asclite/core'
make[2]: *** [makefile:12: all] Error 2
make[2]: Leaving directory '/cygdrive/c/David/programs/sctk2.4.0/sctk/src/asclite'
make[2]: *** [makefile:12: all] Error 2
make[2]: Leaving directory '/cygdrive/c/David/programs/sctk2.4.0/sctk/src'
make: *** [makefile:20: all] Error 2
,但我确定this SO post文件未损坏。以防万一,我尝试了一些alignment.o
,甚至从make clean
重新克隆了该项目,但仍然遇到相同的错误。
任何人都可以帮助我完成此安装,或者至少要进行下一步吗?
github
注
我问这个问题,然后回答我自己的问题。 (我希望StackOverflow允许我们这样做。)希望这将使人们可以更轻松地帮助我解决在安装过程中遇到的更多问题。
我遇到的下一个问题已讨论$ uname -a
CYGWIN_NT-6.1 MyMachine 2.10.0(0.325/5/3) 2018-02-02 15:16 x86_64 Cygwin
$ bash --version
GNU bash, version 4.4.12(3)-release (x86_64-unknown-cygwin) ...
$ gcc --version
gcc (GCC) 6.4.0 ...
$ g++ --version
g++ (GCC) 6.4.0 ...
$ make --version
GNU Make 4.2.1
Built for x86_64-unknown-cygwin ...
$ systeminfo | sed -n 's/^OS\ *//p'
Name: Microsoft Windows 7 Enterprise
Version: 6.1.7601 Service Pack 1 Build 7601
Manufacturer: Microsoft Corporation
Configuration: Member Workstation
Build Type: Multiprocessor Free
。您可以在此问题的答案中看到下一个问题。
((有关here解决方案,请参阅我在问题下方的评论。)
解决问题的方法通常是在kaldi
中。 注意:解决此问题后出现了另一个问题。请参阅此答案的底部以寻求帮助。
这是我用来从README
获取相关信息的命令。
README
这是相关信息
README
因此,我转到列出的cat README | tail -13
(
64 bits Compilation
With big alignments, sctk needs to be compiled in 64 bits.
By default, the C/C++ software are compiled in 32 bits with the options (-Os)
but can be compiled in 64 bits, -m64 is added to the CFLAGS variable in:
src/asclite/core/makefile
src/asclite/test/makefile
src/rfilter1/makefile
src/sclite/makefile
Example of CFLAGS:
For OSX 10.4+: -fast -m64 -arch x86_64 -arch ppc64
除外,请参见下文)并在那里更改代码,将每个makefile
替换为rfilter1
。仅对列出的makefile执行此操作。我将列举其中一个文件的示例,但请注意,您必须为其他文件执行此操作。
-Os
打开文件时,我找到了以下行:
-m64
我改为]
cd sctk vim src/asclite/core/makefile
((按“
CFLAGS = -g -Os
”进入CFLAGS = -g -m64
模式,进行更改,按“i
”,然后按“INSERT
”(写和退出),然后按“Esc
”)
我对所有列出的文件(:wq
除外)进行了更改,因为该文件中没有Enter
。这最终变得很重要,因为如果我完全更改了此文件,安装将无法进行。
完成此操作后,我运行了src/rfilter1/makefile
,但我没有运行-Os
,因为这将撤消我们刚刚进行的更改。我直接去了:
make clean
这使我们过去了。
This
问题已解决,但还有另一个问题:make config
我问了
make all
。
这是'EASIER'解决方案。
更简单的解决方案