On 11/28/11 05:14, Jehan Pages wrote: > Hi, > > On Sat, Nov 26, 2011 at 2:57 AM, Kenneth Heafield <[email protected]> wrote: >> Hi Moses, >> >> The root and scripts builds are now integrated into one bjam >> build. If you wish to install scripts (formerly make release), use >> --install-scripts=/path/to/directory . What formerly involved editing >> the Makefile to set the path to giza is now a command line option >> --with-giza=/path/to/giza. If you miss timestamped scripts releases, >> add --git to tag the directory name with the current git revision. > > Very nice. This editing-by-hand was quite ugly. > As it took me a few try to figure out how the new compilation works, > here are my notes about it: > > 1/ apparently there is no --prefix option anymore? > It seems one must install with --install=/my/prefix/bin instead. > Also you'll note that the bin/ must be given. I first made the mistake > of thinking --install is equivalent to --prefix and I ended up with > binaries in the prefix's root. > Maybe I missed another option, but it looks like a small loss of > usability (--prefix is quite one of the most used feature of > Makefile).
Guess we could make Moses installable in the traditional sense. This hasn't been a priority for developers because we're updating so often. Also, we should probably make sure that system files aren't clobbered. > > 2/ --with-xmlrpc-c does not need anymore the xmlrpc-c-config binary > path, but the prefix where it is installed. This is good! > > 3/ The harder was to figure out how to add link flags (LDFLAGS in > Makefile). For instance as I use a prefix which is not system-wide, I > wanted to add the -l,rpath for finding the lib in runtime. While make > would work like: > LDFLAGS="-Wl,-rpath=/my/prefix/lib" ./configure [other options] > Here, we must do: > ./bjam linkflags='-Wl,-rpath=/my/prefix/lib' [other options] bf95284 now respects the environment variables CFLAGS, CXXFLAGS, and LDFLAGS. Keep in mind that if these will be passed in addition to flags generated by the debug and profiling options etc. > > 4/ It seems that now multi-thread is the default. Why not, I guess > that's for the best (I would have compiled it anyway). Yes. > > 5/ Finally I don't know if this has changed with this commit or > slightly before, but I see now Boost must be compiled with 2 > additional libraries, Compile Options and Unit Test: > --with-libraries=thread,program_options,test > I guess that most people don't see this (I imagine that distrib anyway > compile everything). I wonder in particular if this is a good idea to > have the unit test module compiled as a default option in Moses. > Shouldn't it be only for a debug mode? The unit test module is only compiled into tests, not production binaries. I'd rather users complain that a unit test is failing than complain about a bizarre error. I am assuming that people install most boost libraries and don't see much reason to support anything else. > > Thanks. > > Jehan > >> ./regenerate-makefiles.sh will nag you to use bjam instead. You >> may still use autotools for the main build for now, but autotools can no >> longer build scripts. >> >> Run ./bjam --help for documentation on building Moses with bjam. >> >> Kenneth >> _______________________________________________ >> Moses-support mailing list >> [email protected] >> http://mailman.mit.edu/mailman/listinfo/moses-support >> _______________________________________________ Moses-support mailing list [email protected] http://mailman.mit.edu/mailman/listinfo/moses-support
