-
Notifications
You must be signed in to change notification settings - Fork 312
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Problem building on OS X #201
Comments
I think you are the first person trying to compile it under OSX. |
I appreciate you trying, but because this is not intended for OS X, I understand if you don't want to spend your time on this. In case you're interested, here are the new errors...
|
Oops, I fixed the typo with another typo. Lol. |
I this fails, I'll try with gcc7. |
So both clang and gcc fail similarly. Now they are complaining that they can't find nvcc. This is odd to me, because it is in my path. It seems to be looking for it in bin/sh for some reason. Is there a configure option to change this? I tried '--nvcc-prefix=/usr/local/cuda/bin/', but that was a no-go.
|
Maybe |
That gets me past that issue. Now I'm dealing with an issue that still involves clang somehow. This may be a problem on my end that I will need to solve to get past. I am executing the configure/build with gcc, but it still gives me this message.
My build argument is
I wonder if nvcc is compiled by clang and I'm just out of luck. |
I think the CUDA 8 Toolkit doesn't work with this version. |
Thanks. This is very helpful. I guess it's time I upgrade to High Sierra so I can get CUDA 9.1. Once I do that I'll report back. |
Well a new OS, and a new set of problems. It won't go pas the configure phase now. Now I'm getting
A bit of Googling suggests this is often caused by not having pkgconfig installed, but I do. This is probably specific to my system, so I'm going to do some more digging. |
OK, it was a curl dependency issue. Now it reaches the build phase. I'm now getting some errors related to swab32.
|
Oh, I see. |
That is strange, because it did that even when compiling with gcc7. It seems to be getting much further, but I have a new error now:
|
I’ve successfully compiled tpruvot’s version of ccminer on macos with cuda 9.1. Perhaps you can compare cu files and find a diff causing the error. |
Looks like there are modified configure.ac and Makefile.am I think C++11 is probably not enabled if you get the error "thread-local variable cannot be dynamically initialized" because then GCC thinks nullptr is a variable. |
Please try it again with clang |
Still fails... here is the code. I will also make sure I am using the correct C++ library.
|
Look like I am using libc++, which supports C++11 if I am not mistaken. |
I think you need the |
When I set with -std=c++11 I get a similar error. To be clear, should I still have -stdlib=libc++ set as a cxx flag?
|
Try -std=c++11 as a nvcc option. |
Thanks. Sorry, I know little about this stuff. How do I add that as an nvcc option? |
Did you try the build.sh script? |
I did not. I will look that over tomorrow. Thanks. |
I did not see any cuda options in build.sh, but I saw some cuda configuration options in configure.sh. I added -std=c++11 after Xcompiler, but it still isn't putting it in nvcc's build commands. Do you know the proper way to set this? Or do I need to manually edit build.sh or the Makefile somehow.
But build command is:
|
Although I'm looking at this, and I'm noticing it is looking for libnvidia-ml.so, which as far as I know doesn't come with the Mac CUDA drivers. I believe the proper library is libcuda.dylib on a Mac, but I'll need to do more research. |
Under Linux the build.sh script is working as it is, no need to add -std=c++11 there |
OK, so I managed to get -std=c++11 into nvcc by editing Makefile.am like here:
Now it is complaining it can't find libomp, which is strange because I have it installed, so I will figure out what's going on there and let you know. And I also thought I'd let you know that you are the most dedicated maintainer that I have ever come across. We are at 28 comments at this point, and you have been very patient with someone that knows very little about C++, CUDA, and Automake. You may be at Saint-like status at this point. Thanks. |
I had to hack in my noncompliant openmp directory into Makefile.am as:
but it built! There are a few rpath issues I'm gonna have to fix, but I think we can call this solved. I'm gonna fork this, and hopefully never have to worry about it again. And again, I can't thank you enough. Thanks for all your help. |
At the risk of embarrassing myself, would the following message mean that the GTX 650 😬 isn't supported? Or is something not right with my install?
|
I think neoscrypt is broken for these kind of old cards, but when you want to test it you could make two small changes: ccminer/neoscrypt/neoscrypt.cu Line 46 in b335208
remove the = and in this line: Line 141 in b335208
add -gencode=arch=compute_30,code=sm_30
|
Great! I'll give it a shot. If not, no big deal. I was planning on upgrading soon anyway. |
Unfortunately, it won't build with these changes. Thanks anyway.
|
Just as an update, your changes let me run ccminer when I used a newer video card (GTX1070). |
I am trying to build this on OS X but it is throwing a couple errors. I tried setting the --no-cpu-verify option but that wasn't even an option in ./configure --help. Does anyone know what the problem is? I'm using the windows-master distribution as that is what is recommended for *nix systems on Cuda 8.
The text was updated successfully, but these errors were encountered: