Updated Compiling from source (markdown)

JayDDee
2023-11-11 19:56:49 -05:00
parent 2f96a20673
commit 9cd0175d33

@@ -21,10 +21,10 @@ they will give a clue as to the missing package.
The following command should install everything you need on Debian based The following command should install everything you need on Debian based
distributions such as Ubuntu. Fedora and other distributions may have similar distributions such as Ubuntu. Fedora and other distributions may have similar
but different package names. but different package names. As of v23.8 OpenSSL (libssl-dev) is no longer reqwuired.
` `
$ sudo apt-get install build-essential automake libssl-dev libcurl4-openssl-dev libjansson-dev libgmp-dev zlib1g-dev git $ sudo apt-get install build-essential automake libcurl4-openssl-dev libjansson-dev libgmp-dev zlib1g-dev git
` `
#### Download cpuminer-opt #### Download cpuminer-opt
@@ -122,16 +122,11 @@ https://stackoverflow.com/questions/6951938/libgmp-10-dll-is-missing
#### Download cpuminer-opt #### Download cpuminer-opt
Download and decompress cpuminer-opt source code. Download the tar.gz file as it preserves file permissions, Download and decompress cpuminer-opt source code. Download the tar.gz file as it preserves file permissions, specifically executability. It can be dowloaded from the Windows web browser or from MSYS2 MinGW-w64 terminal. This is different from the terminal used for package installation.
specifically executability. It can be dowloaded from the Windows web browser or from MSYS2 MinGW-w64 terminal.
This is different from the MSYS2 MSYS terminal used for package installation.
If Windows tools are preferred cpuminer-opt can be downloaded to the Windows Documents folder and accessed from If Windows tools are preferred cpuminer-opt can be downloaded to the Windows Documents folder and accessed from MSYS2 MinGW-w64 terminal using the path /c/users/[USER]/documents. Notepad++ and 7zip are useful Windows programs with good support for Linux file formats. The MSYS2 home directory can be accessed from Windows with C:\msys2\home\[USER].
MSYS2 terminal using the path /c/users/[USER]/documents. Notepad++ and 7zip are useful Windows programs with good support for
Linux file formats. The MSYS2 home directory can be accessed from Windows with C:\msys2\home\[USER].
Cpuminer-opt can be downloaded from the MSYS2 terminal using git or wget. Git will download the most recent source code, Cpuminer-opt can be downloaded from the MSYS2 terminal using git or wget. Git will download the most recent source code, it matches the latest release.
it matches the latest release.
`$ git clone https://github.com/JayDDee/cpuminer-opt.git` `$ git clone https://github.com/JayDDee/cpuminer-opt.git`
@@ -219,8 +214,6 @@ Download and build other packages for mingw that don't have a mingw64 version av
Download the following source code packages from their respective and respected download locations, Download the following source code packages from their respective and respected download locations,
copy them to $HOME/usr/lib/ and uncompress them. copy them to $HOME/usr/lib/ and uncompress them.
openssl v1.1.1f: https://github.com/openssl/openssl/releases
curl v7.68.0: https://github.com/curl/curl/releases curl v7.68.0: https://github.com/curl/curl/releases
gmp v6.2.0: https://gmplib.org/download/gmp/ gmp v6.2.0: https://gmplib.org/download/gmp/
@@ -235,14 +228,6 @@ Some instructions insist on running "make check". If make check fails it may sti
You can speed up "make" by using all CPU cores available with "-j n" where n is the number of You can speed up "make" by using all CPU cores available with "-j n" where n is the number of
CPU threads you want to use. CPU threads you want to use.
openssl:
`$ ./Configure mingw64 shared --cross-compile-prefix=x86_64-w64-mingw32-`
`$ make`
Make may fail with an ld error, just ensure libcrypto-1_1-x64.dll is created.
curl: curl:
`$ ./configure --with-winssl --with-winidn --host=x86_64-w64-mingw32` `$ ./configure --with-winssl --with-winidn --host=x86_64-w64-mingw32`
@@ -269,8 +254,6 @@ Define some local variables to point to the local library.
`$ export LOCAL_LIB="$HOME/usr/lib"` `$ export LOCAL_LIB="$HOME/usr/lib"`
`$ export LDFLAGS="-L$LOCAL_LIB/curl/lib/.libs -L$LOCAL_LIB/gmp/.libs -L$LOCAL_LIB/openssl"`
`$ export CONFIGURE_ARGS="--with-curl=$LOCAL_LIB/curl --with-crypto=$LOCAL_LIB/openssl --host=x86_64-w64-mingw32"` `$ export CONFIGURE_ARGS="--with-curl=$LOCAL_LIB/curl --with-crypto=$LOCAL_LIB/openssl --host=x86_64-w64-mingw32"`
Adjust for gcc version: Adjust for gcc version:
@@ -292,11 +275,8 @@ recreated every time a source package is decompressed.
`$ cp $GCC_MINGW_LIB/libgcc_s_seh-1.dll release/` `$ cp $GCC_MINGW_LIB/libgcc_s_seh-1.dll release/`
`$ cp $LOCAL_LIB/openssl/libcrypto-1_1-x64.dll release/`
`$ cp $LOCAL_LIB/curl/lib/.libs/libcurl-4.dll release/` `$ cp $LOCAL_LIB/curl/lib/.libs/libcurl-4.dll release/`
#### Download cpuminer-opt #### Download cpuminer-opt
The following steps need to be done every time a new source package is The following steps need to be done every time a new source package is
@@ -349,8 +329,8 @@ directory to a Windows system and run cpuminer.exe from the command line.
Run cpuminer Run cpuminer
In a command windows change directories to the unzipped release folder. In a command window or Powershell change directories to the unzipped release folder.
to get a list of all options: To get a list of all options:
$ cpuminer.exe --help $ cpuminer.exe --help