forked from luke-jr/bfgminer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathwindows-build.txt
282 lines (248 loc) · 15.3 KB
/
windows-build.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
######################################################################################
# #
# Native WIN32 setup and build instructions (on mingw32/Windows): #
# #
######################################################################################
**************************************************************************************
* Introduction *
**************************************************************************************
The following instructions have been tested on both Windows 7 and Windows XP.
Most of what is described below (copying files, downloading files, etc.) can be done
directly in the MinGW MSYS shell; these instructions do not do so because package
versions and links change over time. The best way is to use your browser, go to the
links directly, and see for yourself which versions you want to install.
Winrar was used to do the extracting of archive files in the making of this guide.
If you think that this documentation was helpful and you wish to donate, you can
do so at the following address. 12KaKtrK52iQjPdtsJq7fJ7smC32tXWbWr
**************************************************************************************
* A tip that might help you along the way *
**************************************************************************************
Enable "QuickEdit Mode" in your Command Prompt Window or MinGW Command Prompt
Window (No need to go into the context menu to choose edit-mark/copy/paste):
Right-click on the title bar and click Properties. Under the Options tab, check
the box for "QuickEdit Mode". Alternately, if you want this change to be
permanent on all of your Command Prompt Windows; you can click Defaults instead
of Properties as described above. Now you can drag and select text you want to
copy, right-click to copy the text to the clipboard and right-click once again to
paste it at the desired location. You could for example, copy some text from this
document to the clipboard and right click in your Command Prompt Window to paste
what you copied.
**************************************************************************************
* Install mingw32 *
**************************************************************************************
Go to this url ==> http://www.mingw.org/wiki/Getting_Started
Click the link that says "Download and run the latest mingw-get-inst version."
Download and run the latest file. Install MinGW in the default directory.
(I downloaded the one labeled "mingw-get-inst-20120426" - note that this could
be a different version later.)
Make sure to check the option for "Download latest repository catalogs".
I just selected all the check boxes (excluding "Fortran Compiler") so that everything
was installed.
**************************************************************************************
* Create mstcpip.h *
**************************************************************************************
Open notepad and copy the following into it. Save it as "\MinGW\include\mstcpip.h".
Make sure it does not have the ".txt" extension (If it does then rename it).
struct tcp_keepalive
{
u_long onoff;
u_long keepalivetime;
u_long keepaliveinterval;
};
#ifndef USE_WS_PREFIX
#define SIO_KEEPALIVE_VALS _WSAIOW(IOC_VENDOR, 4)
#else
#define WS_SIO_KEEPALIVE_VALS _WSAIOW(WS_IOC_VENDOR, 4)
#endif
**************************************************************************************
* Run the MSYS shell for the first time to create your user directory *
**************************************************************************************
(Start Icon/keyboard key ==> All Programs ==> MinGW ==> MinGW Shell).
This will create your user directory for you.
**************************************************************************************
* Install libpdcurses *
**************************************************************************************
Type the lines below to install libpdcurses.
mingw-get install mingw32-libpdcurses
mingw-get install mingw32-pdcurses
Ctrl-D or typing "logout" and pressing the enter key should get you out of the
window.
**************************************************************************************
* Copy BFGMiner source to your MSYS working directory *
**************************************************************************************
Copy BFGMiner source code directory into:
\MinGW\msys\1.0\home\(folder with your user name)
**************************************************************************************
* Install GTK-WIN, required for Pkg-config in the next step *
**************************************************************************************
Go to this url ==> http://sourceforge.net/projects/gtk-win/
Download the file.
After you have downloaded the file Double click/run it and this will install GTK+
I chose all the selection boxes when I installed.
Copy libglib-2.0-0.dll and intl.dll from \Program Files (x86)\gtk2-runtime\bin to
\MinGW\bin
Note: If you are on a 32 bit version of windows "Program Files (x86)" will be
"Program Files".
**************************************************************************************
* Install pkg-config *
**************************************************************************************
Go to this url ==> http://www.gtk.org/download/win32.php
Scroll down to where it shows pkg-cfg.
Download the file from the tool link. Extract "pkg-config.exe" from bin and place in
your \MinGW\bin directory.
Download the file from the "Dev" link. Extract "pkg.m4" from share\aclocal and place
in your \MingW\share\aclocal directory.
**************************************************************************************
* Install libcurl *
**************************************************************************************
Go to this url ==> http://curl.haxx.se/download.html#Win32
At the section where it says "Win32 - Generic", Click on the link that indicates
Win32 2000.XP 7.27.0 libcurl SSL and download it.
The one I downloaded may not be current for you. Choose the latest.
Extract the files that are in the zip (bin, include, and lib) to their respective
locations in MinGW (\MinGW\bin, \MinGW\include, and \MinGW\lib).
Edit the file \MinGW\lib\pkgconfig\libcurl.pc and change "-lcurl" to
"-lcurl -lcurldll".
Ref. http://old.nabble.com/gcc-working-with-libcurl-td20506927.html
**************************************************************************************
* Install libjansson *
**************************************************************************************
Go to this url ==> http://www.digip.org/jansson/releases/
Download the latest tar with library sources.
Copy the jansson-X.X folder into your \MinGW\msys\1.0\home\
Run the MinGW MSYS shell
(Start Icon/keyboard key ==> All Programs ==> MinGW ==> MinGW Shell).
Enter jansson-X.X dir, and type
./configure
make
make check
make install
Copy src/.libs/*.dll into \MinGW\bin
Copy src/.libs/*.a, src/.libs/*.la, src/.libs/*.lai into \MinGW\lib
Copy src/jansson.def into \MinGW\lib
Copy src/*.h into \MinGW\include
Create jansson.pc into \MinGW\lib\pkgconfig with this content:
prefix=.
exec_prefix=${prefix}/bin
libdir=${exec_prefix}/lib
includedir=${prefix}/include
Name: jansson
Description: Library for encoding, decoding and manipulating JSON data
Version: 2.4
Libs: -L${libdir} -ljansson
Cflags: -I${includedir} @CPPFLAG_JANSSON_STATICLIB@
(Source: http://www.digip.org/jansson/doc/dev/gettingstarted.html)
(Source: https://groups.google.com/forum/#!msg/jansson-users/CTPFBeZ0ZWQ/W3uuOuWZegkJ)
**************************************************************************************
* Build bfgminer.exe *
**************************************************************************************
Run the MinGW MSYS shell
(Start Icon/keyboard key ==> All Programs ==> MinGW ==> MinGW Shell).
Change the working directory to your BFGMiner project folder.
Example: cd bfgminer-2.7.1 [Enter Key] if you are unsure then type "ls -la"
Another way is to type "cd bfg" and then press the tab key; It will auto fill.
Type the lines below one at a time. Look for problems after each one before going on
to the next.
adl.sh (optional - see below)
autoreconf -fvi
CFLAGS="-O2 -msse2" ./configure (additional config options, see below)
make
strip bfgminer.exe <== only do this if you are not compiling for debugging
**************************************************************************************
* Copy files to a build directory/folder *
**************************************************************************************
Make a directory and copy the following files into it. This will be your BFGMiner
Folder that you use for mining. Remember the .cl filenames could change on later
releases. If you installed a different version of libcurl then some of those dll's
may be different as well.
bfgminer.exe from \MinGW\msys\1.0\home\(username)\bfgminer-x.x.x
*.cl from \MinGW\msys\1.0\home\(username)\bfgminer-x.x.x
README from \MinGW\msys\1.0\home\(username)\bfgminer-x.x.x
libblkmaker_jansson-0.1-0.dll from
\MinGW\msys\1.0\home\(username)\bfgminer-x.x.x\libblkmaker\.libs
libblkmaker-0.1-0.dll from
\MinGW\msys\1.0\home\(username)\bfgminer-x.x.x\libblkmaker\.libs
libcurl.dll from \MinGW\bin
libidn-11.dll from \MinGW\bin
libeay32.dll from \MinGW\bin
ssleay32.dll from \MinGW\bin
libpdcurses.dll from \MinGW\bin
pthreadGC2.dll from \MinGW\bin
libjansson-X.dll from \MinGW\bin
**************************************************************************************
* Optional - Install Git into MinGW/MSYS *
**************************************************************************************
Go to this url ==> http://code.google.com/p/msysgit/
Click on the Downloads tab.
Download the latest "Portable" git archive.
Extract the git*.exe files from the bin folder and put them into \MinGW\bin.
Extract the share\git-core folder and place it into \MinGW\share.
After the previous step you should have a folder called \MinGW\share\git-core.
To test if it is working, open a MinGW shell and type the following:
git config -–global core.autocrlf false (note: one time run only)
git clone git://github.com/luke-jr/bfgminer.git
If you simply just want to update the source after you have already cloned, type:
git pull
"git pull" did not work for me. Try the following which does the same thing:
git fetch && git merge FETCH_HEAD
Now you can get the latest source directly from github.
**************************************************************************************
* Optional - Install libusb if you need auto USB device detection *
* Required for Ztex and X6500 *
**************************************************************************************
Go to this url ==> http://git.libusb.org/?p=libusb.git;a=snapshot;h=master;sf=zip
save the file to your local storage. Open the file and copy the libusb* folder to
\MinGW\msys\1.0\home\(your user directory/folder).
Or if you do not want to download the file directly and would like to use git then
Type the following from the MSYS shell in your home folder.
git clone git://git.libusb.org/libusb.git
Run the MinGW MSYS shell
(Start Icon/keyboard key ==> All Programs ==> MinGW ==> MinGW Shell).
Change the working directory to your libusb project folder.
Example: cd libusb-something [Enter Key] if you are unsure then type "ls -la"
Another way is to type "cd libusb" and then press the tab key; It will auto fill.
Type the lines below one at a time. Look for problems after each one before going on
to the next.
./autogen.sh --disable-debug-log --prefix=/MinGW
make
make install
You may now exit the MSYS shell.
Ctrl-D or typing "logout" and pressing the enter key should get you out of the
window.
You will have to copy "libusb-1.0.dll" to your working BFGMiner binary directory.
You will find "libusb-1.0.dll" in the \MinGW\bin directory/folder.
Use this method if libusb does not work for you on Ztex. Once someone lets us know
Libusb works instead of libusbx then we will remove the section below this line.
Run the MSYS shell and change into the libusb folder as above.
Type ==> make uninstall
Go to this url ==> http://libusbx.org/
Click on the "Downloads" tab.
Click on "releases".
Click on the latest version. I downloaded 1.0.14; yours may be newer.
Do not download from the link that says "Looking for the latest version?".
Click on "Windows"
Click on the file and download it. I downloaded libusbx-1.0.12-win.7z.
Extract the the following from the file and place in where directed.
Copy libusb.h from include\libusbx-1.0 to \MinGW\include\libusb-1.0\libusb.h
Copy contents of MinGW32\static \MinGW\lib
Copy contents of MinGW32\dll to \MinGW\lib
You will have to copy "libusb-1.0.dll" to your working BFGMiner binary directory.
**************************************************************************************
* Some ./configure options *
**************************************************************************************
--enable-cpumining Build with cpu mining support(default disabled)
--disable-opencl Build without support for OpenCL (default enabled)
--disable-adl Build without ADL monitoring (default enabled)
--disable-bitforce Compile support for BitForce (default enabled)
--disable-icarus Compile support for Icarus (default enabled)
--disable-modminer Compile support for ModMiner (default enabled)
--disable-x6500 Compile support for X6500 (default enabled)
--disable-ztex Compile support for Ztex (default if libusb)
--enable-scrypt Compile support for scrypt litecoin mining (default disabled)
--without-curses Compile support for curses TUI (default enabled)
--without-libudev Autodetect FPGAs using libudev (default enabled)
######################################################################################
# #
# Native WIN32 setup and build instructions (on mingw32/Windows) complete #
# #
######################################################################################