kozyilmaz/nheqminer-macos

Make Errors

TheMCTipers opened this issue · 39 comments

MacOS Sierra '10.12.5'
iMac 27", Late 2012

After I type in make (after cloning using --recursive, and after 'source environment', using Terminal) I get this:

screen shot 2017-06-02 at 11 51 49 pm
Know how to fix?

Same issue
MacOS Sierra '10.12.5' Hackintosh Core i7 7700 + Asus Turbo 1060 6G
Omers-iMac:asm_linux komer$ git clone --recursive https://github.com/kozyilmaz/nheqminer-macos.git
Cloning into 'nheqminer-macos'...
remote: Counting objects: 452, done.
remote: Total 452 (delta 0), reused 0 (delta 0), pack-reused 452
Receiving objects: 100% (452/452), 47.94 KiB | 0 bytes/s, done.
Resolving deltas: 100% (241/241), done.
Submodule 'tools' (https://github.com/kozyilmaz/tools.git) registered for path 'tools'
Cloning into '/Users/komer/.Trash/nheqminer/cpu_xenoncat/asm_linux/nheqminer-macos/tools'...
remote: Counting objects: 255, done.
remote: Compressing objects: 100% (13/13), done.
remote: Total 255 (delta 7), reused 15 (delta 5), pack-reused 235
Receiving objects: 100% (255/255), 94.81 KiB | 0 bytes/s, done.
Resolving deltas: 100% (110/110), done.
Submodule path 'tools': checked out 'fd7a6f298e74af89f45b13ca4516dc61fb904261'
Omers-iMac:asm_linux komer$ cd nheqminer-macos
Omers-iMac:nheqminer-macos komer$ source environment
Omers-iMac:nheqminer-macos komer$ make
CLONE autoconf
CONFIG autoconf
BUILD autoconf
INSTALL autoconf
CLONE automake
CONFIG automake
BUILD automake
INSTALL automake
CLONE libtool
CONFIG libtool
BUILD libtool
INSTALL libtool
CLONE pkgconfig
CONFIG pkgconfig
BUILD pkgconfig
INSTALL pkgconfig
CLONE objconv
CONFIG objconv
BUILD objconv
INSTALL objconv
CLONE fasm
CONFIG fasm
BUILD fasm
INSTALL fasm
CLONE cmake
CONFIG cmake
BUILD cmake
INSTALL cmake
CLONE boost
CONFIG boost
BUILD boost
INSTALL boost
CLONE nheqminer
CONFIG nheqminer
BUILD nheqminer
make[1]: *** [build] Error 1
make: *** [nheqminer_all] Error 2
Omers-iMac:nheqminer-macos komer$

I think you have different issues, can you please do a fresh clone first (I committed a lot of debug options and build checks).

@TheMCTipers Can you please run the commands below after the fresh clone, this way we'll have a complete error log

source environment
PRINT_DEBUG=y make

@komer83 I believe the source of your problem is the incompatibility of CUDA toolkit to latest Xcode Command Line Tools. If you run the commands below with a fresh clone, console logs will show the exact problem and instructions to overcome it (most likely installing and older, compatible version of Xcode tools).

source environment
make

In any case I uploaded fresh precompiled binaries for you (please check 'releases' section). Thanks for your interest and patience!

I have done the following:

git clone https://github.com/kozyilmaz/nheqminer-macos.git
cd nheqminer-macos
source environment
PRINT_DEBUG=y make
screen shot 2017-06-03 at 9 53 16 am

I have downloaded the CUDA Toolkit from the website you've provided (https://developer.nvidia.com/cuda-downloads), downloading for 86_64 and for '10.12'
I am installing all 3 packages (CUDA Driver, CUDA Toolkit, CUDA Samples)

Running PRINT_DEBUG=y make now gives me this:
screen shot 2017-06-03 at 9 57 14 am

I went to: https://developer.apple.com/download/more, and then logged in with my Apple ID. Afterwards, I downloaded Command Line Tools (macOS 10.12) for Xcode 8.2, and then successfully installed it.

Running the same command gets me this:
screen shot 2017-06-03 at 9 57 14 am

I will come back when I've fully restarted my PC, and update you.

@TheMCTipers So far so good. According to logs the only problem for now is the "Command Line Tools" version. Commands below should set the tools version to compatible, older one. Can you send me the output?

$ sudo xcode-select -switch /Library/Developer/CommandLineTools
$ clang --version

Of course you can switch it back anytime you like to the latest one with command below.

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

Sorry I took a while, there were some problems with my internet sadly.
After restarting my PC, terminal was still open with it's directory.

screen shot 2017-06-03 at 12 51 54 pm

This is what I get now, is that ok?

I've tried compiling it again, and this is what I get:
screen shot 2017-06-03 at 1 28 35 pm

@TheMCTipers looks good, let's print debug logs

PRINT_DEBUG=y make

Holy shit that took a very long time to make.. Anyways, here's the log.
https://pastebin.com/4JDRvCK4

Very large..

@TheMCTipers Interesting, first one failed at “fasm”, second one at “pkgconfig” and last one at “cmake”, so it is not deterministic. Error log shows that build is “Killed: 9”.

How much total and free RAM do you have at the moment, and how much disk space do you have? I guess build is getting killed due to low memory.

We can try one thing though, open "environment" file with a text editor. Change

BSPJOB=4
...

to

BSPJOB=1
...

then again run these commands, it will continue building :

$ source environment
$ PRINT_DEBUG=y make

I have 32GB of RAM installed and a 180GB SSD (84GB free, right now only 9GB of RAM used)

I've changed the file from 4 to 1, and now I am compiling again. Last time it took 18 minutes, let's hope that it doesn't take as long again.

alright, well it's working :D

@TheMCTipers so nheqminer is compiled and working now? If so, I am glad but sorry it took so long. I have a couple questions if you don't mind:

  • In failing conditions, your machine had more than enough ram and disk space, correct? How about CPU load other then compilation, were there any CPU-intensive tasks running in parallel?
  • Was Xcode open or Simulator running during nheqminer compilation?

It is compiled and should be working now.

It had more than enough ram and disk space, yes. The only CPU load was terminal itself (to compile it), the background applications I have running use barely any CPU (Well, I would hope. Transmission, Activity Monitor, Chrome, Logitech Gaming Software, Discord)

Xcode and Simulator were not running during the compilation.

Error as well, but w/curl /pkg-config

.....lots more above
  CLONE      pkgconfig
if [ ! -f "pkg-config-"0.29.2".tar.gz" ]; then curl -OL http://pkgconfig.freedesktop.org/releases/pkg-config-"0.29.2".tar.gz; fi;
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   367  100   367    0     0   2124      0 --:--:-- --:--:-- --:--:--  2158
curl: (1) Protocol "https" not supported or disabled in libcurl
make[3]: *** [pkgconfig_clone] Error 1
make[2]: *** [clone] Error 1
make[1]: *** [pkgconfig_all] Error 2
make: *** [tools_all] Error 2

I've checked and do have pkg-config-0.29.2 in my path, not sure why it's checking for the tar.gz
/usr/local/Cellar/pkg-config/0.29.2/bin/pkg-config

Solution to compile was to ./configure --with-darwinssl curl... then re- sudo make install. For anyone who comes across this in the future

@MaximusMcCann macOS is shipped with a https capable curl version (/usr/bin/curl), is it possible that you installed via "brew" or compiled a custom version which override original one (which I do not recommend) at the time of the first error? Can you send the output of curl --version

@kozyilmaz In order to get some of these linux mining distros to work on my mac I've had to make curl on my own comp and manually enable the Dev flags... This has been helpful: https://github.com/curl/curl/blob/master/GIT-INFO
Certainly not an issue if you don't touch the built in curl.

Hi,

I'm getting the same issue as @TheMCTipers where an error pops up at BUILD pkconfig:

image

Here's my log after a fresh clone with debug:

https://pastebin.com/zy3HJBFf

Thanks for your help. Looking forward to getting this running and testing out my GPU!

@soyary Can you try this please, open "environment" file with a text editor. Change

BSPJOB=4
...

to

BSPJOB=1
...

then again run these commands, it will continue building :

$ source environment
$ PRINT_DEBUG=y make

@kozyilmaz I forgot to mention that I also tried that to no avail:

https://pastebin.com/myZxRPia

@soyary looking now, do you have homebrew installed?

@soyary your problem is with clock_gettime(), it's defined in macOS 10.12 / Xcode 8 and it works out of the box (vanilla environment) but it seems brew is not playing nicely with that change

Let's try this first:

$ source environment
$ export MACOSX_DEPLOYMENT_TARGET=10.12
$ PRINT_DEBUG=y make

@soyary If previous workaround does not work, download and copy this file brew.patch.txt to nheqminer-macos directory and execute commands below:

$ mv brew.patch.txt brew.patch
$ patch -d tools/pkgconfig/pkg-config-0.29.2 -p1 < brew.patch 
$ source environment
$ PRINT_DEBUG=y make

This is an immediate workaround until I come up with something reliable

@soyary thanks for your patience, how about a quick run with:

$ export MACOSX_DEPLOYMENT_TARGET=10.12
$ source environment
$ PRINT_DEBUG=y make

and if not then please apply the patch like in my previous comment it will workaround it.

The problem is clock_gettime for sure

gmain.c:2550:3: error: implicit declaration of function 'clock_gettime' is
     invalid in C99 [-Werror,-Wimplicit-function-declaration]
 clock_gettime (CLOCK_REALTIME, &ts);
 ^
gmain.c:2550:18: error: use of undeclared identifier 'CLOCK_REALTIME'
 clock_gettime (CLOCK_REALTIME, &ts);
                ^

@soyary it's p1 not pl
patch -d tools/pkgconfig/pkg-config-0.29.2 -p1 < brew.patch

@soyary sorry but it does not seem to be patched.

Sorry, I'm getting the same error: https://pastebin.com/bJ6bqTgY

I started with a fresh clone and first tried:

$ export MACOSX_DEPLOYMENT_TARGET=10.12
$ source environment
$ PRINT_DEBUG=y make

Then I ran the patch, which seems to have patched gmain.c with the lines in the patch you created. Same error:

image

@soyary duh, my stupidity!

try this patch, no need to fresh clone
brew4.patch.txt

$ mv brew4.patch.txt brew4.patch
$ patch -d tools/pkgconfig/pkg-config-0.29.2 -p1 < brew4.patch 
$ source environment
$ PRINT_DEBUG=y make

Hey, still the same error. Not sure what's wrong. Could it be my system?

https://pastebin.com/2PJnBJ2d

@soyary Hackintosh? one last try, my bad I guess. patch here
disable.patch.txt

$ mv disable.patch.txt disable.patch
$ patch -d tools/pkgconfig/pkg-config-0.29.2 -p1 < disable.patch 
$ source environment
$ PRINT_DEBUG=y make

Sweet! It finally compiled. GPU miner was running fine until it crashed my system. Maybe it was overloaded. I'm remoting in from work right now, so I'm not sure what happened.

@soyary if it crashes I suggest you try the precompiled binaries too (under /releases). good luck!

@kozyilmaz Haha! I didn't know you had binaries. Could've saved me some time, but hey, I learned a lot! Thanks for your help!

Edig commented

Hello @kozyilmaz.

I have the same errors than @soyary I fixed it the way you told. (The patch didn't work, but I modify the code myself)

but now I have no-supported error

nvcc fatal   : The version ('80100') of the host compiler ('Apple clang') is not supported
CMake Error at cuda_djezo_generated_equi_miner.cu.o.cmake:222 (message):
  Error generating
  /Users/eduardo/Desktop/nheqminer-macos/nheqminer/nheqminer-gpu/cuda_djezo/CMakeFiles/cuda_djezo.dir//./cuda_djezo_generated_equi_miner.cu.o


make[5]: *** [cuda_djezo/CMakeFiles/cuda_djezo.dir/cuda_djezo_generated_equi_miner.cu.o] Error 1
make[4]: *** [cuda_djezo/CMakeFiles/cuda_djezo.dir/all] Error 2
make[3]: *** [all] Error 2
make[2]: *** [nheqminer_build] Error 2
make[1]: *** [build] Error 1
make: *** [nheqminer_all] Error 2

Graphic card:
NVIDIA GeForce GT 750M 2048 MB
Intel Iris Pro 1536 MB

BTW: I also modify the makefile with this

OSX_CUDA_GCC := $(shell clang --version | grep clang-802.0.42)

my clang is that no 800

UPDATED:
I shouldn't change teh clang version, Apple updated the clang version on XCODE 8.3 and NVIDIA doesn't not supported. I just download the command line tools for xcode 8.2 and it work great

make errors are resolved, clock_gettime() issues fixed, pkg-config patched. Others issues are tracked separately