Hi,
we are implementing phrase sense disambiguation in Moses, which requires
linking it with Vowpal Wabbit. We have been struggling with bjam,
encountering a bunch of random errors and unexpected behavior:
* bjam seems to ignore changes sometimes, it only says "found X
targets...", but doesn't update (yet the moses binary timestamp changes
-- it doesn't include the new modifications though).
* It seems that the final build is sometimes erroneous, resulting in
random crashes in places that have nothing to do with the code changes I
made (removing all 'bin' directories and doing bjam -a seems to help).
* It looks like I was able to get rid of these errors by removing all
occurrences of #ifdef HAVE_VW and #endif from my code (but now normal
users can't build this branch).
I'm wondering if a bjam expert (Ken? :) could take a look at the
attached Jamfile and let me know if I did something wrong. My code is in
the damt_phrase branch.
Thanks!
Ales Tamchyna
alias headers : ../../util//kenutil : : : <include>. ;
alias ThreadPool : ThreadPool.cpp ;
boost 103600 ;
# VW
local with-vw = [ option.get "with-vw" ] ;
if $(with-vw) {
lib vw : : <search>$(with-vw)/lib ;
lib allreduce : : <search>$(with-vw)/lib ;
obj CellContextScoreProducer.o : CellContextScoreProducer.cpp headers :
<include>$(with-vw)/library <include>$(with-vw)/vowpalwabbit ;
alias ccsc : CellContextScoreProducer.o vw allreduce : : :
<library>boost_program_options <define>HAVE_VW <include>$(with-vw)/vowpalwabbit
;
echo "Linking with Vowpal Wabbit" ;
} else {
alias ccsc ;
}
if [ option.get "with-synlm" : no : yes ] = yes
{
lib m ;
obj SyntacticLanguageModel.o : SyntacticLanguageModel.cpp headers :
<include>$(TOP)/synlm/hhmm/rvtl/include
<include>$(TOP)/synlm/hhmm/wsjparse/include ;
alias synlm : SyntacticLanguageModel.o m : : : <define>HAVE_SYNLM ;
} else {
alias synlm ;
}
lib moses_internal :
#All cpp files except those listed
[ glob *.cpp DynSAInclude/*.cpp : PhraseDictionary.cpp ThreadPool.cpp
SyntacticLanguageModel.cpp ]
synlm ThreadPool headers ;
alias moses : PhraseDictionary.cpp moses_internal CYKPlusParser//CYKPlusParser
LM//LM RuleTable//RuleTable Scope3Parser//Scope3Parser headers ../..//z
../../OnDiskPt//OnDiskPt ;
alias headers-to-install : [ glob-tree *.h ] ;
_______________________________________________
Moses-support mailing list
[email protected]
http://mailman.mit.edu/mailman/listinfo/moses-support