db71fb4f31460353168b65682bf32a65c555c8e8
[hashcat.git] / docs / BUILD.md
1 oclHashcat build documentation
2 =
3 # Revision:
4 * 1.1
5
6 # Authors:
7 * Gabriele Gristina <<matrix@hashcat.net>>
8 * Christoph Heuwieser <<dropdead@hashcat.net>>
9
10 # Dependencies
11
12 To compile **oclHashcat** the following third party libraries are required:
13
14 - ADL_SDK v8.0 ( http://developer.amd.com/tools-and-sdks/graphics-development/display-library-adl-sdk/ )
15 - NVAPI R352 ( https://developer.nvidia.com/nvapi )
16 - GDK v352_55 ( https://developer.nvidia.com/gpu-deployment-kit )
17
18 The next thing to do is download all the third party libraries listed above and put these files into the *deps/tmp* directory.
19
20 The following files are needed inside the *deps/tmp* directory:
21     
22     ADL_SDK8.zip
23     R352-developer.zip
24     gdk_linux_amd64_352_55_release.run
25     
26 # Building oclHashcat
27 First get a copy of the **oclHashcat** repository
28
29 ```sh
30 $ git clone https://github.com/hashcat/oclHashcat.git
31 ```
32 Install the dependencies
33
34 ```sh
35 $ cd oclHashcat
36 $ sudo ./tools/deps.sh
37 ```
38
39 Run "make"
40
41 ```sh
42 $ make
43 ```
44
45 to install it run "make install"
46
47 ```sh
48 $ make install
49 ```
50
51 Useful tricks:
52 - build all binaries (see Note1 and Note2):
53 ```sh
54 $ make binaries
55 ```
56
57 Note1: to install all binaries ("make binaries") you need to first clone the OpenCL-Headers within the main folder:
58
59 ```sh
60 $ git clone https://github.com/KhronosGroup/OpenCL-Headers deps/OpenCL-Headers/CL
61 ```
62
63 the tools/deps.sh script does not clone this repo automatically since for native compilation it is not needed.
64
65 Note2: if you get an error like the following one for "make binaries"
66
67 ```sh
68 /usr/bin/ld: cannot find -lOpenCL
69 ```
70
71 the main reason is probably that the 32-bit version of libOpenCL.so was not found.
72
73 A possible solution is to just symbolic link it (if the 32-bit version of libOpenCL.so.1 exists), for example:
74
75 ```sh
76 sudo ln -s /usr/lib/i386-linux-gnu/libOpenCL.so.1 /usr/lib/i386-linux-gnu/libOpenCL.so
77 ```
78
79 =
80 Enjoy your fresh **oclHashcat** binaries ;)