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

Reply via email to