Summary: | error: 'boost::BOOST_FOREACH' has not been declared | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Vitaly Kuznetsov <vitty> |
Component: | boost-devel | Assignee: | Ivan A. Melnikov <iv> |
Status: | CLOSED WORKSFORME | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P3 | CC: | iv, real.altlinux.org, sem |
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux | ||
URL: | https://bugzilla.redhat.com/show_bug.cgi?id=756005 |
Description
Vitaly Kuznetsov
2012-01-20 15:20:00 MSK
Z boost-1:1.48.0-alt2 -> sisyphus: * Sat Jan 28 2012 Ivan A. Melnikov <iv@altlinux> 1:1.48.0-alt2 - fix compilation when foreach #defined as BOOST_FOREACH (upstream ticket 6131) (closes: #26840). Спасибо, и извините, что так долго. Спасибо! Оно вернулось: /usr/src/RPM/BUILD/wesnoth-1.10.2/src/foreach.hpp:9:22: error: 'boost::BOOST_FOREACH' has not been declared (In reply to comment #5) > Оно вернулось: > > /usr/src/RPM/BUILD/wesnoth-1.10.2/src/foreach.hpp:9:22: error: > 'boost::BOOST_FOREACH' has not been declared Upstream ticket reference: https://svn.boost.org/trac/boost/ticket/6131 Исправление, применённое в 1.48.0-alt2 и включенное апстримом 1.49.0, как оказалось, калечит не меньше чем лечит. Поэтому его откатили, и вряд ли эту проблему исправят до 1.53.0. Так что чинить boost я пока не считаю правильным, пока можно исправлять клиентов. Есть два варианта исправления: во-первых, определять макрос foreach после включения всех заголовочных файлов (в случае wesnoth -- сделать #include <foreach.hpp> последним, я кажется высылал такой патч в devel@ когда-то). Другой вариант предложил Eric Niebler в комментарии 18 к тикету выше: #include <boost/foreach.hpp> namespace boost { namespace BOOST_FOREACH = foreach; } #define foreach BOOST_FOREACH Сборке конкретно wesnoth мешают и другие проблемы, попробую их исправить на этой неделе. Уже не актуально. |