Chlorine
Chlorine copied to clipboard
Build Failures on VS 2017
Setup:
C:\Workarea>git clone https://github.com/Polytonic/Chlorine Cloning into 'Chlorine'... remote: Counting objects: 1603, done. remote: Total 1603 (delta 0), reused 0 (delta 0), pack-reused 1603R Receiving objects: 100% (1603/1603), 978.40 KiB | 3.34 MiB/s, done. Resolving deltas: 100% (842/842), done.
C:\Workarea>cd Chlorine
C:\Workarea\Chlorine>cmake -G "Visual Studio 15 2017 Win64" -- Selecting Windows SDK version 10.0.16299.0 to target Windows 10.0.17134. -- The C compiler identification is MSVC 19.12.25830.2 -- The CXX compiler identification is MSVC 19.12.25830.2 -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.12.25827/bin/Hostx86/x64/cl.exe -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.12.25827/bin/Hostx86/x64/cl.exe -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.12.25827/bin/Hostx86/x64/cl.exe -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.12.25827/bin/Hostx86/x64/cl.exe -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) -- Looking for CL_VERSION_2_2 -- Looking for CL_VERSION_2_2 - not found -- Looking for CL_VERSION_2_1 -- Looking for CL_VERSION_2_1 - not found -- Looking for CL_VERSION_2_0 -- Looking for CL_VERSION_2_0 - not found -- Looking for CL_VERSION_1_2 -- Looking for CL_VERSION_1_2 - found -- Found OpenCL: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v8.0/lib/x64/OpenCL.lib (found version "1.2") -- Configuring done -- Generating done -- Build files have been written to: C:/Workarea/Chlorine
C:\Workarea\Chlorine>
Opened Chlorine.sln and hit build:
1>------ Build started: Project: ZERO_CHECK, Configuration: Debug x64 ------ 1>Checking Build System 1>CMake does not need to re-run because C:/Workarea/Chlorine/CMakeFiles/generate.stamp is up-to-date. 1>CMake does not need to re-run because C:/Workarea/Chlorine/examples/swap/CMakeFiles/generate.stamp is up-to-date. 1>CMake does not need to re-run because C:/Workarea/Chlorine/examples/mandelbrot/CMakeFiles/generate.stamp is up-to-date. 2>------ Build started: Project: chlorine, Configuration: Debug x64 ------ 2>Building Custom Rule C:/Workarea/Chlorine/CMakeLists.txt 2>CMake does not need to re-run because C:/Workarea/Chlorine/CMakeFiles/generate.stamp is up-to-date. 2>chlorine.cpp 2>C:\Workarea\Chlorine\chlorine\include\chlorine.hpp(31): warning C4068: unknown pragma 2>C:\Workarea\Chlorine\chlorine\include\chlorine.hpp(32): warning C4068: unknown pragma 2>C:\Workarea\Chlorine\chlorine\include\chlorine.hpp(34): warning C4068: unknown pragma 2>C:\Workarea\Chlorine\chlorine\include\chlorine.hpp(169): warning C4244: 'return': conversion from 'cl::detail::param_traitscl::detail::cl_profiling_info,4739::param_type' to 'unsigned int', possible loss of data 2>C:\Workarea\Chlorine\chlorine\include\chlorine.hpp(392): warning C4544: 'argn': default template argument ignored on this template declaration 2>C:\Workarea\Chlorine\chlorine\include\chlorine.hpp(383): note: see declaration of 'argn' 2>C:\Workarea\Chlorine\chlorine\include\chlorine.hpp(392): warning C4544: 'T': default template argument ignored on this template declaration 2>C:\Workarea\Chlorine\chlorine\include\chlorine.hpp(383): note: see declaration of 'T' 2>C:\Workarea\Chlorine\chlorine\include\chlorine.hpp(392): warning C4544: 'Params': default template argument ignored on this template declaration 2>C:\Workarea\Chlorine\chlorine\include\chlorine.hpp(383): note: see declaration of 'Params' 2>C:\Workarea\Chlorine\chlorine\include\chlorine.hpp(414): warning C4544: 'argn': default template argument ignored on this template declaration 2>C:\Workarea\Chlorine\chlorine\include\chlorine.hpp(405): note: see declaration of 'argn' 2>C:\Workarea\Chlorine\chlorine\include\chlorine.hpp(414): warning C4544: 'T': default template argument ignored on this template declaration 2>C:\Workarea\Chlorine\chlorine\include\chlorine.hpp(405): note: see declaration of 'T' 2>C:\Workarea\Chlorine\chlorine\include\chlorine.hpp(414): warning C4544: 'Params': default template argument ignored on this template declaration 2>C:\Workarea\Chlorine\chlorine\include\chlorine.hpp(405): note: see declaration of 'Params' 2>C:\Workarea\Chlorine\chlorine\src\chlorine.cpp(18): warning C4100: 'argv': unreferenced formal parameter 2>C:\Workarea\Chlorine\chlorine\src\chlorine.cpp(18): warning C4100: 'argc': unreferenced formal parameter 2>C:\Workarea\Chlorine\chlorine\include\chlorine.hpp(413): error C2668: 'ch::Worker::call': ambiguous call to overloaded function 2>C:\Workarea\Chlorine\chlorine\include\chlorine.hpp(406): note: could be 'cl::Event ch::Worker::call<1,float,>(const std::string &,std::vector<float,std::allocator<_Ty>> &)' 2> with 2> [ 2> _Ty=float 2> ] 2>C:\Workarea\Chlorine\chlorine\include\chlorine.hpp(361): note: or 'cl::Event ch::Worker::call<1,std::vector,float,>(const std::string &,std::vector<float,std::allocator<_Ty>> &)' 2> with 2> [ 2> _Ty=float 2> ] 2>C:\Workarea\Chlorine\chlorine\include\chlorine.hpp(413): note: while trying to match the argument list '(const std::string, std::vector<float,std::allocator<_Ty>>)' 2> with 2> [ 2> _Ty=float 2> ] 2>C:\Workarea\Chlorine\chlorine\src\chlorine.cpp(31): note: see reference to function template instantiation 'cl::Event ch::Worker::call<0,float,std::vector<float,std::allocator<_Ty>>&>(const std::string &,std::vector<_Ty,std::allocator<_Ty>> &,std::vector<_Ty,std::allocator<_Ty>> &)' being compiled 2> with 2> [ 2> _Ty=float 2> ] 2>Done building project "chlorine.vcxproj" -- FAILED. ========== Build: 1 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Hmm. I haven't tried on VS2017. You could try removing the preprocessor guards around the Microsoft specific code in the header and forcing it on.
Kevin,
Thanks. Will check that. I'm super puzzled as to why it looks like it wants a float in there. I suspected type decay, but it seems unlikely. Maybe msvc seeing the array type param as void. I will let you know if I make any progress. It will drive me nuts if I can't figure it out.
Best, Jonathan.
Sent from my iPhone
On Aug 22, 2018, at 7:44 PM, Kevin Fung [email protected] wrote:
Hmm. I haven't tried on VS2017. You could try removing the preprocessor guards around the Microsoft specific code in the header and forcing it on.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.
I won't have access to a Windows computer until the end of next week at the earliest, but please do keep me posted! I'm curious to see what the problem is; maybe it'll be a quick fix when I can get online again.
Just to be upfront though: I'm not putting much time into Chlorine right now as OpenCL 1.x is somewhat outdated.
Yes, ... and this is the part where I learn a bunch of new stuff - to me - about templates ... I'll let you know. Best, Jonathan
On Thu, Aug 23, 2018 at 7:42 PM Kevin Fung [email protected] wrote:
I won't have access to a Windows computer until the end of next week at the earliest, but please do keep me posted! I'm curious to see what the problem is; maybe it'll be a quick fix when I can get online again.
Just to be upfront though: I'm not putting much time into Chlorine right now as OpenCL 1.x is somewhat outdated.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Polytonic/Chlorine/issues/31#issuecomment-415615862, or mute the thread https://github.com/notifications/unsubscribe-auth/AANT0-ebKiXk-c7AHm-XyoDYsRJAwpH7ks5uT0v5gaJpZM4WInkz .