Hi,
I've updated my Linux box to 1.50 and am unable to reproduce this
issue. However, I just checked in a shot-in-the-dark attempted fix. If
that doesn't work, try the attached Jamroot. Put it in the root of your
Moses checkout. In both cases, use -a to force a recompile.
Kenneth
On 07/16/12 21:51, Ben Ma wrote:
Hello, Guys,
I had problem for compiling the moses.
First, I tried to use boost1_50_0. It did not work.
Then, I tried to use boost1_46_1. It still did not work.
Basically they had the same error message "undefined reference to
`boost::system::generic_category()'".
Detailed messages are list as follows.
The command I used was:
sudo ./bjam threading=single variant=release debug-symbols=off
--with-boost=/home/moses/boost1461 -j22 -a -q
The error message is as follows:
Does anyone can help to solve this problem?
gcc.link moses-chart-cmd/src/bin/gcc-4.4.6/release/link-static/moses_chart
moses/src/bin/gcc-4.4.6/release/link-static/libmoses_internal.a(FactorCollection.o):
In function `global constructors keyed to
_ZN5Moses16FactorCollection10s_instanceE':
FactorCollection.cpp:(.text+0x55): undefined reference to
`boost::system::generic_category()'
FactorCollection.cpp:(.text+0x61): undefined reference to
`boost::system::generic_category()'
FactorCollection.cpp:(.text+0x6d): undefined reference to
`boost::system::system_category()'
collect2: ld returned 1 exit status
"g++" -o
"moses-chart-cmd/src/bin/gcc-4.4.6/release/link-static/moses_chart"
-Wl,--start-group
"moses-chart-cmd/src/bin/gcc-4.4.6/release/link-static/Main.o"
"moses-chart-cmd/src/bin/gcc-4.4.6/release/link-static/mbr.o"
"moses-chart-cmd/src/bin/gcc-4.4.6/release/link-static/IOWrapper.o"
"moses-chart-cmd/src/bin/gcc-4.4.6/release/link-static/TranslationAnalysis.o"
"moses-chart-cmd/src/bin/gcc-4.4.6/release/link-static/PhraseDictionary.o"
"moses/src/bin/gcc-4.4.6/release/link-static/libmoses_internal.a"
"util/bin/gcc-4.4.6/release/link-static/libkenutil.a"
"moses/src/Scope3Parser/bin/gcc-4.4.6/release/link-static/libScope3Parser.a"
"moses/src/CYKPlusParser/bin/gcc-4.4.6/release/link-static/libCYKPlusParser.a"
"OnDiskPt/bin/gcc-4.4.6/release/link-static/libOnDiskPt.a"
"moses/src/RuleTable/bin/gcc-4.4.6/release/link-static/libRuleTable.a"
"moses/src/Scope3Parser/bin/gcc-4.4.6/release/link-static/libScope3Parser.a"
"moses/src/LM/bin/gcc-4.4.6/release/link-static/libLM.a"
"lm/bin/gcc-4.4.6/release/link-static/libkenlm.a"
"moses/src/CYKPlusParser/bin/gcc-4.4.6/release/link-static/libCYKPlusParser.a"
"moses/src/bin/gcc-4.4.6/release/link-static/libmoses_internal.a"
"util/bin/gcc-4.4.6/release/link-static/libkenutil.a" -Wl,-Bstatic
-Wl,-Bdynamic -lz -lSegFault -lz -Wl,--end-group
...failed gcc.link
moses-chart-cmd/src/bin/gcc-4.4.6/release/link-static/moses_chart...
gcc.compile.c++ mert/bin/gcc-4.4.6/release/link-static/TER/tools.o
Thanks a lot.
Best regards,
Ben
_______________________________________________
Moses-support mailing list
[email protected]
http://mailman.mit.edu/mailman/listinfo/moses-support
#BUILDING MOSES
#
#PACKAGES
#Language models (optional):
#--with-irstlm=/path/to/irstlm
#--with-srilm=/path/to/srilm See moses/src/LM/Jamfile for more options.
#--with-randlm=/path/to/randlm
#KenLM is always compiled.
#
#--with-boost=/path/to/boost
#If Boost is in a non-standard location, specify it here. This directory is
#expected to contain include and lib or lib64.
#
#--with-xmlrpc-c=/path/to/xmlrpc-c for libxmlrpc-c (used by server)
#Note that, like language models, this is the --prefix where the library was
#installed, not some executable within the library.
#
#Thread-caching malloc (optional):
#--with-tcmalloc
#
#REGRESSION TESTING
#--with-regtest=/path/to/moses-reg-test-data
#
#
#INSTALLATION
#--prefix=/path/to/prefix sets the install prefix [default is source root].
#--bindir=/path/to/prefix/bin sets the bin directory [PREFIX/bin]
#--libdir=/path/to/prefix/lib sets the lib directory [PREFIX/lib]
#--includedir=/path/to/prefix/include installs headers.
# Does not install if missing. No argument defaults to PREFIX/include .
#--install-scripts=/path/to/scripts copies scripts into a directory.
#--git appends the git revision to the prefix directory.
#
#
#BUILD OPTIONS
# By default, the build is multi-threaded, optimized, and statically linked.
# Pass these to change the build:
#
# threading=single|multi controls threading (default multi)
#
# variant=release|debug|profile builds optimized (default), for debug, or for
# profiling
#
# link=static|shared controls linking (default static)
#
# debug-symbols=on|off include (default) or exclude debugging
# information also known as -g
#
# --notrace compiles without TRACE macros
#
# --enable-boost-pool uses Boost pools for the memory SCFG table
#
#
#CONTROLLING THE BUILD
#-a to build from scratch
#-j$NCPUS to compile in parallel
#--clean to clean
import option ;
import modules ;
import path ;
path-constant TOP : . ;
include $(TOP)/jam-files/sanity.jam ;
boost 103600 ;
external-lib z ;
if [ option.get "with-tcmalloc" : : "yes" ] {
external-lib tcmalloc ;
requirements += <library>tcmalloc ;
}
requirements += [ option.get "notrace" : <define>TRACE_ENABLE=1 ] ;
requirements += [ option.get "enable-boost-pool" : : <define>USE_BOOST_POOL ] ;
project : default-build
<threading>multi
<warnings>on
<debug-symbols>on
<variant>release
<link>static
;
project : requirements
<threading>multi:<define>WITH_THREADS
<threading>multi:<library>boost_thread
<threading>multi:<library>boost_system
<define>_FILE_OFFSET_BITS=64 <define>_LARGE_FILES
$(requirements)
;
#Add directories here if you want their incidental targets too (i.e. tests).
build-projects util lm mert moses-cmd/src moses-chart-cmd/src scripts
regression-testing ;
alias programs : lm//query lm//build_binary moses-chart-cmd/src//moses_chart
moses-cmd/src//programs OnDiskPt//CreateOnDiskPt OnDiskPt//queryOnDiskPt
mert//programs contrib/server//mosesserver misc//programs symal phrase-extract
phrase-extract//lexical-reordering phrase-extract//extract-ghkm
phrase-extract//pcfg-extract phrase-extract//pcfg-score biconcor ;
install-bin-libs programs ;
install-headers headers-base : [ glob-tree *.h *.hh : jam-files dist bin lib
include kenlm moses ] : . ;
install-headers headers-moses : moses/src//headers-to-install : moses/src ;
alias install : prefix-bin prefix-lib headers-base headers-moses ;
if ! [ option.get "includedir" : : $(prefix)/include ] {
explicit install headers-base headers-moses ;
}
if [ path.exists $(TOP)/dist ] && $(prefix) != dist {
echo "You have a $(TOP)/dist directory, but the build system now places files
directly in the root i.e. $(TOP)/bin ." ;
echo "To disable this message, delete $(TOP)/dist ." ;
echo ;
}
_______________________________________________
Moses-support mailing list
[email protected]
http://mailman.mit.edu/mailman/listinfo/moses-support