Pagina 1 di 1

WINE64 e OpenCL

Inviato: sab 19 giu 2021, 9:55
da conraid
Dalla versione 6.10 compilando Wine a 64bit (non ho multilib installato) mi dà questo errore

Codice: Seleziona tutto

In file included from dlls/opencl/pe_thunks.c:4:
dlls/opencl/opencl_types.h:3:23: error: expected ';' after top level declarator
typedef int32_t cl_int DECLSPEC_ALIGN(4);
                      ^
                      ;                                                                                                                    
dlls/opencl/opencl_types.h:3:24: warning: declaration does not declare anything [-Wmissing-declarations]
typedef int32_t cl_int DECLSPEC_ALIGN(4);
                       ^
include/msvcrt/corecrt.h:142:29: note: expanded from macro 'DECLSPEC_ALIGN'
#  define DECLSPEC_ALIGN(x) __declspec(align(x))
                            ^
In file included from dlls/opencl/pe_thunks.c:4:
dlls/opencl/opencl_types.h:4:25: error: expected ';' after top level declarator
typedef uint32_t cl_uint DECLSPEC_ALIGN(4);
                        ^
                        ;                                                                                                                  
dlls/opencl/opencl_types.h:4:26: warning: declaration does not declare anything [-Wmissing-declarations]
typedef uint32_t cl_uint DECLSPEC_ALIGN(4);
                         ^
include/msvcrt/corecrt.h:142:29: note: expanded from macro 'DECLSPEC_ALIGN'
#  define DECLSPEC_ALIGN(x) __declspec(align(x))
                            ^
In file included from dlls/opencl/pe_thunks.c:4:
dlls/opencl/opencl_types.h:5:26: error: expected ';' after top level declarator
typedef uint64_t cl_ulong DECLSPEC_ALIGN(8);
                         ^
                         ;                                                                                                                 
dlls/opencl/opencl_types.h:5:27: warning: declaration does not declare anything [-Wmissing-declarations]
typedef uint64_t cl_ulong DECLSPEC_ALIGN(8);
                          ^
include/msvcrt/corecrt.h:142:29: note: expanded from macro 'DECLSPEC_ALIGN'
#  define DECLSPEC_ALIGN(x) __declspec(align(x))
                            ^
3 warnings and 3 errors generated.
make: *** [Makefile:101061: dlls/opencl/pe_thunks.cross.o] Error 1
e la compilazione si blocca. Naturalmente aggiungendo "--without-opencl", va a buon fine la compilazione, ma vorrei capire meglio. Qualcuno ha qualche idea?


Le righe incriminate son queste:

Codice: Seleziona tutto

/* Automatically generated from OpenCL registry files; DO NOT EDIT! */

typedef int32_t cl_int DECLSPEC_ALIGN(4);
typedef uint32_t cl_uint DECLSPEC_ALIGN(4);
typedef uint64_t cl_ulong DECLSPEC_ALIGN(8);
p.s.
tra l'altro anche su SBo compilano senza opencl, infatti Wine cerca "OpenCL/opencl.h" e non "CL/opencl.h" come invece è nel sistema.
Io sostituisco con la libreria giusta
sed 's|OpenCL/opencl.h|CL/opencl.h|g' -i configure*
come tra l'altro fa archlinux
sed 's|OpenCL/opencl.h|CL/opencl.h|g' -i $pkgname/configure*

Non trovando opencl Wine configura per la compilazione senza.