pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: MesaLib and llvm

On Tue, 21 Mar 2017 09:51:40 -0400
Greg Troxel <> wrote:

> On 3/2 MesaLib started to have a build dependency on libLLVM, at least
> on i386/x86-64, which has since been amended due to build failures to
> "and isn't SunOS or OS X."
> On my netbsd-7 amd64 system, it built ok on March 12, with I believe
> libLLVM 3.9.1.
> On 3/17 libLLVM was updated to 4.0.0, and MesaLib fails to build.  The
> symptoms look related to having a new LLVM version:
>   CC       gallivm/lp_bld_arit.lo
>   In file included from gallivm/lp_bld_arit.c:59:0:
>   gallivm/lp_bld_intr.h:63:20: error: unknown type name 'LLVMAttribute'
>   LLVMAttribute attr);
>   ^
>   gallivm/lp_bld_arit.c: In function 'lp_build_round_sse41':
>   gallivm/lp_bld_arit.c:1719:7: error: implicit declaration of function 'lp_build_intrinsic' [-Werror=implicit-function-declaration]
>   res = lp_build_intrinsic(builder, intrinsic,
>   ^
>   gallivm/lp_bld_arit.c:1719:11: warning: assignment makes pointer from integer without a cast [enabled by default]
>   res = lp_build_intrinsic(builder, intrinsic,
>   ^
>   cc1: some warnings being treated as errors
>   Makefile:2149: recipe for target 'gallivm/lp_bld_arit.lo' failed
>   gmake[3]: *** [gallivm/lp_bld_arit.lo] Error 1
> So, I wonder if there's an easy fix to MesaLib (for which we can be
> confident that it won't cause problems on other platforms with different
> llvm versions).  If not, it seems best to disable the llvm option
> entirely for now and revisit post-branch.

The principal issue here is that Mesa is outdated.
Disabling LLVM everywhere is not going to be a practical approach
going forward because more and more of the graphics drivers will
require LLVM to compile the shader language.
This is especially true for Linux and modern graphics.

So the question to answer here is do we want to ship a Mesa that can
actually be used to render accelerated 3D graphics or do we want to
ship one that links against our packages but is otherwise useless?

Since we are currently not a state where Mesa can be updated my
suggestion would be that the old version of libLLVM should be
imported and mesa should be pointed to it.


Home | Main Index | Thread Index | Old Index