https://bugzilla.novell.com/show_bug.cgi?id=479659 Summary: boost: broken /usr/include/boost/function/function_template.hpp Classification: openSUSE Product: openSUSE 11.2 Version: Factory Platform: All OS/Version: All Status: NEW Severity: Critical Priority: P5 - None Component: Development AssignedTo: pth@novell.com ReportedBy: pmladek@novell.com QAContact: qa@suse.de Found By: Development Created an attachment (id=275453) --> (https://bugzilla.novell.com/attachment.cgi?id=275453) test file (boost-no-exception-test.cxx) There seems to #endif on invalid line in /usr/include/boost/function/function_template.hpp. You could reproduce the problem with the attached sample code: --- cut --- $> g++ -DBOOST_NO_EXCEPTIONS=1 -c boost-no-exception-test.cxx In file included from /usr/include/boost/function/detail/maybe_include.hpp:13, from /usr/include/boost/function/detail/function_iterate.hpp:14, from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:47, from /usr/include/boost/function.hpp:64, from boost-no-exception-test.cxx:1: /usr/include/boost/function/function_template.hpp:965: error: declaration of ‘class R’ /usr/include/boost/function/function_template.hpp:652: error: shadows template parm ‘class R’ /usr/include/boost/function/function_template.hpp:979: error: declaration of ‘class R’ /usr/include/boost/function/function_template.hpp:652: error: shadows template parm ‘class R’ /usr/include/boost/function/function_template.hpp:983: error: invalid use of incomplete type ‘class boost::function0<R>’ /usr/include/boost/function/function_template.hpp:667: error: declaration of ‘class boost::function0<R>’ /usr/include/boost/function/function_template.hpp:994: error: declaration of ‘class R’ /usr/include/boost/function/function_template.hpp:652: error: shadows template parm ‘class R’ /usr/include/boost/function/function_template.hpp:1000: error: ‘void boost::function0<R>::operator==(const boost::function0<R>&, const boost::function0<R>&)’ must take exactly one argument /usr/include/boost/function/function_template.hpp:1001: error: declaration of ‘class R’ /usr/include/boost/function/function_template.hpp:652: error: shadows template parm ‘class R’ /usr/include/boost/function/function_template.hpp:1007: error: ‘void boost::function0<R>::operator!=(const boost::function0<R>&, const boost::function0<R>&)’ must take exactly one argument /usr/include/boost/function/function_template.hpp:1017: error: declaration of ‘class R’ /usr/include/boost/function/function_template.hpp:652: error: shadows template parm ‘class R’ /usr/include/boost/function/function_template.hpp:1025: error: ‘struct boost::function<R ()()>::clear_type’ redeclared with different access /usr/include/boost/function/function_template.hpp:1098: error: ‘class boost::function<R ()()>’ redeclared with different access In file included from /usr/include/boost/function/detail/maybe_include.hpp:18, from /usr/include/boost/function/detail/function_iterate.hpp:14, from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:52, from /usr/include/boost/function.hpp:64, from boost-no-exception-test.cxx:1: /usr/include/boost/function/function_template.hpp:80: error: expected unqualified-id before ‘namespace’ boost-no-exception-test.cxx:6: error: expected `}' at end of input --- cut --- I'll attach a patch the fixed the problem for me. As a workaround, I could build the affected files with exceptions. I am not sure how many makefiles I would need to update. So, it would be better if you could fix the package ;-) -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.