Boost logo

Boost :

From: Douglas Gregor (gregod_at_[hidden])
Date: 2002-07-24 09:25:16


On Wednesday 24 July 2002 05:05 am, Gennadiy Rozental wrote:
> Could somebody explain and propose the fix to the problem I expiriencing
> with *linking* of Boost.Function test with sunpro 6.1 compiler.

I have absolutely no clue what is happening here :(. I can duplicate the
problem when using Jam, but the same problem doesn't occur when function_test
is compiled from the command line. However, there is something really
interesting that happens when compiling from the command line. I get a
comment from the compiler that says this:

---------------------------------------------------------------------
void
boost::function<void,boost::detail::function::unusable,boost::detail::function::unusable,boost::detail::function::unusable,boost::detail::function::unusable,boost::detail::function::unusable,boost::detail::function::unusable,boost::detail::function::unusable,boost::detail::function::unusable,boost::detail::function::unusable,boost::detail::function::unusable>::set<write_five_obj>(__type_11)
is out-of-date and will be regenerated
void
boost::function<void,boost::detail::function::unusable,boost::detail::function::unusable,boost::detail::function::unusable,boost::detail::function::unusable,boost::detail::function::unusable,boost::detail::function::unusable,boost::detail::function::unusable,boost::detail::function::unusable,boost::detail::function::unusable,boost::detail::function::unusable>::set<void(*)()>(__type_11)
is out-of-date and will be regenerated
void
boost::function2<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>,const std::basic_string<char,std::char_traits<char>,std::allocator<char>
>&,const std::basic_string<char,std::char_traits<char>,std::allocator<char>
>&,boost::empty_function_policy,boost::empty_function_mixin,std::allocator<boost::function_base>
>::assign_to<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>(*)(const std::basic_string<char,std::char_traits<char>,std::allocator<char>
>&,const std::basic_string<char,std::char_traits<char>,std::allocator<char>
>&)>(__type_6) is out-of-date and will be regenerated
void
boost::function2<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>,const std::basic_string<char,std::char_traits<char>,std::allocator<char>
>&,const std::basic_string<char,std::char_traits<char>,std::allocator<char>
>&,boost::empty_function_policy,boost::empty_function_mixin,std::allocator<boost::function_base>
>::assign_to<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>(*)(const std::basic_string<char,std::char_traits<char>,std::allocator<char>
>&,const std::basic_string<char,std::char_traits<char>,std::allocator<char>
>&)>(__type_6,boost::detail::function::function_ptr_tag) is out-of-date and
will be regenerated
---------------------------------------------------------------------

It then proceeds to recompile some parts of the source file. It sounds to me
like there is a prelinker involved in the Sun compiler, but the prelinker
isn't getting invoked by Jam. Maybe we need a step in-between 'compile' and
'link' for the Sun compiler? Or perhaps there is a link option missing?

        Doug


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk