From 2c53b8a34e9c50e91359a2e54d836133a8108f31 Mon Sep 17 00:00:00 2001 From: Markus Peloquin Date: Sat, 8 Feb 2014 15:39:55 -0800 Subject: [PATCH 1/2] Add Cygwin build instructions. --- doc/cygwin-build.txt | 131 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 doc/cygwin-build.txt diff --git a/doc/cygwin-build.txt b/doc/cygwin-build.txt new file mode 100644 index 00000000..27110090 --- /dev/null +++ b/doc/cygwin-build.txt @@ -0,0 +1,131 @@ +################################################################################ +# # +# Cygwin setup and build instructions (on Windows): # +# # +################################################################################ + +******************************************************************************** +* Introduction * +******************************************************************************** +The following instructions have been tested on Windows 7. + +******************************************************************************** +* Install Cygwin * +******************************************************************************** +Download the Cygwin installer from http://cygwin.com/ . You should download the +x86 installer (I am unsure if the amd64 installer will work for you). + +Run the installer as administrator, and select at least these packages (this +may be incomplete). +- Archive/unzip +- Devel/autoconf* (all of them) +- Devel/automake* (all of them) +- Devel/gcc-core +- Devel/git (if fetching source directly from the repository) +- Devel/libtool +- Devel/make +- Devel/pkg-config +- Libs/libcurl-devel +- Libs/libcurl4 +- Libs/libncurses-devel +- Libs/libncurses10 +Make sure to install the shortcut(s). + +After installing, you'll want to run 'Cygwin Terminal' in the Start Menu. + +******************************************************************************** +* Install AMD APP SDK, latest version (only if you want GPU mining) * +******************************************************************************** +Note: You do not need to install the AMD APP SDK if you are only using Nvidia +GPUs. Go to this URL for the latest x86 AMD APP SDK: +http://developer.amd.com/tools-and-sdks/heterogeneous-computing/amd-accelerated-parallel-processing-app-sdk/downloads/ +Go to this URL for legacy AMD APP SDK's: +http://developer.amd.com/tools-and-sdks/heterogeneous-computing/amd-accelerated-parallel-processing-app-sdk/downloads/download-archive/ + +Only the x86 version includes the OpenCL implementation for some reason. Then +copy the headers and libraries into the Cygwin directory tree: + $ cp -R '/cygdrive/c/Program Files (x86)/AMD APP SDK'/*/include/CL /usr/include + $ cp '/cygdrive/c/Program Files (x86)/AMD APP SDK'/*/lib/x86/*.a /usr/lib + +Note: If you are on an x86 version of Windows, 'Program Files (x86)' will be +'Program Files'. +Note2: If you update your APP SDK later, you will want to re-copy the above +files. + +******************************************************************************** +* Fetch the sgminer source * +******************************************************************************** +You've probably already done this, but this can be done with git or with a zip +file. With git: + $ cd + $ git clone git@github.com:veox/sgminer.git + +With a zip file: + $ cd + $ unzip /cygdrive/c/Users/'YOURNAME'/Downloads/sgminer-master.zip + $ mv sgminer-master sgminer +(I only rename it to make the directions below uniform.) + +******************************************************************************** +* Install AMD ADL SDK, latest version (only if you want GPU monitoring) * +******************************************************************************** +Note: You do not need to install the AMD ADL SDK if you are only using Nvidia +GPUs. Go to this URL: +http://developer.amd.com/tools-and-sdks/graphics-development/display-library-adl-sdk/ +Download and unzip the file you downloaded: + $ cd ~/sgminer + $ unzip /cygdrive/c/Users/'YOURNAME'/Downloads/ADL_SDK*.zip 'include/*' + +******************************************************************************** +* Build sgminer.exe * +******************************************************************************** +There's no reason to use -O3 in your CFLAGS as sgminer isn't CPU-intensive. + $ cd ~/sgminer + $ ./autogen.sh + $ AMDAPPSDKROOT= CFLAGS='-O2 -march=native' \ + CPPFLAGS=-I/usr/include/ncurses ./configure + $ make -j8 +See below for options to send to configure, but you won't want any of them if +you've been following the directions so far. + +You may strip the binary if you are not compiling for debugging. It only makes +the file smaller by removing symbols not needed for running. + +******************************************************************************** +* Installing * +******************************************************************************** +Don't use `make install` as it copies a lot of things you don't want, and it's +harder to run. First: + $ cp sgminer.exe /usr/bin/__sgminer.exe + $ cp -R kernel /usr/share/sgminer + +And create the wrapper /usr/bin/sgminer: + #!/bin/sh + export GPU_MAX_ALLOC_PERCENT=100 + export GPU_USE_SYNC_OBJECTS=1 + if [[ -f $HOME/.sgminer.json ]]; then + exec __sgminer --config "$HOME"/.sgminer.json \ + --kernel-path /usr/share/sgminer "$@" + fi + exec __sgminer --kernel-path /usr/share/sgminer "$@" + +Use the .json extension above if you want syntax highlighting when you edit it. +Make the wrapper executable: + $ chmod +x /usr/bin/sgminer + +And write your config based on sgminer/example.conf. Remember not to overwrite +/usr/bin/sgminer if/when you update sgminer! + +******************************************************************************** +* Running * +******************************************************************************** +If you've configured it with ~/.sgminer.json, you don't need any options! + $ sgminer [OPTIONS] + +******************************************************************************** +* Some ./configure options * +******************************************************************************** +--disable-adl Override detection and disable building with ADL +--disable-adl-checks Override detection and assume ADL is present +--disable-libcurl Disable building with libcurl for getwork and GBT support +--without-curses Compile support for curses TUI (default enabled) From f4fcc7a799569b64737ec1ec87180506fcbf641b Mon Sep 17 00:00:00 2001 From: Markus Peloquin Date: Sat, 8 Feb 2014 15:43:48 -0800 Subject: [PATCH 2/2] Add clarification to Cygwin install section. --- doc/cygwin-build.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/cygwin-build.txt b/doc/cygwin-build.txt index 27110090..8984ab74 100644 --- a/doc/cygwin-build.txt +++ b/doc/cygwin-build.txt @@ -26,10 +26,10 @@ may be incomplete). - Devel/make - Devel/pkg-config - Libs/libcurl-devel -- Libs/libcurl4 +- Libs/libcurl4 (or whatever the latest is) - Libs/libncurses-devel -- Libs/libncurses10 -Make sure to install the shortcut(s). +- Libs/libncurses10 (or whatever the latest is) +Make sure to install the shortcut(s) at the very end of the install. After installing, you'll want to run 'Cygwin Terminal' in the Start Menu.