Re: git: 0eb6406f6594 - main - devel/opencl: Update OpenCL to 3.0.14

From: Craig Leres <leres_at_freebsd.org>
Date: Thu, 04 May 2023 19:29:12 UTC
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.

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.