povray icon indicating copy to clipboard operation
povray copied to clipboard

[BUILD][UNIX]

Open nellacod opened this issue 4 years ago • 3 comments

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)

nellacod avatar Oct 01 '21 01:10 nellacod

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>");
      |                                                                    ^

jhgoebbert avatar Dec 13 '21 10:12 jhgoebbert

With Boost 1.78 POV-Ray compiles for me.

jhgoebbert avatar Dec 13 '21 14:12 jhgoebbert

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.

ivilata avatar Feb 07 '22 22:02 ivilata