johguse / profanity

Vanity address generator for Ethereum
836 stars 334 forks source link

Can the linux version work on mac? #24

Open hatgit opened 5 years ago

hatgit commented 5 years ago

I've tried to run some of the Profanity .cpp files using g++ from the terminal on Mac OS but encountered errors. Is there a way to run this code on a Mac Book Pro?

johguse commented 5 years ago

I don't have a Mac nor am I particularly familiar with it, but I think your best shot is to try and compile using the included Makefile. Just run make in the profanity folder.

hatgit commented 5 years ago

Thanks @johguse for the help, I tired running make and although the output file .o was created along with other .o files, I got the following long error with 18 warnings (and then I proceeded to try to open with g++ the profanity.o file which I also pasted the output from that command further below as it seems to have produced a separate error :

profanity Steven$ make
g++ -c -std=c++11 -Wall -mmmx -O2  Dispatcher.cpp -o Dispatcher.o
In file included from Dispatcher.cpp:1:
In file included from ./Dispatcher.hpp:18:
./CLMemory.hpp:25:23: warning: 'clSetKernelArg' is deprecated: first deprecated
      in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this warning)
      [-Wdeprecated-declarations]
                        const cl_int ret = clSetKernelArg(clKernel, arg_...
                                           ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:833:1: note: 
      'clSetKernelArg' has been explicitly marked deprecated here
clSetKernelArg(cl_kernel    /* kernel */,
^
In file included from Dispatcher.cpp:1:
In file included from ./Dispatcher.hpp:18:
./CLMemory.hpp:32:23: warning: 'clSetKernelArg' is deprecated: first deprecated
      in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this warning)
      [-Wdeprecated-declarations]
                        const cl_int ret = clSetKernelArg(clKernel, arg_...
                                           ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:833:1: note: 
      'clSetKernelArg' has been explicitly marked deprecated here
clSetKernelArg(cl_kernel    /* kernel */,
^
Dispatcher.cpp:60:2: warning: 'clWaitForEvents' is deprecated: first deprecated
      in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this warning)
      [-Wdeprecated-declarations]
        clWaitForEvents(1, &e);
        ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:863:1: note: 
      'clWaitForEvents' has been explicitly marked deprecated here
clWaitForEvents(cl_uint             /* num_events */,
^
Dispatcher.cpp:61:2: warning: 'clGetEventProfilingInfo' is deprecated: first
      deprecated in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this
      warning) [-Wdeprecated-declarations]
        clGetEventProfilingInfo(e, CL_PROFILING_COMMAND_START, sizeof(ti...
        ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:895:1: note: 
      'clGetEventProfilingInfo' has been explicitly marked deprecated here
clGetEventProfilingInfo(cl_event            /* event */,
^
Dispatcher.cpp:62:2: warning: 'clGetEventProfilingInfo' is deprecated: first
      deprecated in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this
      warning) [-Wdeprecated-declarations]
        clGetEventProfilingInfo(e, CL_PROFILING_COMMAND_END, sizeof(time...
        ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:895:1: note: 
      'clGetEventProfilingInfo' has been explicitly marked deprecated here
clGetEventProfilingInfo(cl_event            /* event */,
^
Dispatcher.cpp:84:34: warning: implicit conversion of NULL constant to
      'cl_command_queue_properties' (aka 'unsigned long long')
      [-Wnull-conversion]
        cl_command_queue_properties p = NULL;
                                    ~   ^~~~
                                        0
Dispatcher.cpp:90:31: warning: 'clCreateCommandQueue' is deprecated: first
      deprecated in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this
      warning) [-Wdeprecated-declarations]
        const cl_command_queue ret = clCreateCommandQueue(clContext, clD...
                                     ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:641:1: note: 
      'clCreateCommandQueue' has been explicitly marked deprecated here
clCreateCommandQueue(cl_context                     /* context */, 
^
Dispatcher.cpp:96:19: warning: 'clCreateKernel' is deprecated: first deprecated
      in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this warning)
      [-Wdeprecated-declarations]
        cl_kernel ret  = clCreateKernel(clProgram, s.c_str(), NULL);
                         ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:816:1: note: 
      'clCreateKernel' has been explicitly marked deprecated here
clCreateKernel(cl_program      /* program */,
^
Dispatcher.cpp:170:20: warning: 'clCreateUserEvent' is deprecated: first
      deprecated in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this
      warning) [-Wdeprecated-declarations]
        m_eventFinished = clCreateUserEvent(m_clContext, NULL);
                          ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:874:1: note: 
      'clCreateUserEvent' has been explicitly marked deprecated here
clCreateUserEvent(cl_context    /* context */,
^
Dispatcher.cpp:192:2: warning: 'clWaitForEvents' is deprecated: first deprecated
      in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this warning)
      [-Wdeprecated-declarations]
        clWaitForEvents(1, &m_eventFinished);
        ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:863:1: note: 
      'clWaitForEvents' has been explicitly marked deprecated here
clWaitForEvents(cl_uint             /* num_events */,
^
Dispatcher.cpp:193:2: warning: 'clReleaseEvent' is deprecated: first deprecated
      in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this warning)
      [-Wdeprecated-declarations]
        clReleaseEvent(m_eventFinished);
        ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:881:1: note: 
      'clReleaseEvent' has been explicitly marked deprecated here
clReleaseEvent(cl_event /* event */) CL_API_SUFFIX__VERSION_1_0 CL_DEPRE...
^
Dispatcher.cpp:213:20: warning: 'clCreateUserEvent' is deprecated: first
      deprecated in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this
      warning) [-Wdeprecated-declarations]
                pInitEvents[i] = clCreateUserEvent(m_clContext, NULL);
                                 ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:874:1: note: 
      'clCreateUserEvent' has been explicitly marked deprecated here
clCreateUserEvent(cl_context    /* context */,
^
Dispatcher.cpp:218:2: warning: 'clWaitForEvents' is deprecated: first deprecated
      in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this warning)
      [-Wdeprecated-declarations]
        clWaitForEvents(deviceCount, pInitEvents);
        ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:863:1: note: 
      'clWaitForEvents' has been explicitly marked deprecated here
clWaitForEvents(cl_uint             /* num_events */,
^
Dispatcher.cpp:221:3: warning: 'clReleaseEvent' is deprecated: first deprecated
      in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this warning)
      [-Wdeprecated-declarations]
                clReleaseEvent(pInitEvents[i]);
                ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:881:1: note: 
      'clReleaseEvent' has been explicitly marked deprecated here
clReleaseEvent(cl_event /* event */) CL_API_SUFFIX__VERSION_1_0 CL_DEPRE...
^
Dispatcher.cpp:285:27: warning: 'clEnqueueNDRangeKernel' is deprecated: first
      deprecated in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this
      warning) [-Wdeprecated-declarations]
                const auto resEnqueue = clEnqueueNDRangeKernel(d.m_clQue...
                                        ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:1113:1: note: 
      'clEnqueueNDRangeKernel' has been explicitly marked deprecated here
clEnqueueNDRangeKernel(cl_command_queue /* command_queue */,
^
Dispatcher.cpp:294:3: warning: 'clFlush' is deprecated: first deprecated in
      macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this warning)
      [-Wdeprecated-declarations]
                clFlush(d.m_clQueue); 
                ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:903:1: note: 
      'clFlush' has been explicitly marked deprecated here
clFlush(cl_command_queue /* command_queue */) CL_API_SUFFIX__VERSION_1_...
^
Dispatcher.cpp:300:28: warning: 'clSetEventCallback' is deprecated: first
      deprecated in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this
      warning) [-Wdeprecated-declarations]
                const auto resCallback = clSetEventCallback(event, CL_CO...
                                         ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:888:1: note: 
      'clSetEventCallback' has been explicitly marked deprecated here
clSetEventCallback( cl_event    /* event */,
^
Dispatcher.cpp:306:3: warning: 'clSetUserEventStatus' is deprecated: first
      deprecated in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this
      warning) [-Wdeprecated-declarations]
                clSetUserEventStatus(d.m_eventFinished, CL_COMPLETE);
                ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:884:1: note: 
      'clSetUserEventStatus' has been explicitly marked deprecated here
clSetUserEventStatus(cl_event   /* event */,
^
Dispatcher.cpp:316:20: warning: 'clEnqueueNDRangeKernel' is deprecated: first
      deprecated in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this
      warning) [-Wdeprecated-declarations]
                const auto res = clEnqueueNDRangeKernel(clQueue, clKerne...
                                 ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:1113:1: note: 
      'clEnqueueNDRangeKernel' has been explicitly marked deprecated here
clEnqueueNDRangeKernel(cl_command_queue /* command_queue */,
^
Dispatcher.cpp:360:2: warning: 'clFlush' is deprecated: first deprecated in
      macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this warning)
      [-Wdeprecated-declarations]
        clFlush(d.m_clQueue);
        ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:903:1: note: 
      'clFlush' has been explicitly marked deprecated here
clFlush(cl_command_queue /* command_queue */) CL_API_SUFFIX__VERSION_1_...
^
Dispatcher.cpp:370:19: warning: 'clSetEventCallback' is deprecated: first
      deprecated in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this
      warning) [-Wdeprecated-declarations]
        const auto res = clSetEventCallback(event, CL_COMPLETE, staticCa...
                         ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:888:1: note: 
      'clSetEventCallback' has been explicitly marked deprecated here
clSetEventCallback( cl_event    /* event */,
^
Dispatcher.cpp:417:6: warning: 'clSetUserEventStatus' is deprecated: first
      deprecated in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this
      warning) [-Wdeprecated-declarations]
                                        clSetUserEventStatus(m_eventFini...
                                        ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:884:1: note: 
      'clSetUserEventStatus' has been explicitly marked deprecated here
clSetUserEventStatus(cl_event   /* event */,
^
Dispatcher.cpp:451:2: warning: 'clReleaseEvent' is deprecated: first deprecated
      in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this warning)
      [-Wdeprecated-declarations]
        clReleaseEvent(event);
        ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:881:1: note: 
      'clReleaseEvent' has been explicitly marked deprecated here
clReleaseEvent(cl_event /* event */) CL_API_SUFFIX__VERSION_1_0 CL_DEPRE...
^
In file included from Dispatcher.cpp:1:
In file included from ./Dispatcher.hpp:18:
./CLMemory.hpp:10:15: warning: 'clCreateBuffer' is deprecated: first deprecated
      in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this warning)
      [-Wdeprecated-declarations]
                         m_clMem = clCreateBuffer(clContext, flags, m_si...
                                   ^
Dispatcher.cpp:135:2: note: in instantiation of member function
      'CLMemory<point>::CLMemory' requested here
        m_memPrecomp(clContext, m_clQueue, CL_MEM_READ_ONLY | CL_MEM_HOS...
        ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:661:1: note: 
      'clCreateBuffer' has been explicitly marked deprecated here
clCreateBuffer(cl_context   /* context */,
^
In file included from Dispatcher.cpp:1:
In file included from ./Dispatcher.hpp:18:
./CLMemory.hpp:15:14: warning: 'clCreateBuffer' is deprecated: first deprecated
      in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this warning)
      [-Wdeprecated-declarations]
                        m_clMem = clCreateBuffer(clContext, flags, m_siz...
                                  ^
Dispatcher.cpp:136:2: note: in instantiation of member function
      'CLMemory<mp_number>::CLMemory' requested here
        m_memPointsDeltaX(clContext, m_clQueue, CL_MEM_READ_WRITE | CL_M...
        ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:661:1: note: 
      'clCreateBuffer' has been explicitly marked deprecated here
clCreateBuffer(cl_context   /* context */,
^
In file included from Dispatcher.cpp:1:
In file included from ./Dispatcher.hpp:18:
./CLMemory.hpp:15:14: warning: 'clCreateBuffer' is deprecated: first deprecated
      in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this warning)
      [-Wdeprecated-declarations]
                        m_clMem = clCreateBuffer(clContext, flags, m_siz...
                                  ^
Dispatcher.cpp:139:2: note: in instantiation of member function
      'CLMemory<result>::CLMemory' requested here
        m_memResult(clContext, m_clQueue, CL_MEM_READ_WRITE | CL_MEM_HOS...
        ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:661:1: note: 
      'clCreateBuffer' has been explicitly marked deprecated here
clCreateBuffer(cl_context   /* context */,
^
In file included from Dispatcher.cpp:1:
In file included from ./Dispatcher.hpp:18:
./CLMemory.hpp:15:14: warning: 'clCreateBuffer' is deprecated: first deprecated
      in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this warning)
      [-Wdeprecated-declarations]
                        m_clMem = clCreateBuffer(clContext, flags, m_siz...
                                  ^
Dispatcher.cpp:140:2: note: in instantiation of member function
      'CLMemory<unsigned char>::CLMemory' requested here
        m_memData1(clContext, m_clQueue, CL_MEM_READ_ONLY | CL_MEM_HOST_...
        ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:661:1: note: 
      'clCreateBuffer' has been explicitly marked deprecated here
clCreateBuffer(cl_context   /* context */,
^
In file included from Dispatcher.cpp:1:
In file included from ./Dispatcher.hpp:18:
./CLMemory.hpp:48:15: warning: 'clEnqueueWriteBuffer' is deprecated: first
      deprecated in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this
      warning) [-Wdeprecated-declarations]
                        auto res = clEnqueueWriteBuffer(m_clQueue, m_clM...
                                   ^
Dispatcher.cpp:237:17: note: in instantiation of member function
      'CLMemory<point>::write' requested here
        d.m_memPrecomp.write(true);
                       ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:937:1: note: 
      'clEnqueueWriteBuffer' has been explicitly marked deprecated here
clEnqueueWriteBuffer(cl_command_queue   /* command_queue */, 
^
In file included from Dispatcher.cpp:1:
In file included from ./Dispatcher.hpp:18:
./CLMemory.hpp:48:15: warning: 'clEnqueueWriteBuffer' is deprecated: first
      deprecated in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this
      warning) [-Wdeprecated-declarations]
                        auto res = clEnqueueWriteBuffer(m_clQueue, m_clM...
                                   ^
Dispatcher.cpp:238:15: note: in instantiation of member function
      'CLMemory<unsigned char>::write' requested here
        d.m_memData1.write(true);
                     ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:937:1: note: 
      'clEnqueueWriteBuffer' has been explicitly marked deprecated here
clEnqueueWriteBuffer(cl_command_queue   /* command_queue */, 
^
In file included from Dispatcher.cpp:1:
In file included from ./Dispatcher.hpp:18:
./CLMemory.hpp:40:15: warning: 'clEnqueueReadBuffer' is deprecated: first
      deprecated in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this
      warning) [-Wdeprecated-declarations]
                        auto res = clEnqueueReadBuffer(m_clQueue, m_clMe...
                                   ^
Dispatcher.cpp:342:16: note: in instantiation of member function
      'CLMemory<result>::read' requested here
        d.m_memResult.read(false, &event);
                      ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:910:1: note: 
      'clEnqueueReadBuffer' has been explicitly marked deprecated here
clEnqueueReadBuffer(cl_command_queue    /* command_queue */,
^
30 warnings generated.
g++ -c -std=c++11 -Wall -mmmx -O2  Mode.cpp -o Mode.o
g++ -c -std=c++11 -Wall -mmmx -O2  precomp.cpp -o precomp.o
g++ -c -std=c++11 -Wall -mmmx -O2  profanity.cpp -o profanity.o
In file included from profanity.cpp:23:
In file included from ./Dispatcher.hpp:18:
./CLMemory.hpp:25:23: warning: 'clSetKernelArg' is deprecated: first deprecated
      in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this warning)
      [-Wdeprecated-declarations]
                        const cl_int ret = clSetKernelArg(clKernel, arg_...
                                           ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:833:1: note: 
      'clSetKernelArg' has been explicitly marked deprecated here
clSetKernelArg(cl_kernel    /* kernel */,
^
In file included from profanity.cpp:23:
In file included from ./Dispatcher.hpp:18:
./CLMemory.hpp:32:23: warning: 'clSetKernelArg' is deprecated: first deprecated
      in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this warning)
      [-Wdeprecated-declarations]
                        const cl_int ret = clSetKernelArg(clKernel, arg_...
                                           ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:833:1: note: 
      'clSetKernelArg' has been explicitly marked deprecated here
clSetKernelArg(cl_kernel    /* kernel */,
^
profanity.cpp:41:2: warning: 'clGetPlatformIDs' is deprecated: first deprecated
      in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this warning)
      [-Wdeprecated-declarations]
        clGetPlatformIDs (0, NULL, &platformIdCount);
        ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:571:1: note: 
      'clGetPlatformIDs' has been explicitly marked deprecated here
clGetPlatformIDs(cl_uint          /* num_entries */,
^
profanity.cpp:44:2: warning: 'clGetPlatformIDs' is deprecated: first deprecated
      in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this warning)
      [-Wdeprecated-declarations]
        clGetPlatformIDs (platformIdCount, platformIds.data (), NULL);
        ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:571:1: note: 
      'clGetPlatformIDs' has been explicitly marked deprecated here
clGetPlatformIDs(cl_uint          /* num_entries */,
^
profanity.cpp:48:3: warning: 'clGetDeviceIDs' is deprecated: first deprecated in
      macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this warning)
      [-Wdeprecated-declarations]
                clGetDeviceIDs(*it, deviceType, 0, NULL, &countDevice);
                ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:584:1: note: 
      'clGetDeviceIDs' has been explicitly marked deprecated here
clGetDeviceIDs(cl_platform_id   /* platform */,
^
profanity.cpp:51:3: warning: 'clGetDeviceIDs' is deprecated: first deprecated in
      macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this warning)
      [-Wdeprecated-declarations]
                clGetDeviceIDs(*it, deviceType, countDevice, deviceIds.d...
                ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:584:1: note: 
      'clGetDeviceIDs' has been explicitly marked deprecated here
clGetDeviceIDs(cl_platform_id   /* platform */,
^
profanity.cpp:96:43: warning: 'clGetProgramInfo' is deprecated: first deprecated
      in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this warning)
      [-Wdeprecated-declarations]
        auto vSizes = clGetWrapperVector<size_t>(clGetProgramInfo, clPro...
                                                 ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:800:1: note: 
      'clGetProgramInfo' has been explicitly marked deprecated here
clGetProgramInfo(cl_program         /* program */,
^
profanity.cpp:103:3: warning: 'clGetProgramInfo' is deprecated: first deprecated
      in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this warning)
      [-Wdeprecated-declarations]
                clGetProgramInfo(clProgram, CL_PROGRAM_BINARIES, vSizes....
                ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:800:1: note: 
      'clGetProgramInfo' has been explicitly marked deprecated here
clGetProgramInfo(cl_program         /* program */,
^
profanity.cpp:123:39: warning: 'clGetDeviceInfo' is deprecated: first deprecated
      in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this warning)
      [-Wdeprecated-declarations]
        cl_int bus_id = clGetWrapper<cl_int>(clGetDeviceInfo, deviceId, ...
                                             ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:591:1: note: 
      'clGetDeviceInfo' has been explicitly marked deprecated here
clGetDeviceInfo(cl_device_id    /* device */,
^
profanity.cpp:124:40: warning: 'clGetDeviceInfo' is deprecated: first deprecated
      in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this warning)
      [-Wdeprecated-declarations]
        cl_int slot_id = clGetWrapper<cl_int>(clGetDeviceInfo, deviceId...
                                              ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:591:1: note: 
      'clGetDeviceInfo' has been explicitly marked deprecated here
clGetDeviceInfo(cl_device_id    /* device */,
^
profanity.cpp:250:44: warning: 'clGetDeviceInfo' is deprecated: first deprecated
      in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this warning)
      [-Wdeprecated-declarations]
                        const auto strName = clGetWrapperString(clGetDev...
                                                                ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:591:1: note: 
      'clGetDeviceInfo' has been explicitly marked deprecated here
clGetDeviceInfo(cl_device_id    /* device */,
^
profanity.cpp:251:52: warning: 'clGetDeviceInfo' is deprecated: first deprecated
      in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this warning)
      [-Wdeprecated-declarations]
  ...const auto computeUnits = clGetWrapper<cl_uint>(clGetDeviceInfo, deviceI...
                                                     ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:591:1: note: 
      'clGetDeviceInfo' has been explicitly marked deprecated here
clGetDeviceInfo(cl_device_id    /* device */,
^
profanity.cpp:252:54: warning: 'clGetDeviceInfo' is deprecated: first deprecated
      in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this warning)
      [-Wdeprecated-declarations]
  ...const auto globalMemSize = clGetWrapper<cl_ulong>(clGetDeviceInfo, devic...
                                                       ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:591:1: note: 
      'clGetDeviceInfo' has been explicitly marked deprecated here
clGetDeviceInfo(cl_device_id    /* device */,
^
profanity.cpp:277:20: warning: 'clCreateContext' is deprecated: first deprecated
      in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this warning)
      [-Wdeprecated-declarations]
                auto clContext = clCreateContext( NULL, vDevices.size()...
                                 ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:612:1: note: 
      'clCreateContext' has been explicitly marked deprecated here
clCreateContext(const cl_context_properties * /* properties */,
^
profanity.cpp:295:16: warning: 'clCreateProgramWithBinary' is deprecated: first
      deprecated in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this
      warning) [-Wdeprecated-declarations]
                        clProgram = clCreateProgramWithBinary(clContext...
                                    ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:744:1: note: 
      'clCreateProgramWithBinary' has been explicitly marked deprecated here
clCreateProgramWithBinary(cl_context                     /* context */,
^
profanity.cpp:306:16: warning: 'clCreateProgramWithSource' is deprecated: first
      deprecated in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this
      warning) [-Wdeprecated-declarations]
                        clProgram = clCreateProgramWithSource(clContext...
                                    ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:737:1: note: 
      'clCreateProgramWithSource' has been explicitly marked deprecated here
clCreateProgramWithSource(cl_context        /* context */,
^
profanity.cpp:315:19: warning: 'clBuildProgram' is deprecated: first deprecated
      in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this warning)
      [-Wdeprecated-declarations]
                if (printResult(clBuildProgram(clProgram, vDevices.size(...
                                ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:766:1: note: 
      'clBuildProgram' has been explicitly marked deprecated here
clBuildProgram(cl_program           /* program */,
^
profanity.cpp:350:3: warning: 'clReleaseContext' is deprecated: first deprecated
      in macOS 10.14 - (Define CL_SILENCE_DEPRECATION to hide this warning)
      [-Wdeprecated-declarations]
                clReleaseContext(clContext);
                ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:630:1: note: 
      'clReleaseContext' has been explicitly marked deprecated here
clReleaseContext(cl_context /* context */) CL_API_SUFFIX__VERSION_1_0 CL...
^
18 warnings generated.
g++ -c -std=c++11 -Wall -mmmx -O2  SpeedSample.cpp -o SpeedSample.o
g++ Dispatcher.o Mode.o precomp.o profanity.o SpeedSample.o -framework OpenCL -o profanity.x64

Errors from running g++ profanity.o

Undefined symbols for architecture x86_64:
  "Dispatcher::run()", referenced from:
      _main in profanity.o
  "Dispatcher::addDevice(_cl_device_id*, unsigned long, unsigned long)", referenced from:
      _main in profanity.o
  "Dispatcher::Dispatcher(_cl_context*&, _cl_program*&, Mode, unsigned long, unsigned long, unsigned long, unsigned char)", referenced from:
      _main in profanity.o
  "Dispatcher::~Dispatcher()", referenced from:
      _main in profanity.o
  "Mode::leadingRange(unsigned char, unsigned char)", referenced from:
      _main in profanity.o
  "Mode::range(unsigned char, unsigned char)", referenced from:
      _main in profanity.o
  "Mode::zeros()", referenced from:
      _main in profanity.o
  "Mode::mirror()", referenced from:
      _main in profanity.o
  "Mode::doubles()", referenced from:
      _main in profanity.o
  "Mode::leading(char)", referenced from:
      _main in profanity.o
  "Mode::letters()", referenced from:
      _main in profanity.o
  "Mode::numbers()", referenced from:
      _main in profanity.o
  "Mode::matching(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >)", referenced from:
      _main in profanity.o
  "Mode::benchmark()", referenced from:
      _main in profanity.o
  "Mode::transformName() const", referenced from:
      _main in profanity.o
  "_clBuildProgram", referenced from:
      _main in profanity.o
  "_clCreateContext", referenced from:
      _main in profanity.o
  "_clCreateProgramWithBinary", referenced from:
      _main in profanity.o
  "_clCreateProgramWithSource", referenced from:
      _main in profanity.o
  "_clGetDeviceIDs", referenced from:
      getAllDevices(unsigned long long) in profanity.o
  "_clGetDeviceInfo", referenced from:
      getUniqueDeviceIdentifier(_cl_device_id* const&) in profanity.o
      getDeviceCacheFilename(_cl_device_id*&, unsigned long const&) in profanity.o
      _main in profanity.o
  "_clGetPlatformIDs", referenced from:
      getAllDevices(unsigned long long) in profanity.o
  "_clGetProgramInfo", referenced from:
      getBinaries(_cl_program*&) in profanity.o
  "_clReleaseContext", referenced from:
      _main in profanity.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
profanity Steven$ 
johguse commented 5 years ago

Okay. I think the make command was successful. Do you now have a profanity.x64 file in your folder? You can run it via ./profanity.x64. If you get permission errors you'll probably have to do chmod +x profanity.x64 first.

hatgit commented 5 years ago

Thanks again, great thing is that worked! Even though there were a few errors, it seems the program is running but exits with an abort trap: 6 code when it tries to initialize devices (and starts loading 0% then 10% but then aborts), even after reducing the inverse-multiple by half to 8192 and then 4000, then 2000, (and running the chmod +x command). The example parameters I was trying to pass were: ./profanity.x64 --matching 0000 -I 8192but then It finally worked and found the first private key for a matching address when I reduced -ito 128 and I to 1000!

OSoup commented 5 years ago

Why do you reduce i and I? On windows, when I set your values the speed drops by half.

johguse commented 5 years ago

He had to reduce them to get it running on his computer without it crashing with abort trap: 6. The amount of video memory used is around K * i * I bytes where K is a constant with a value around 64 bytes. With -i=128 and -I=1000 it ends up at around 8 megabytes which is not much at all.

I would be surprised if the limitation he's encountering is due to insufficient video memory, even on a laptop, at least if 8 megabytes is the limit.

There's another limitation that affects -i which is the maximum amount of private memory available to each work-item in OpenCL. A buffer of 256-bit numbers with size -i is allocated in a kernel that performs modular inversions. If the value of -i is too high the kernel would crash I'm fairly sure.

However, this kernel isn't used during the initialization phase so this cannot be the reason.

@hatgit, could you give some more details about your laptop's graphics card?

hatgit commented 5 years ago

On a mid-2014 Macbook Pro running a Intel Iris Pro 1536 MB video card, also while the program is running/searching for addresses it shows warning: local work size abandoned on GPU0 but on the next line Total: 615.000 KH/s - GPU0 615.000( I am guessing these are 615 kilo hashes per sec). [Update] On a different device with the same parameters but tweaked to -i 192 -I 1280 I don't get the above warning and the hash rate is much higher at 3.5 Milli-Hash per sec, using an Intel HD Graphics 515 1536 mb.

[Update 2] I finally got the hash rate higher on the Macbook Pro also, and no warning message, I think it had to do with the values ofi& I(which I incremented by 64 or 256 or other powers of 2)

hatgit commented 5 years ago

Question: What would be the best way to write a command to generate an address with 10 leading 0 hex characters? I was using this but no results after a full week: ./profanity.x64 --benchmark  --matching 0000000000XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -i 192 -I 1280 

p.s. I also noticed opencl caches leftover in the directory folder which I deleted,.

k06a commented 5 years ago

@hatgit you did it on Mac? Is it working for shorter patterns?

johguse commented 5 years ago

@hatgit You're supplying two modes, benchmark and matching. In this case benchmark takes precedence. Benchmark does nothing but just run and run and run and is only a dummy mode for me to evaluate performance. Remove it and you'll find your matches.

The expected time to find a match of length 10 is 16^10 / (10^6 * hashRateInMH) seconds. So if you have a speed of 100MH/s it should take ~3 hours. 50MH/s would take 6 hours, 25 MH/s 12 hours and so on.

EDIT: All times are expected averages of course.

hatgit commented 5 years ago

Thanks @johguse, removing benchmark, and the math I am using is similar I think (10^6/(Mh*60*60*24)=days, where 2Mh takes 6.36 days). @k06a Yes, have generated numerous matches with private keys found. Glad it is finally working for me on Mac, even though the speed is slower due to whatever graphic card limitation I am having. It runs at about 1.5 to 3.5 Mh/s depending on if I am doing other concurrent things.

avik24 commented 5 years ago

@johguse Good day! Could i contact with you somehow? i've send an e-mail but no response(