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

Reply via email to