Subject: povray: Fails to build (_Pragma errors)
From: Ivan Vilata i Balaguer <[email-masked]>
To: [email-masked]
Date: Mon, 17 Jan 2022 20:58:40 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi!  When trying to upgrade package `povray 3.7.0.8` from Guix commit
`404f6953` to that of commit `4a943cfd`, the build fails showing errors like
these:

```
[…]
depbase=`echo backend/scene/view.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I..  -I.. -I../source/backend -I../source/base -I../source/frontend -I../unix -I../vfe -I../vfe/unix -I/gnu/store/l4k60q5jm9g2f3jslnhjsldls0l4vf9q-sdl-1.2.15/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -pthread -I/gnu/store/1wcfmirwkc5lvng6hlqg15v4278fyr96-openexr-2.5.7/include/OpenEXR -I/gnu/store/s6868fjm48yac4vf2kfdzx7z0kd2ny28-ilmbase-2.5.7/include/OpenEXR  -pthread   -I/usr/include  -pipe -Wno-multichar -Wno-write-strings -fno-enforce-eh-specs -Wno-non-template-friend -s -O3 -ffast-math -pthread -MT backend/scene/view.o -MD -MP -MF $depbase.Tpo -c -o backend/scene/view.o backend/scene/view.cpp &&\
mv -f $depbase.Tpo $depbase.Po
In file included from /gnu/store/rwv6khi7hg3hrhij9kimxh53mvg8ksd9-boost-1.77.0/include/boost/math/common_factor.hpp:14,
                 from backend/scene/view.cpp:34:
/gnu/store/rwv6khi7hg3hrhij9kimxh53mvg8ksd9-boost-1.77.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>");
      |                                                                    ^
In file included from /gnu/store/rwv6khi7hg3hrhij9kimxh53mvg8ksd9-boost-1.77.0/include/boost/math/common_factor.hpp:15,
                 from backend/scene/view.cpp:34:
/gnu/store/rwv6khi7hg3hrhij9kimxh53mvg8ksd9-boost-1.77.0/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:
/gnu/store/rwv6khi7hg3hrhij9kimxh53mvg8ksd9-boost-1.77.0/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 /gnu/store/rwv6khi7hg3hrhij9kimxh53mvg8ksd9-boost-1.77.0/include/boost/math/common_factor_ct.hpp:15,
                 from /gnu/store/rwv6khi7hg3hrhij9kimxh53mvg8ksd9-boost-1.77.0/include/boost/math/common_factor.hpp:14,
                 from backend/scene/view.cpp:34:
/gnu/store/rwv6khi7hg3hrhij9kimxh53mvg8ksd9-boost-1.77.0/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>");
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/gnu/store/rwv6khi7hg3hrhij9kimxh53mvg8ksd9-boost-1.77.0/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>");
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/gnu/store/rwv6khi7hg3hrhij9kimxh53mvg8ksd9-boost-1.77.0/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[2]: Leaving directory '/tmp/guix-build-povray-3.7.0.8.drv-0/source/source'
make[1]: *** [Makefile:664: all-recursive] Error 1
make[1]: Leaving directory '/tmp/guix-build-povray-3.7.0.8.drv-0/source'
make: *** [Makefile:457: all] Error 2
error: in phase 'build': uncaught exception:
%exception #<&invoke-error program: "make" arguments: ("-j" "4") exit-status: 2 term-signal: #f stop-signal: #f> 
phase `build' failed after 168.1 seconds
command "make" "-j" "4" failed with status 2
```

Not completely sure, but the new commit may be using a compiler which isn't
compatible with the version of Boost used by POV-Ray?

Attaching the whole `/var/log/guix/drvs/ih/kyhpfcn84sg0qbavgaw5rcwxh7cr9w-povray-3.7.0.8.drv.bz2`.

Thanks!

-- 
Ivan Vilata i Balaguer -- https://elvil.net/