Subject: Re: povray: Fails to build (_Pragma errors)

From: Ivan Vilata i Balaguer <[email-masked]>
Date: Wed, 26 Jan 2022 22:57:18 +0100

Ivan Vilata i Balaguer (2022-01-17 20:58:40 +0100) wrote:

> 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: […]

I found what looks like the same issue reported in
<https://github.com/POV-Ray/povray/issues/438>.

As a commenter suggested, I succeeded to build the package using Boost 1.78,
not in the most orthodox way as Guix ships 1.77 and I don't have much
knowledge about Guix packaging, following the package definition:

    $ guix build --source povray
    /gnu/store/xc4l18mwxzxfvrqmymvkr7yirw1sc6ff-povray-3.7.0.8-checkout
    $ guix build boost \
      --with-source=[email-masked]=https://boostorg.jfrog.io/artifactory/main/release/1.78.0/source/boost_1_78_0.tar.bz2
    /gnu/store/yiiqd3c7h4f6z0zia5br7wis3wpisgnr-boost-1.78.0
    $ cp -r /gnu/store/xc4l18mwxzxfvrqmymvkr7yirw1sc6ff-povray-3.7.0.8-checkout povray-3.7.0.8-checkout
    $ chmod -R u+w povray-3.7.0.8-checkout; cd povray-3.7.0.8-checkout
    $ guix environment -C --expose=/gnu/store/yiiqd3c7h4f6z0zia5br7wis3wpisgnr-boost-1.78.0 povray
    env$ cd unix/
    env$ sh prebuild.sh
    env$ cd ..
    env$ env COMPILED_BY=Guix ./configure \
      --with-boost=/gnu/store/yiiqd3c7h4f6z0zia5br7wis3wpisgnr-boost-1.78.0 \
      --with-boost-lib=/gnu/store/yiiqd3c7h4f6z0zia5br7wis3wpisgnr-boost-1.78.0/lib \
      --disable-optimiz-arch
    env$ make  # succeeds

So one solution would be to upgrade Boost to 1.78, though that may affect many
packages.  However, given the nature of the error, other packages may
eventually get bitten by it.  BTW, this is where I think they fixed the Boost
issue for 1.78: <https://github.com/boostorg/math/pull/676/files>

Cheers!

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