CL Build Failure
#1
Hi,

I'm new to hashcat and for me it is the first time using this software. So I copied the shadow file from my linux laptop and I'm trying to crack it from my Windows Desktop.

It appears this error and I coudn't understand the problem.

Thank you in advance
Lorenzo

Code:
D:\Users\Lorenzo\Downloads\Chrome\hashcat-3.10\OpenCL>"../hashcat64.exe" -m 1800 -a 3 -o D:\Users\Lorenzo\Desktop\laptop\soluzione -d 1 D:\Users\Lorenzo\Desktop\laptop\hash hashcat (v3.10) starting... OpenCL Platform #1: Advanced Micro Devices, Inc. ================================================ - Device #1: Hawaii, 4048/8192 MB allocatable, 44MCU - Device #2: WARNING: Not a native Intel OpenCL runtime, expect massive speed loss             You can use --force to override this but do not post error reports if you do so - Device #2: Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz, skipped Hashes: 1 hashes; 1 unique digests, 1 unique salts Bitmaps: 16 bits, 65536 entries, 0x0000ffff mask, 262144 bytes, 5/13 rotates Applicable Optimizers: * Zero-Byte * Single-Hash * Single-Salt * Brute-Force * Uses-64-Bit Watchdog: Temperature abort trigger set to 90c Watchdog: Temperature retain trigger set to 75c - Device #1: Kernel m01800.e812b21e.kernel not found in cache! Building may take a while... ERROR: clBuildProgram(): CL_BUILD_PROGRAM_FAILURE D:\Users\Lorenzo\Downloads\Chrome\hashcat-3.10\OpenCL\\OCL8312T5.cl:186:21: error: passing '__generic u64 *' (aka '__generic unsigned long *') to parameter of type 'const u64 *' (aka 'const unsigned long *') changes address space of poin ter  sha512_transform (sha512_ctx->buf, sha512_ctx->state);                    ^~~~~~~~~~~~~~~ D:\Users\Lorenzo\Downloads\Chrome\hashcat-3.10\OpenCL\\OCL8312T5.cl:61:34: note: passing argument to parameter 'w' here void sha512_transform (const u64 w[16], u64 digest[8])                                 ^ D:\Users\Lorenzo\Downloads\Chrome\hashcat-3.10\OpenCL\\OCL8312T5.cl:186:38: error: passing '__generic u64 *' (aka '__generic unsigned long *') to parameter of type 'u64 *' (aka 'unsigned long *') changes address space of pointer  sha512_transform (sha512_ctx->buf, sha512_ctx->state);                                     ^~~~~~~~~~~~~~~~~ D:\Users\Lorenzo\Downloads\Chrome\hashcat-3.10\OpenCL\\OCL8312T5.cl:61:45: note: passing argument to parameter 'digest' here void sha512_transform (const u64 w[16], u64 digest[8])                                            ^ D:\Users\Lorenzo\Downloads\Chrome\hashcat-3.10\OpenCL\\OCL8312T5.cl:209:23: error: passing '__generic u64 *' (aka '__generic unsigned long *') to parameter of type 'const u64 *' (aka 'const unsigned long *') changes address space of poin ter    sha512_transform (sha512_ctx->buf, sha512_ctx->state);                      ^~~~~~~~~~~~~~~ D:\Users\Lorenzo\Downloads\Chrome\hashcat-3.10\OpenCL\\OCL8312T5.cl:61:34: note: passing argument to parameter 'w' here void sha512_transform (const u64 w[16], u64 digest[8])                                 ^ D:\Users\Lorenzo\Downloads\Chrome\hashcat-3.10\OpenCL\\OCL8312T5.cl:209:40: error: passing '__generic u64 *' (aka '__generic unsigned long *') to parameter of type 'u64 *' (aka 'unsigned long *') changes address space of pointer    sha512_transform (sha512_ctx->buf, sha512_ctx->state);                                       ^~~~~~~~~~~~~~~~~ D:\Users\Lorenzo\Downloads\Chrome\hashcat-3.10\OpenCL\\OCL8312T5.cl:61:45: note: passing argument to parameter 'digest' here void sha512_transform (const u64 w[16], u64 digest[8])                                            ^ D:\Users\Lorenzo\Downloads\Chrome\hashcat-3.10\OpenCL\\OCL8312T5.cl:231:21: error: passing '__generic u64 *' (aka '__generic unsigned long *') to parameter of type 'const u64 *' (aka 'const unsigned long *') changes address space of poin ter  sha512_transform (sha512_ctx->buf, sha512_ctx->state);                    ^~~~~~~~~~~~~~~ D:\Users\Lorenzo\Downloads\Chrome\hashcat-3.10\OpenCL\\OCL8312T5.cl:61:34: note: passing argument to parameter 'w' here void sha512_transform (const u64 w[16], u64 digest[8])                                 ^ D:\Users\Lorenzo\Downloads\Chrome\hashcat-3.10\OpenCL\\OCL8312T5.cl:231:38: error: passing '__generic u64 *' (aka '__generic unsigned long *') to parameter of type 'u64 *' (aka 'unsigned long *') changes address space of pointer  sha512_transform (sha512_ctx->buf, sha512_ctx->state);                                     ^~~~~~~~~~~~~~~~~ D:\Users\Lorenzo\Downloads\Chrome\hashcat-3.10\OpenCL\\OCL8312T5.cl:61:45: note: passing argument to parameter 'digest' here void sha512_transform (const u64 w[16], u64 digest[8])                                            ^ 6 errors generated. error: Clang front-end compilation failed! Frontend phase failed compilation. Error: Compiling CL to IR ERROR: clCreateKernel(): CL_INVALID_KERNEL_NAME
#2
It's a bug in latest AMD drivers (amd-gpu-pro). I've added a workaround to the latest hashcat version on GitHub.
#3
Thank you very much. I'm going to recompile it this night!
#4
You can also use precompiled betas from here: https://hashcat.net/beta/
#5
I have the same problem on my linux laptop with AMD GPU and CPU.

