povray
povray copied to clipboard
[BUILD][UNIX]
Summary Failure to build with boost 1.77.0
POV-Ray Version
- Incarnation: POV-Ray for Unix
- Affected source version: 3.7.0.10
- Known working source version:
Build Environment
- Operating system: Linux Slackware64-current
- Hardware architecture: ia64
- Compiler:gcc
Build Command Sequence
Pre-Build Output
Configure Output
Make Output
In file included from /usr/include/boost/math/common_factor.hpp:14,
from backend/scene/view.cpp:34:
/usr/include/boost/math/common_factor_ct.hpp:17:68: error: _Pragma takes a parenthesized string literal
17 | BOOST_MATH_HEADER_DEPRECATED("<boost/integer/common_factor_ct.hpp>");
| ^
In file included from /usr/include/boost/math/common_factor.hpp:15,
from backend/scene/view.cpp:34:
/usr/include/boost/math/common_factor_rt.hpp:14:68: error: _Pragma takes a parenthesized string literal
14 | BOOST_MATH_HEADER_DEPRECATED("<boost/integer/common_factor_rt.hpp>");
| ^
In file included from backend/scene/view.cpp:34:
/usr/include/boost/math/common_factor.hpp:18:65: error: _Pragma takes a parenthesized string literal
18 | BOOST_MATH_HEADER_DEPRECATED("<boost/integer/common_factor.hpp>");
| ^
In file included from /usr/include/boost/smart_ptr/detail/sp_thread_sleep.hpp:22,
from /usr/include/boost/smart_ptr/detail/yield_k.hpp:23,
from /usr/include/boost/smart_ptr/detail/spinlock_gcc_atomic.hpp:14,
from /usr/include/boost/smart_ptr/detail/spinlock.hpp:42,
from /usr/include/boost/smart_ptr/detail/spinlock_pool.hpp:25,
from /usr/include/boost/smart_ptr/shared_ptr.hpp:29,
from /usr/include/boost/shared_ptr.hpp:17,
from /usr/include/boost/date_time/time_clock.hpp:17,
from /usr/include/boost/thread/thread_time.hpp:9,
from /usr/include/boost/thread/lock_types.hpp:18,
from /usr/include/boost/thread/pthread/thread_data.hpp:12,
from /usr/include/boost/thread/thread_only.hpp:17,
from /usr/include/boost/thread/thread.hpp:12,
from /usr/include/boost/thread.hpp:13,
from backend/scene/view.cpp:32:
/usr/include/boost/bind.hpp:36:1: note: ‘#pragma message: The practice of declaring the Bind placeholders (_1, _2, ...) in the global namespace is deprecated. Please use <boost/bind/bind.hpp> + using namespace boost::placeholders, or define BOOST_BIND_GLOBAL_PLACEHOLDERS to retain the current behavior.’
36 | BOOST_PRAGMA_MESSAGE(
| ^~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/boost/math/common_factor_ct.hpp:15,
from /usr/include/boost/math/common_factor.hpp:14,
from backend/scene/view.cpp:34:
/usr/include/boost/math/common_factor_ct.hpp:17:1: error: ‘_Pragma’ does not name a type
17 | BOOST_MATH_HEADER_DEPRECATED("<boost/integer/common_factor_ct.hpp>");
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/boost/math/common_factor_rt.hpp:14:1: error: ‘_Pragma’ does not name a type
14 | BOOST_MATH_HEADER_DEPRECATED("<boost/integer/common_factor_rt.hpp>");
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/boost/math/common_factor.hpp:18:1: error: ‘_Pragma’ does not name a type
18 | BOOST_MATH_HEADER_DEPRECATED("<boost/integer/common_factor.hpp>");
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[1]: *** [Makefile:1232: backend/scene/view.o] Error 1
make[1]: Leaving directory '/tmp/SBo/povray-3.7.0.10/source'
make: *** [Makefile:645: all-recursive] Error 1
Additional context (optional)
Workaround (optional)
Suggested Solution (optional)
In file included from [..]/Boost/1.77.0-GCC-11.2.0/include/boost/math/common_factor.hpp:14,
from backend/scene/view.cpp:34:
[..]/Boost/1.77.0-GCC-11.2.0/include/boost/math/common_factor_ct.hpp:17:68: error: _Pragma takes a parenthesized string literal
17 | BOOST_MATH_HEADER_DEPRECATED("<boost/integer/common_factor_ct.hpp>");
| ^
With Boost 1.78 POV-Ray compiles for me.
As a temporary workaround when Boost can't be upgraded, one can drop Boost 1.78's math/tools/header_deprecated.hpp as povray/source/boost/math/tools/header_deprecated.hpp and the build seems to succeed too.