Re: git: 0eb6406f6594 - main - devel/opencl: Update OpenCL to 3.0.14
Date: Fri, 05 May 2023 07:14:31 UTC
On Thu, May 4, 2023 at 9:29 PM Craig Leres <leres@freebsd.org> wrote:
> On 5/3/23 01:05, Fernando Apesteguía wrote:
> > The branch main has been updated by fernape:
> >
> > URL:
> https://cgit.FreeBSD.org/ports/commit/?id=0eb6406f6594c96bef9b692cd7e4fa763a653cd7
> >
> > commit 0eb6406f6594c96bef9b692cd7e4fa763a653cd7
> > Author: O. Hartmann<ohartmann@walstatt.org>
> > AuthorDate: 2023-05-02 10:38:39 +0000
> > Commit: Fernando Apesteguía<fernape@FreeBSD.org>
> > CommitDate: 2023-05-03 08:01:08 +0000
> >
> > devel/opencl: Update OpenCL to 3.0.14
> >
> > PR: 271158
> > Reported by:ohartmann@walstatt.org (maintainer)
> > ---
>
> Unfortunately this breaks building devel/ocl-icd for me (see appended).
> Looks like some things ocl-icd was defining in (ocl-idcd)
> ocl_icd_loader.c are conflicting with a new version in (opencl)
> CL/cl_ext.h.
>
Can you try this patch
https://people.freebsd.org/~fernape/patches/devel_ocl-icd.patch
I was able to build in 12.4 {adm64,i386}, 13.1 amd64 and -current(ish) amd64
Cheers
>
> I took a stab at ifdef'ing out the enum that conflicts with the define
> but that just uncovers other incompatibilities; the problem is beyond my
> understanding of these packages.
>
> devel/ocl-icd is already at the last upstream release of ocl-icd.
>
> Note that this breaks building things like firefox and thunderbird.
>
> Craig
>
> ocl_icd_loader.c:895:3: error: expected identifier
> CL_ICDL_OCL_VERSION=1,
> ^
> /usr/local/include/CL/cl_ext.h:3181:61: note: expanded from macro
> 'CL_ICDL_OCL_VERSION'
> #define CL_ICDL_OCL_VERSION 1
> ^
> ocl_icd_loader.c:896:3: error: expected identifier
> CL_ICDL_VERSION=2,
> ^
> /usr/local/include/CL/cl_ext.h:3182:61: note: expanded from macro
> 'CL_ICDL_VERSION'
> #define CL_ICDL_VERSION 2
> ^
> ocl_icd_loader.c:897:3: error: expected identifier
> CL_ICDL_NAME=3,
> ^
> /usr/local/include/CL/cl_ext.h:3183:61: note: expanded from macro
> 'CL_ICDL_NAME'
> #define CL_ICDL_NAME 3
> ^
> ocl_icd_loader.c:898:3: error: expected identifier
> CL_ICDL_VENDOR=4,
> ^
> /usr/local/include/CL/cl_ext.h:3184:61: note: expanded from macro
> 'CL_ICDL_VENDOR'
> #define CL_ICDL_VENDOR 4
> ^
> ocl_icd_loader.c:899:3: error: typedef redefinition with different types
> ('enum cl_icdl_info' vs 'cl_uint' (aka 'unsigned int'))
> } cl_icdl_info;
> ^
> /usr/local/include/CL/cl_ext.h:3178:29: note: previous definition is here
> typedef cl_uint cl_icdl_info;
> ^
> ocl_icd_loader.c:901:15: error: static declaration of
> 'clGetICDLoaderInfoOCLICD' follows non-static declaration
> static cl_int clGetICDLoaderInfoOCLICD(
> ^
> /usr/local/include/CL/cl_ext.h:3197:1: note: previous declaration is here
> clGetICDLoaderInfoOCLICD(
> ^
> 6 errors generated.
>