Code:
~/Downloads/hashcat/hashcat-3.30# ./hashcat64.bin -a 0 -m 400 example400.hash example.dict hashcat (v3.30) starting... OpenCL Platform #1: Mesa ======================== * Device #1: AMD ARUBA (DRM 2.43.0, LLVM 3.8.0), 256/1024 MB allocatable, 4MCU * Device #2: AMD TURKS (DRM 2.43.0, LLVM 3.8.0), 256/1024 MB allocatable, 6MCU Hashes: 1 digests; 1 unique digests, 1 unique salts Bitmaps: 16 bits, 65536 entries, 0x0000ffff mask, 262144 bytes, 5/13 rotates Rules: 1 Applicable Optimizers: * Zero-Byte * Single-Hash * Single-Salt * Slow-Hash-SIMD Watchdog: Hardware Monitoring Interface not found on your system Watchdog: Temperature abort trigger disabled Watchdog: Temperature retain trigger disabled Initializing device kernels and memory...clBuildProgram(): CL_BUILD_PROGRAM_FAILURE input.cl:20:1: error: OpenCL does not support the 'static' storage class specifier input.cl:118:1: error: OpenCL does not support the 'static' storage class specifier * Device #1: Kernel /root/Downloads/hashcat/hashcat-3.30/OpenCL/m00400.cl build failure. Proceeding without this device. clBuildProgram(): CL_BUILD_PROGRAM_FAILURE input.cl:20:1: error: OpenCL does not support the 'static' storage class specifier input.cl:118:1: error: OpenCL does not support the 'static' storage class specifier * Device #2: Kernel /root/Downloads/hashcat/hashcat-3.30/OpenCL/m00400.cl build failure. Proceeding without this device. Started: Wed Feb  1 20:33:05 2017 Stopped: Wed Feb  1 20:33:09 2017

With the beate the same error.

Can you help me?
#6
The MESA OpenCL runtime is broken like hell. You need to upgrade to a newer GPU to use the vendor drivers which include the vendors own OpenCL runtime.