Hi everyone,
I tried to install moses20100813 but failed.
I have installed moses20080711 and mosesdecoder in trunk, both of
them work well.
So I am confused why 20100813 failed.
It seems memscore failed and here are the steps.
1.install giza++ and mkcls
2.install srilm
Both successful.
3.download moses20100813 and in windows and copy to linux
Unzip 20100813.zip. following are the commands:
./regenerate-makefiles.sh
./configure --with-srilm=/home/lxh/04mosesTest/srilm
make -j 4
cd script
mkdir bin
mkdir target
cd bin
cp ../../../giza-pp/GIZA++-v2/GIZA++ .
cp ../../../giza-pp/GIZA++-v2/snt2cooc.out .
cp ../../../giza-pp/mkcls-v2/mkcls .
cd ../
vi Makefile
modify line 13-14 to:
TARGETDIR=/home/lxh/04mosesTest/moses/scripts/target
BINDIR=/home/lxh/04mosesTest/moses/scripts/bin
Modify line 79 to:
perl check-dependencies.pl "$(HOME)" "$(TARGETDIR)" "$(RELEASEDIR)"
"$(BINDIR)"
then
make release
Here is the error message:
# Compile the parts
make all
make[1]: Entering directory `/home/lxh/04mosesTest/moses/scripts'
# Building memscore may fail e.g. if boost is not available.
# We ignore this because traditional scoring will still work and memscore
isn't used by default.
cd training/memscore ; \
./configure && make \
|| ( echo "WARNING: Building memscore failed."; \
echo 'training/memscore/memscore' >> ../../release-exclude )
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for g++... g++
checking for C++ compiler default output file name... a.out
checking whether the C++ compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of g++... gcc3
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking for boostlib >= 1.31.0... yes
checking for cos in -lm... yes
checking for gzopen in -lz... yes
checking for cblas_dgemm in -lgslcblas... no
checking for gsl_blas_dgemm in -lgsl... no
checking how to run the C++ preprocessor... g++ -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking n_gram.h usability... yes
checking n_gram.h presence... yes
checking for n_gram.h... yes
checking for size_t... yes
checking for ptrdiff_t... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
make[2]: Entering directory
`/home/lxh/04mosesTest/moses/scripts/training/memscore'
make all-am
make[3]: Entering directory
`/home/lxh/04mosesTest/moses/scripts/training/memscore'
g++ -I/usr/include -Wall -ffast-math -ftrapping-math -fomit-frame-pointer -g
-O2 -o memscore phrasetable.o memscore.o scorer.o lexdecom.o phraselm.o
-lz -lm
phraselm.o: In function
`PhraseLanguageModel::compute_lmscores(PhraseInfoList&, bool)':
/home/lxh/04mosesTest/moses/scripts/training/memscore/phraselm.cpp:27:
undefined reference to `lmtable::lmtable(float, float)'
/home/lxh/04mosesTest/moses/scripts/training/memscore/phraselm.cpp:29:
undefined reference to `lmtable::load(std::basic_istream<char,
std::char_traits<char> >&, char const*, char const*, int, OUTFILE_TYPE)'
/home/lxh/04mosesTest/moses/scripts/training/memscore/phraselm.cpp:37:
undefined reference to `ngram::ngram(dictionary*, int)'
/home/lxh/04mosesTest/moses/scripts/training/memscore/phraselm.cpp:40:
undefined reference to `ngram::pushw(char const*)'
/home/lxh/04mosesTest/moses/scripts/training/memscore/phraselm.cpp:41:
undefined reference to `ngram::ngram(ngram&)'
/home/lxh/04mosesTest/moses/scripts/training/memscore/phraselm.cpp:41:
undefined reference to `lmtable::clprob(ngram, double*, int*, char**,
unsigned int*)'
/home/lxh/04mosesTest/moses/scripts/training/memscore/phraselm.cpp:54:
undefined reference to `lmtable::~lmtable()'
/home/lxh/04mosesTest/moses/scripts/training/memscore/phraselm.cpp:54:
undefined reference to `lmtable::~lmtable()'
collect2: ld returned 1 exit status
make[3]: *** [memscore] Error 1
make[3]: Leaving directory
`/home/lxh/04mosesTest/moses/scripts/training/memscore'
make[2]: *** [all] Error 2
make[2]: Leaving directory
`/home/lxh/04mosesTest/moses/scripts/training/memscore'
WARNING: Building memscore failed.
touch release-exclude # No files excluded by default
pwd=`pwd`; \
for subdir in cmert-0.5 phrase-extract symal mbr lexical-reordering;
do \
make -C training/$subdir || exit 1; \
echo "### Compiler $subdir"; \
cd $pwd; \
done
make[2]: Entering directory
`/home/lxh/04mosesTest/moses/scripts/training/cmert-0.5'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory
`/home/lxh/04mosesTest/moses/scripts/training/cmert-0.5'
### Compiler cmert-0.5
make[2]: Entering directory
`/home/lxh/04mosesTest/moses/scripts/training/phrase-extract'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory
`/home/lxh/04mosesTest/moses/scripts/training/phrase-extract'
### Compiler phrase-extract
make[2]: Entering directory
`/home/lxh/04mosesTest/moses/scripts/training/symal'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory
`/home/lxh/04mosesTest/moses/scripts/training/symal'
### Compiler symal
make[2]: Entering directory
`/home/lxh/04mosesTest/moses/scripts/training/mbr'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory
`/home/lxh/04mosesTest/moses/scripts/training/mbr'
### Compiler mbr
make[2]: Entering directory
`/home/lxh/04mosesTest/moses/scripts/training/lexical-reordering'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory
`/home/lxh/04mosesTest/moses/scripts/training/lexical-reordering'
### Compiler lexical-reordering
## All files that need compilation were compiled
make[1]: Leaving directory `/home/lxh/04mosesTest/moses/scripts'
perl check-dependencies.pl "/root"
"/home/lxh/04mosesTest/moses/scripts/target"
"/home/lxh/04mosesTest/moses/scripts/target/scripts-20110930-1116"
"/home/lxh/04mosesTest/moses/scripts/bin"
mkdir -p /home/lxh/04mosesTest/moses/scripts/target/scripts-20110930-1116
cat ./released-files \
| grep -v -x -f release-exclude \
| rsync -r --files-from - .
/home/lxh/04mosesTest/moses/scripts/target/scripts-20110930-1116/
rsync: link_stat
"/home/lxh/04mosesTest/moses/scripts/training/memscore/memscore" failed: No
such file or directory (2)
rsync error: some files could not be transferred (code 23) at main.c(977)
[sender=2.6.9]
make: *** [release] Error 23
in folder target, the scripts with timestamp does exist. But when I used
train-model.perl, error message comes:
Using SCRIPTS_ROOTDIR:
/home/lxh/04mosesTest/moses/scripts/target/scripts-20110928-1645
Using single-thread GIZA
ERROR: Cannot find mkcls, GIZA++, & snt2cooc.out in /home/pkoehn/statmt/bin.
Did you install this script using 'make release'? at
/home/lxh/04mosesTest/moses/scripts/target/scripts-20110928-1645/training/tr
ain-model.perl line 204.
Has anyone come up with this problem before?
Best,
lixianhua
_______________________________________________
Moses-support mailing list
[email protected]
http://mailman.mit.edu/mailman/listinfo/moses-support