Hi, Today I was trying to build lyx-1.3.0 for our ix86-linux-gnu systems, but in doing so I encountered serious problems.
========================================== First I tried with gcc-2.95.3 and got (with long lines wrapped in order not to exceed 80 columns) ../../../lyx-1.3.0/boost/boost/shared_ptr.hpp:203: template instantiation depth exceeds maximum of 17 ../../../lyx-1.3.0/boost/boost/shared_ptr.hpp:203: (use -ftemplate-depth-NN to increase the maximum) ../../../lyx-1.3.0/boost/boost/shared_ptr.hpp:203: instantiating `boost::detail::shared_ptr_traits<boost::signals ::detail::cached_return_value<boost::signals::detail::unusable> >' ../../../lyx-1.3.0/boost/boost/shared_ptr.hpp:203: instantiated from `boost::shared_ptr<boost::signals::detail ::cached_return_value<boost::signals::detail::unusable> >' ../../../lyx-1.3.0/boost/boost/signals/detail/slot_call_iterator.hpp:42: instantiated from `boost::signals::detail::slot_call_policies<boost ::signals::detail::call_bound0<void>::caller<boost ::function0<void,allocator<boost ::function_base> > >,_Rb_tree_iterator<pair<const boost::any,boost ::signals::detail::connection_slot_pair>,pair<const boost::any,boost ::signals::detail::connection_slot_pair> &,pair<const boost::any,boost ::signals::detail::connection_slot_pair> *> >' ../../../lyx-1.3.0/boost/boost/type_traits/is_convertible.hpp:124: instantiated from `boost::detail::is_convertible_impl<boost ::signals::detail::slot_call_policies<boost::signals::detail ::call_bound0<void>::caller<boost::function0<void,allocator<boost ::function_base> > >,_Rb_tree_iterator<pair<const boost::any,boost ::signals::detail::connection_slot_pair>,pair<const boost::any,boost ::signals::detail::connection_slot_pair> &,pair<const boost::any,boost ::signals::detail::connection_slot_pair> *> > &,boost::detail ::int_convertible>' ../../../lyx-1.3.0/boost/boost/type_traits/is_enum.hpp:91: instantiated from `boost::is_convertible<boost::signals::detail ::slot_call_policies<boost::signals::detail::call_bound0<void> ::caller<boost::function0<void,allocator<boost ::function_base> > >,_Rb_tree_iterator<pair<const boost::any,boost ::signals::detail::connection_slot_pair>,pair<const boost::any,boost ::signals::detail::connection_slot_pair> &,pair<const boost::any,boost ::signals::detail::connection_slot_pair> *> > &,boost::detail ::int_convertible>' ../../../lyx-1.3.0/boost/boost/type_traits/is_enum.hpp:91: instantiated from `boost::detail::is_enum_helper<false>::type<boost ::signals::detail::slot_call_policies<boost::signals::detail ::call_bound0<void>::caller<boost::function0<void,allocator<boost ::function_base> > >,_Rb_tree_iterator<pair<const boost::any,boost ::signals::detail::connection_slot_pair>,pair<const boost::any,boost ::signals::detail::connection_slot_pair> &,pair<const boost::any,boost ::signals::detail::connection_slot_pair> *> > &>' ../../../lyx-1.3.0/boost/boost/type_traits/is_enum.hpp:91: instantiated from `boost::detail::is_enum_impl<boost::signals::detail ::slot_call_policies<boost::signals::detail::call_bound0<void> ::caller<boost::function0<void,allocator<boost ::function_base> > >,_Rb_tree_iterator<pair<const boost::any,boost ::signals::detail::connection_slot_pair>,pair<const boost::any,boost ::signals::detail::connection_slot_pair> &,pair<const boost::any,boost ::signals::detail::connection_slot_pair> *> > >' ../../../lyx-1.3.0/boost/boost/type_traits/is_scalar.hpp:36: instantiated from `boost::is_enum<boost::signals::detail ::slot_call_policies<boost::signals::detail::call_bound0<void> ::caller<boost::function0<void,allocator<boost ::function_base> > >,_Rb_tree_iterator<pair<const boost::any,boost ::signals::detail::connection_slot_pair>,pair<const boost::any,boost ::signals::detail::connection_slot_pair> &,pair<const boost::any,boost ::signals::detail::connection_slot_pair> *> > >' ../../../lyx-1.3.0/boost/boost/type_traits/is_scalar.hpp:36: instantiated from `boost::detail::is_scalar_impl<boost::signals ::detail::slot_call_policies<boost::signals::detail::call_bound0<void> ::caller<boost::function0<void,allocator<boost ::function_base> > >,_Rb_tree_iterator<pair<const boost::any,boost ::signals::detail::connection_slot_pair>,pair<const boost::any,boost ::signals::detail::connection_slot_pair> &,pair<const boost::any,boost ::signals::detail::connection_slot_pair> *> > >' ../../../lyx-1.3.0/boost/boost/type_traits/is_class.hpp:73: instantiated from `boost::is_scalar<boost::signals::detail ::slot_call_policies<boost::signals::detail::call_bound0<void> ::caller<boost::function0<void,allocator<boost ::function_base> > >,_Rb_tree_iterator<pair<const boost::any,boost ::signals::detail::connection_slot_pair>,pair<const boost::any,boost ::signals::detail::connection_slot_pair> &,pair<const boost::any,boost ::signals::detail::connection_slot_pair> *> > >' ../../../lyx-1.3.0/boost/boost/type_traits/is_class.hpp:73: instantiated from `boost::detail::is_class_impl<boost::signals ::detail::slot_call_policies<boost::signals::detail::call_bound0<void> ::caller<boost::function0<void,allocator<boost ::function_base> > >,_Rb_tree_iterator<pair<const boost::any,boost ::signals::detail::connection_slot_pair>,pair<const boost::any,boost ::signals::detail::connection_slot_pair> &,pair<const boost::any,boost ::signals::detail::connection_slot_pair> *> > >' ../../../lyx-1.3.0/boost/boost/type_traits/is_empty.hpp:74: instantiated from `boost::is_class<boost::signals::detail ::slot_call_policies<boost::signals::detail::call_bound0<void> ::caller<boost::function0<void,allocator<boost ::function_base> > >,_Rb_tree_iterator<pair<const boost::any,boost ::signals::detail::connection_slot_pair>,pair<const boost::any,boost ::signals::detail::connection_slot_pair> &,pair<const boost::any,boost ::signals::detail::connection_slot_pair> *> > >' ../../../lyx-1.3.0/boost/boost/type_traits/is_empty.hpp:74: instantiated from `boost::detail::is_empty_impl<boost::signals ::detail::slot_call_policies<boost::signals::detail::call_bound0<void> ::caller<boost::function0<void,allocator<boost ::function_base> > >,_Rb_tree_iterator<pair<const boost::any,boost ::signals::detail::connection_slot_pair>,pair<const boost::any,boost ::signals::detail::connection_slot_pair> &,pair<const boost::any,boost ::signals::detail::connection_slot_pair> *> > >' ../../../lyx-1.3.0/boost/boost/iterator_adaptors.hpp:844: instantiated from `boost::is_empty<boost::signals::detail ::slot_call_policies<boost::signals::detail::call_bound0<void> ::caller<boost::function0<void,allocator<boost ::function_base> > >,_Rb_tree_iterator<pair<const boost::any,boost ::signals::detail::connection_slot_pair>,pair<const boost::any,boost ::signals::detail::connection_slot_pair> &,pair<const boost::any,boost ::signals::detail::connection_slot_pair> *> > >' ../../../lyx-1.3.0/boost/boost/iterator_adaptors.hpp:844: instantiated from `boost ::compressed_pair<_Rb_tree_iterator<pair<const boost::any,boost ::signals::detail::connection_slot_pair>,pair<const boost::any,boost ::signals::detail::connection_slot_pair> &,pair<const boost::any,boost ::signals::detail::connection_slot_pair> *>,boost::signals::detail ::slot_call_policies<boost::signals::detail::call_bound0<void> ::caller<boost::function0<void,allocator<boost ::function_base> > >,_Rb_tree_iterator<pair<const boost::any,boost ::signals::detail::connection_slot_pair>,pair<const boost::any,boost ::signals::detail::connection_slot_pair> &,pair<const boost::any,boost ::signals::detail::connection_slot_pair> *> > >' ../../../lyx-1.3.0/boost/boost/iterator_adaptors.hpp:844: instantiated from `boost:: iterator_adaptor<_Rb_tree_iterator<pair<const boost::any,boost ::signals::detail::connection_slot_pair>,pair<const boost::any,boost ::signals::detail::connection_slot_pair> &,pair<const boost::any,boost ::signals::detail::connection_slot_pair> *>,boost::signals::detail ::slot_call_policies<boost::signals::detail::call_bound0<void> ::caller<boost::function0<void,allocator<boost ::function_base> > >,_Rb_tree_iterator<pair<const boost::any,boost ::signals::detail::connection_slot_pair>,pair<const boost::any,boost ::signals::detail::connection_slot_pair> &,pair<const boost::any,boost ::signals::detail::connection_slot_pair> *> >,boost::signals::detail ::unusable,boost::signals::detail::unusable &,boost::signals::detail ::unusable *,input_iterator_tag,boost::detail::default_argument>' ../../../lyx-1.3.0/boost/boost/signals/detail/slot_call_iterator.hpp:109: instantiated from `boost::signals::detail ::make_slot_call_iterator<boost::signals::detail::call_bound0<void> ::caller<boost::function0<void,allocator<boost ::function_base> > >, _Rb_tree_iterator<pair<const boost::any,boost ::signals::detail::connection_slot_pair>,pair<const boost::any,boost ::signals::detail::connection_slot_pair> &,pair<const boost::any,boost ::signals::detail ::connection_slot_pair> *> >(_Rb_tree_iterator<pair<const boost ::any,boost::signals::detail::connection_slot_pair>,pair<const boost ::any,boost::signals::detail::connection_slot_pair> &,pair<const boost ::any,boost::signals::detail ::connection_slot_pair> *>, _Rb_tree_iterator<pair<const boost ::any,boost::signals::detail::connection_slot_pair>,pair<const boost ::any,boost::signals::detail::connection_slot_pair> &,pair<const boost ::any,boost::signals::detail::connection_slot_pair> *>, boost::signals ::detail::call_bound0<void>::caller<boost ::function0<void,allocator<boost::function_base> > >)' ../../../lyx-1.3.0/boost/boost/signals/signal_template.hpp:305: instantiated from `boost::signal0<void,boost ::last_value<void>,int,less<int>,boost::function0<void,allocator<boost ::function_base> > >::operator ()()' ../../../lyx-1.3.0/src/insets/insetcommand.h:39: instantiated from here It seems that somewhere there is a C++ construct misunderstood by gcc-2.95.3, or do you really need more than 17 template instantiation levels? If so please note (quoted from gcc-info, gcc-3.2): `ftemplate-depth-N' Set the maximum instantiation depth for template classes to N. A limit on the template instantiation depth is needed to detect endless recursions during template class instantiation. ANSI/ISO C++ conforming programs must not rely on a maximum depth greater than 17. ========================================== Then I tried with gcc-3.2 and got ('make -k' yields zillions of these): In file included from /usr/include/c++/3.2/cstring:51, from .......... from ../../../lyx-1.3.0/src/mathed/dimension.C:17: /usr/ix86-linux-gnulibc2/include/string.h:229: declaration of `char* strerror(int) throw ()' throws different exceptions ../../src/config.h:428: than previous declaration `char* strerror(int)' make[3]: *** [dimension.lo] Error 1 (gcc-2.95.3 seems to ignore this discrepancy.) This is clearly due to a defect in src/config.h.in: If you test for HAVE_STRERROR, you should better also define/undefine it. Adding '#define HAVE_STRERROR 1' by hand in the 'src/config.h' generated by configure did the job. Please FIX your configure and config.h.in accordingly. ========================================== Finally, I had to manually replace '-lforms' by '-lforms -lflimage' in order to sucessfully build the lyx binary. It seems that the detection of libflimage in configre is broken. Please FIX (I get checking for flimage.h... yes checking for library containing flimage_dup... no ) ========================================== If possible please make sure that lyx-1.3.0 can be compiled with gcc-2.95.x regards Peter Breitenlohner <[EMAIL PROTECTED]>