Hi Barry, Your suggestion worried me slightly, as I could not find libboost_thread-mt.so, but only libboost_thread.so.
I looked into the documentation, and apparently boost as default no longer builds libboost_thread-mt.so as of 1.40. To the get the lib, I had to run: ./bjam --build-type=complete --layout=tagged and copy it over from /home/ilps/smt/software/boost/ boost_1_46_1/bin.v2/libs/thread/build/gcc-4.1.2/release/threading-multi into /home/ilps/smt/software/boost/boost_1_46_1/lib. Building it using dynamic libraries then worked. I'll look into how to build statically using this work-around. Simon On Mon, May 23, 2011 at 10:54 PM, Barry Haddow <[email protected]>wrote: > Hi Simon > > The log files came through ok. I don't really know what's going on. > configure > finds your boost thread library and sets the paths correctly, but for some > reason when the moses build uses these paths, it fails. > > Maybe there's something wrong with your boost thread lib? > > Try running > nm -C /home/ilps/smt/software/boost/boost_1_46_1/lib/libboost_thread-mt.so > | > grep interrupt > > and see if the correct symbols are there. > > cheers - Barry > > > On Monday 23 May 2011 20:39:34 Simon Carter wrote: > > Hi Barry, > > > > The existing distribution appears to be too old (just ran with > ./configure > > --enable-threads) : > > > > configure: Using Boost library > > checking for a sed that does not truncate output... /bin/sed > > checking for Boost headers version >= 1.36.0... no > > configure: error: cannot find Boost headers version >= 1.36.0 > > > > I've attached some new files which hopefully get through... > > > > Simon > > > > On Mon, May 23, 2011 at 5:55 PM, Barry Haddow <[email protected]> > wrote: > > > Hi Simon > > > > > > According to the attached logs you ran with > > > > > > --with-boost=/home/ilps/smt/software/boost/boost_1_46_1/include > > > > > > for the dynamic configuration, whereas you should use > > > > > > --with-boost=/home/ilps/smt/software/boost/boost_1_46_1 > > > > > > The static logs you sent are empty. > > > > > > You've got another install of boost in /usr which is somehow > interfering > > > with > > > things - it shouldn't and I think this a boost.m4 bug. > > > > > > Could you try running with the correct boost arguments (after doing a > > > 'make distclean') and it's also worth trying without --with-boost, > since > > > the install you have in /usr may work fine, > > > > > > best regards - Barry > > > > > > On Monday 23 May 2011 15:54, Simon Carter wrote: > > > > Hi all, > > > > > > > > I'm trying to get a multi-threaded version of moses running. I've > tried > > > > linking dynamically and statically to boost, however am running into > a > > > > similar problem in both cases. > > > > Boost is properly (i think) installed at > /home/ilps/smt/software/boost/ > > > > boost_1_46_1 , with both the include and lib directories existing and > > > > containing the relevant files (that is *.a, *so and header files). At > > > > the moment I've compiled Boost just with thread, however the problems > > > > and > > > > > > error > > > > > > > messages are exactly the same even with all the Boost libraries > > > > > > installed. > > > > > > > I've also replaced the M4/boost.m4 file with the one available at > > > > https://github.com/tsuna/boost.m4. < > https://github.com/tsuna/boost.m4> > > > > > > The > > > > > > > moses version has been checked out of the Trunk today. The commands I > > > > > > have > > > > > > > run are (for static): > > > > > > > > ./regenerate-makefiles.sh > > > > ./configure --enable-boost > > > > --with-boost=/home/ilps/smt/software/boost/boost_1_46_1 > > > > make -j 4 &>make_log_static > > > > > > > > I've tried adding "--with-boost-thread=boost_thread-gcc41-mt" to > > > > ./configure, but this doesn't seem to make a difference. > > > > > > > > When trying to build it statically, I get the error messages (1 of > > > > many): > > > > > > > /home/ilps/smt/software/boost/boost_1_46_1/include/boost/thread/pthread/s > > >ha > > > > > > >red_mutex.hpp:59: undefined reference to > > > > `boost::this_thread::disable_interruption::disable_interruption()' > > > > > > > > When building dynamically, I get a similar but different message: > > > > > > > > "../../moses/src/.libs/libmoses: undefined reference to > > > > `boost::detail::get_current_thread_data()' > > > > ../../moses/src/.libs/libmoses: undefined reference to > > > > `boost::this_thread::disable_interruption::disable_interruption()' > > > > ../../moses/src/.libs/libmoses: undefined reference to > > > > `boost::this_thread::interruption_point()' > > > > ../../moses/src/.libs/libmoses: undefined reference to > > > > `boost::detail::set_tss_data(void const*, > > > > boost::shared_ptr<boost::detail::tss_cleanup_function>, void*, bool)' > > > > ../../moses/src/.libs/libmoses: undefined reference to `vtable for > > > > boost::detail::thread_data_base' > > > > ../../moses/src/.libs/libmoses: undefined reference to > > > > `boost::detail::thread_data_base::~thread_data_base()' > > > > ../../moses/src/.libs/libmoses: undefined reference to > > > > `boost::detail::get_tss_data(void const*)' > > > > ../../moses/src/.libs/libmoses: undefined reference to > > > > `boost::this_thread::disable_interruption::~disable_interruption()' > > > > ../../moses/src/.libs/libmoses: undefined reference to `typeinfo for > > > > boost::detail::thread_data_base' > > > > ../../moses/src/.libs/libmoses: undefined reference to > > > > `boost::thread::start_thread()' > > > > " > > > > > > > > I've attached the config.out and make output to this email (for both > > > > dynamic and static outputs). I'm sure i'm doing something wrong at > the > > > > linking stage somehow, but can't nail it down. Any help would be > > > > appreciated! > > > > > > > > Simon > > > > > > -- > > > The University of Edinburgh is a charitable body, registered in > > > Scotland, with registration number SC005336. > > >
_______________________________________________ Moses-support mailing list [email protected] http://mailman.mit.edu/mailman/listinfo/moses-support
