hughperkins / cltorch

An OpenCL backend for torch.
Other
291 stars 26 forks source link

Having trouble installing cltorch on mac #3

Closed pfllo closed 9 years ago

pfllo commented 9 years ago

Hi, when I try to install cltorch with "luarocks install cltorch", I get the following errors:

Linking CXX shared library libTHCl.dylib
Undefined symbols for architecture x86_64:
  "THClKernels* THClKernels::in<unsigned long long>(TensorInfo<unsigned long long>)", referenced from:
      void kernelLaunch_THClTensor_reduceAllPass1<unsigned long long>(THClState*, dim3&, dim3&, unsigned long, int, TensorInfo<unsigned long long> const&, long, float, HasOperator2 const*, HasOperator3 const*, CLWrapper*) in THClReduceAll.cpp.o
      void kernelLaunch_THClTensor_reduceAll<unsigned long long>(THClState*, dim3&, dim3&, unsigned long, int, TensorInfo<unsigned long long> const&, long, float, HasOperator2 const*, HasOperator3 const*, CLWrapper*) in THClReduceAll.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [lib/THCl/libTHCl.dylib] Error 1
make[1]: *** [lib/THCl/CMakeFiles/THCl.dir/all] Error 2
make: *** [all] Error 2

I'm using OS X 10.10.2 and Intel Iris Graphics 6100.

Can you tell me how to fix these errors?

Many thanks!

hughperkins commented 9 years ago

I'm not sure. I guess a .dylib is like an .so , right? So, it is linking the libThCl.dylib so, and it's trying to add in the THClReduceAll.cpp.o object, which is part of libTHCl.dylib, and then it says it's missing ReduceAllPass1 and ReduceAll methods. These are actually templated methods, in the header file THClReduceAll.h, I think. I cant think why it woud work for linux but not mac. Maybe I should try building my code with clang perhaps?

hughperkins commented 9 years ago

Well, I installed clang-3.5, and built cltorch like this (on ubuntu), and it produced a whole bunch of new warnings, that I havent seen before, but it did build:

mkdir build-clang
cd build-clang
export CC=/usr/bin/clang-3.5
export CXX=/usr/bin/clang++-3.5
ccmake ..
make -j 4

Could be something to do wit hthe llvm linker though. Maybe I should try that.

hughperkins commented 9 years ago

What happens if you paste the following at the bottom of lib/THCl/THClReduceAll.cpp, and rebuild? :

template<>
void kernelLaunch_THClTensor_reduceAllPass1<unsigned long long>(
                     THClState* state,
                     dim3 &grid, dim3 &block, size_t smemSize,
                     int ADims,
                     const TensorInfo<unsigned long long> & in,
//                     CLWrapper *in_data,
                     long totalElements,
                     float init,
                     const HasOperator2 *modifyOp,
                     const HasOperator3 *reduceOp,
                     CLWrapper* scratch
    );
template<>
void kernelLaunch_THClTensor_reduceAll(
                     THClState* state,
                     dim3 &grid, dim3 &block, size_t smemSize,
                     int ADims,
                     const TensorInfo<unsigned long long> &in,
//                     CLWrapper *in_data,
                     long totalElements,
                     float init,
                     const HasOperator2 *modifyOp,
                     const HasOperator3 *reduceOp,
                     CLWrapper* devOut
    );
hughperkins commented 9 years ago

Hmmm, those angle brackets in my last comment probably shouldnt be there. Probalby something more like this:

template
void kernelLaunch_THClTensor_reduceAllPass1<unsigned long long>(
                     THClState* state,
                     dim3 &grid, dim3 &block, size_t smemSize,
                     int ADims,
                     const TensorInfo<unsigned long long> & in,
//                     CLWrapper *in_data,
                     long totalElements,
                     float init,
                     const HasOperator2 *modifyOp,
                     const HasOperator3 *reduceOp,
                     CLWrapper* scratch
    );
template
void kernelLaunch_THClTensor_reduceAll<unsigned long long>(
                     THClState* state,
                     dim3 &grid, dim3 &block, size_t smemSize,
                     int ADims,
                     const TensorInfo<unsigned long long> &in,
//                     CLWrapper *in_data,
                     long totalElements,
                     float init,
                     const HasOperator2 *modifyOp,
                     const HasOperator3 *reduceOp,
                     CLWrapper* devOut
    );
pfllo commented 9 years ago

After pasting the code above (without angle brackets), it generated the following errors:

16 warnings generated.
Linking CXX shared library libTHCl.dylib
Undefined symbols for architecture x86_64:
  "void kernelLaunch_THClTensor_reduceAll<unsigned long long>(THClState*, dim3&, dim3&, unsigned long, int, TensorInfo<unsigned long long> const&, long, float, HasOperator2 const*, HasOperator3 const*, CLWrapper*)", referenced from:
      void callReduceAll<unsigned long long>(THClState*, int, TensorInfo<unsigned long long> const&, long, float, HasOperator2 const*, HasOperator3 const*, CLWrapper*) in THClReduceAll.cpp.o
  "void kernelLaunch_THClTensor_reduceAllPass1<unsigned long long>(THClState*, dim3&, dim3&, unsigned long, int, TensorInfo<unsigned long long> const&, long, float, HasOperator2 const*, HasOperator3 const*, CLWrapper*)", referenced from:
      void callReduceAll<unsigned long long>(THClState*, int, TensorInfo<unsigned long long> const&, long, float, HasOperator2 const*, HasOperator3 const*, CLWrapper*) in THClReduceAll.cpp.o
  "void kernelLaunch_THClTensor_reduceAllPass2<unsigned long long>(THClState*, dim3&, dim3&, unsigned long, int, float, HasOperator3 const*, CLWrapper*, CLWrapper*)", referenced from:
      void callReduceAll<unsigned long long>(THClState*, int, TensorInfo<unsigned long long> const&, long, float, HasOperator2 const*, HasOperator3 const*, CLWrapper*) in THClReduceAll.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [lib/THCl/libTHCl.dylib] Error 1
make[1]: *** [lib/THCl/CMakeFiles/THCl.dir/all] Error 2
make: *** [all] Error 2

If I use angle brackets, it says this (3 warnings removed):

13 warnings generated.
Linking CXX shared library libTHCl.dylib
Undefined symbols for architecture x86_64:
  "void kernelLaunch_THClTensor_reduceAll<unsigned long long>(THClState*, dim3&, dim3&, unsigned long, int, TensorInfo<unsigned long long> const&, long, float, HasOperator2 const*, HasOperator3 const*, CLWrapper*)", referenced from:
      void callReduceAll<unsigned long long>(THClState*, int, TensorInfo<unsigned long long> const&, long, float, HasOperator2 const*, HasOperator3 const*, CLWrapper*) in THClReduceAll.cpp.o
  "void kernelLaunch_THClTensor_reduceAllPass1<unsigned long long>(THClState*, dim3&, dim3&, unsigned long, int, TensorInfo<unsigned long long> const&, long, float, HasOperator2 const*, HasOperator3 const*, CLWrapper*)", referenced from:
      void callReduceAll<unsigned long long>(THClState*, int, TensorInfo<unsigned long long> const&, long, float, HasOperator2 const*, HasOperator3 const*, CLWrapper*) in THClReduceAll.cpp.o
  "void kernelLaunch_THClTensor_reduceAllPass2<unsigned long long>(THClState*, dim3&, dim3&, unsigned long, int, float, HasOperator3 const*, CLWrapper*, CLWrapper*)", referenced from:
      void callReduceAll<unsigned long long>(THClState*, int, TensorInfo<unsigned long long> const&, long, float, HasOperator2 const*, HasOperator3 const*, CLWrapper*) in THClReduceAll.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [lib/THCl/libTHCl.dylib] Error 1
make[1]: *** [lib/THCl/CMakeFiles/THCl.dir/all] Error 2
make: *** [all] Error 2
hughperkins commented 9 years ago

Hmmm, thanks. Will ponder a bit.

hughperkins commented 9 years ago

Can you run llvm-nm on your .obj file pleaes, and paste the results here? Something like:

user@pear:~/git/cltorch/build-clang$ llvm-nm-3.5 lib/THCl/CMakeFiles/THCl.dir/THClReduceAll.cpp.o  | grep ReduceAll
0000000000000040 t _GLOBAL__sub_I_THClReduceAll.cpp
0000000000000000 W _Z13callReduceAllIjEvP9THClStateiRK10TensorInfoIT_ElfPK12HasOperator2PK12HasOperator3P9CLWrapper
0000000000000000 W _Z13callReduceAllIyEvP9THClStateiRK10TensorInfoIT_ElfPK12HasOperator2PK12HasOperator3P9CLWrapper
0000000000000000 W _Z21getReduceAllBlockSizeP9THClState
00000000000003b0 T _Z31THClReduceAll_getKernelTemplatev
user@pear:~/git/cltorch/build-clang$ 

Also, if you have nm available, can you do the same thing, but using nm -c instead of llvm-nm?

Ambext commented 9 years ago

Hello, sorry to add issues to issues, but I too have some problem building cltorch, either from luarocks or from your github repository FYI I am running all this on a 27' late 2014 Retina iMac, 4Ghz i7, 16Gb Ram, AMD Radeon R9 295X 4Gb, under Yosemite 10.10.4 (didn't work better for 10.10.3)

With luarocks I can this at the last lines [ 35%] Completed 'EasyCL-external' [ 35%] Built target EasyCL-external make: *\ [all] Error 2

I can send the full log is useful

With a direct build (ie doing git clone --recursive https://github.com/hughperkins/cltorch.git cd cltorch mkdir build cd build cmake .. make )

I get this at the make step

make[2]: * [clBLAS/stamp/clBLAS-external-configure] Error 1 make[1]: * [CMakeFiles/clBLAS-external.dir/all] Error 2 make: *\ [all] Error 2

same, happy to produce the complete log file if useful.

I have been investigating a little bit but with my very limited understanding I haven't figured out much so far.

Thanks heaps for doing all this !

Ambroise.

pfllo commented 9 years ago

Sorry to reply late. I just had some trouble installing llvm due to my network (already fixed).

And sorry again, I don't have the directory "lib/THCl/CMakeFiles" after building the project. Probably because the building process terminated before creating this directory. (not sure)

hughperkins commented 9 years ago

@luo123n. Hmmm, perhaps you can send the reulst of an ls -R? Maybe even zip the whole build directory up, and upload it to somewhere accessible?

hughperkins commented 9 years ago

@Ambext : yes, please send logfiles. Also, try running the bulid command a couple of times, see if it somehow 'goes through' the second time . Sometimes the dpeendnecies dont build in quite hte right order, but hte second pass, they work ok.

Ambext commented 9 years ago

I have tried 10+ times before bothering you believe me ;-)

You will find the two log files attached.

thanks again,

Ambroise.

On 2 Jul 2015, at 20:07, Hugh Perkins notifications@github.com wrote:

@Ambext https://github.com/Ambext : yes, please send logfiles. Also, try running the bulid command a couple of times, see if it somehow 'goes through' the second time . Sometimes the dpeendnecies dont build in quite hte right order, but hte second pass, they work ok.

— Reply to this email directly or view it on GitHub https://github.com/hughperkins/cltorch/issues/3#issuecomment-117988484.

Last login: Thu Jul 2 20:31:10 on ttys000 Exowide:~ mnemonis$ git clone --recursive https://github.com/hughperkins/cltorch.git Cloning into 'cltorch'... remote: Counting objects: 2456, done. remote: Compressing objects: 100% (120/120), done. remote: Total 2456 (delta 131), reused 74 (delta 74), pack-reused 2262 Receiving objects: 100% (2456/2456), 528.07 KiB | 289.00 KiB/s, done. Resolving deltas: 100% (1580/1580), done. Checking connectivity... done. Submodule 'EasyCL' (https://github.com/hughperkins/EasyCL.git) registered for path 'EasyCL' Submodule 'clBLAS' (https://github.com/hughperkins/clBLAS) registered for path 'clMathLibraries/clBLAS' Cloning into 'EasyCL'... remote: Counting objects: 1254, done. remote: Compressing objects: 100% (66/66), done. remote: Total 1254 (delta 35), reused 0 (delta 0), pack-reused 1185 Receiving objects: 100% (1254/1254), 706.61 KiB | 350.00 KiB/s, done. Resolving deltas: 100% (796/796), done. Checking connectivity... done. Submodule path 'EasyCL': checked out 'a03261662d263f14ce8e8e6f4dce1f649b400bd0' Cloning into 'clMathLibraries/clBLAS'... remote: Counting objects: 1978, done. remote: Compressing objects: 100% (25/25), done. remote: Total 1978 (delta 9), reused 0 (delta 0), pack-reused 1953 Receiving objects: 100% (1978/1978), 1.84 MiB | 754.00 KiB/s, done. Resolving deltas: 100% (1224/1224), done. Checking connectivity... done. Submodule path 'clMathLibraries/clBLAS': checked out 'bdaf1f9ef3d97168fdaff4c3ef588feeae72b171' Exowide:~ mnemonis$ cd cltorch Exowide:cltorch mnemonis$ mkdir build Exowide:cltorch mnemonis$ cd build Exowide:build mnemonis$ cmkae .. -bash: cmkae: command not found Exowide:build mnemonis$ cmake .. -- The C compiler identification is AppleClang 6.1.0.6020053 -- The CXX compiler identification is AppleClang 6.1.0.6020053 -- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found Torch7 in /Users/mnemonis/torch/install /Users/mnemonis/cltorch/build /Users/mnemonis/cltorch On branch master Your branch is up-to-date with 'origin/master'. nothing to commit, working directory clean Submodule path 'EasyCL': checked out 'a03261662d263f14ce8e8e6f4dce1f649b400bd0' Submodule path 'clMathLibraries/clBLAS': checked out 'bdaf1f9ef3d97168fdaff4c3ef588feeae72b171' CMAKE_INSTALL_PREFIX /Users/mnemonis/torch/install CMAKE_INSTALL_PREFIX /Users/mnemonis/torch/install CLBLAS_INCLUDE_DIRS /Users/mnemonis/torch/install/include DEEPCL_LIBRARIES /Users/mnemonis/torch/install/lib/libEasyCL.dylib git version 2.4.5 -- Configuring done -- Generating done -- Build files have been written to: /Users/mnemonis/cltorch/build Exowide:build mnemonis$ make Scanning dependencies of target easycl_delete_stamp [ 0%] Built target easycl_delete_stamp Scanning dependencies of target git_cltorch_rec Submodule path '../EasyCL': checked out 'a03261662d263f14ce8e8e6f4dce1f649b400bd0' Submodule path '../clMathLibraries/clBLAS': checked out 'bdaf1f9ef3d97168fdaff4c3ef588feeae72b171' [ 0%] Built target git_cltorch_rec Scanning dependencies of target EasyCL-external [ 1%] Creating directories for 'EasyCL-external' [ 3%] No download step for 'EasyCL-external' [ 5%] No patch step for 'EasyCL-external' [ 7%] No update step for 'EasyCL-external' [ 8%] Performing configure step for 'EasyCL-external' loading initial cache file /Users/mnemonis/cltorch/build/EasyCL/tmp/EasyCL-external-cache.cmake -- The C compiler identification is AppleClang 6.1.0.6020053 -- The CXX compiler identification is AppleClang 6.1.0.6020053 -- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Configuring done CMake Warning (dev): Policy CMP0042 is not set: MACOSX_RPATH is enabled by default. Run "cmake --help-policy CMP0042" for policy details. Use the cmake_policy command to set the policy and suppress this warning.

MACOSX_RPATH is not specified for the following targets:

EasyCL

This warning is for project developers. Use -Wno-dev to suppress it.

-- Generating done -- Build files have been written to: /Users/mnemonis/cltorch/build/EasyCL/src/EasyCL-external-build [ 10%] Performing build step for 'EasyCL-external' Scanning dependencies of target CLEW [ 2%] Building C object CMakeFiles/CLEW.dir/thirdparty/clew/src/clew.c.o In file included from /Users/mnemonis/cltorch/EasyCL/thirdparty/clew/src/clew.c:9: /Users/mnemonis/cltorch/EasyCL/./clew.h:1931:51: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] ...cl_int * /* errcoderet /) CL_API_SUFFIXVERSI... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:1972:73: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] ...void * /_userdata / ) CL_API_SUFFIXVERSION_1_1;
^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIX
VERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2101:55: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clint * / errcoderet /) CL_API_SUFFIX... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIX__VERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2111:57: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clint / executionstatus /) CL_API_SUFFIXV... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2117:50: warning: 'weakimport' attribute only applies to variables and functions [-Wignored-attributes] void * / userdata /) CL_API_SUFFIXVERSION_1_1; ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2160:58: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clevent * / event _/) CL_API_SUFFIX... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2187:59: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clevent * / event _/) CL_APISUFFIX... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIX__VERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2213:58: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clevent * / event _/) CL_API_SUFFIX... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

8 warnings generated. Linking C static library libCLEW.a [ 2%] Built target CLEW Scanning dependencies of target EasyCL [ 4%] Building CXX object CMakeFiles/EasyCL.dir/EasyCL.cpp.o In file included from /Users/mnemonis/cltorch/EasyCL/EasyCL.cpp:11: In file included from /Users/mnemonis/cltorch/EasyCL/./EasyCL.h:20: /Users/mnemonis/cltorch/EasyCL/./clew.h:1931:51: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] ...clint * / errcoderet /) CL_API_SUFFIXVERSI... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:1972:73: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] ...void * /_userdata / ) CL_API_SUFFIXVERSION_1_1;
^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIX
VERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2101:55: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clint * / errcoderet /) CL_API_SUFFIX... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIX__VERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2111:57: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clint / executionstatus /) CL_API_SUFFIXV... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2117:50: warning: 'weakimport' attribute only applies to variables and functions [-Wignored-attributes] void * / userdata /) CL_API_SUFFIXVERSION_1_1; ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2160:58: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clevent * / event _/) CL_API_SUFFIX... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2187:59: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clevent * / event _/) CL_APISUFFIX... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIX__VERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2213:58: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clevent * / event _/) CL_API_SUFFIX... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

8 warnings generated. [ 6%] Building CXX object CMakeFiles/EasyCL.dir/CLKernel.cpp.o In file included from /Users/mnemonis/cltorch/EasyCL/CLKernel.cpp:10: In file included from /Users/mnemonis/cltorch/EasyCL/./CLKernel.h:9: In file included from /Users/mnemonis/cltorch/EasyCL/./CLArrayInt.h:14: In file included from /Users/mnemonis/cltorch/EasyCL/./EasyCL.h:20: /Users/mnemonis/cltorch/EasyCL/./clew.h:1931:51: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] ...clint * / errcoderet /) CL_API_SUFFIXVERSI... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:1972:73: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] ...void * /_userdata / ) CL_API_SUFFIXVERSION_1_1;
^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIX
VERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2101:55: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clint * / errcoderet /) CL_API_SUFFIX... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIX__VERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2111:57: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clint / executionstatus /) CL_API_SUFFIXV... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2117:50: warning: 'weakimport' attribute only applies to variables and functions [-Wignored-attributes] void * / userdata /) CL_API_SUFFIXVERSION_1_1; ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2160:58: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clevent * / event _/) CL_API_SUFFIX... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2187:59: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clevent * / event _/) CL_APISUFFIX... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIX__VERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2213:58: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clevent * / event _/) CL_API_SUFFIX... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

8 warnings generated. [ 8%] Building CXX object CMakeFiles/EasyCL.dir/CLWrapper.cpp.o In file included from /Users/mnemonis/cltorch/EasyCL/CLWrapper.cpp:7: In file included from /Users/mnemonis/cltorch/EasyCL/./EasyCL.h:20: /Users/mnemonis/cltorch/EasyCL/./clew.h:1931:51: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] ...clint * / errcoderet /) CL_API_SUFFIXVERSI... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:1972:73: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] ...void * /_userdata / ) CL_API_SUFFIXVERSION_1_1;
^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIX
VERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2101:55: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clint * / errcoderet /) CL_API_SUFFIX... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIX__VERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2111:57: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clint / executionstatus /) CL_API_SUFFIXV... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2117:50: warning: 'weakimport' attribute only applies to variables and functions [-Wignored-attributes] void * / userdata /) CL_API_SUFFIXVERSION_1_1; ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2160:58: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clevent * / event _/) CL_API_SUFFIX... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2187:59: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clevent * / event _/) CL_APISUFFIX... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIX__VERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2213:58: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clevent * / event _/) CL_API_SUFFIX... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

8 warnings generated. [ 11%] Building CXX object CMakeFiles/EasyCL.dir/platforminfo_helper.cpp.o In file included from /Users/mnemonis/cltorch/EasyCL/platforminfo_helper.cpp:12: In file included from /Users/mnemonis/cltorch/EasyCL/./EasyCL.h:20: /Users/mnemonis/cltorch/EasyCL/./clew.h:1931:51: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] ...clint * / errcoderet /) CL_API_SUFFIXVERSI... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:1972:73: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] ...void * /_userdata / ) CL_API_SUFFIXVERSION_1_1;
^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIX
VERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2101:55: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clint * / errcoderet /) CL_API_SUFFIX... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIX__VERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2111:57: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clint / executionstatus /) CL_API_SUFFIXV... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2117:50: warning: 'weakimport' attribute only applies to variables and functions [-Wignored-attributes] void * / userdata /) CL_API_SUFFIXVERSION_1_1; ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2160:58: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clevent * / event _/) CL_API_SUFFIX... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2187:59: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clevent * / event _/) CL_APISUFFIX... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIX__VERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2213:58: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clevent * / event _/) CL_API_SUFFIX... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

8 warnings generated. [ 13%] Building CXX object CMakeFiles/EasyCL.dir/deviceinfo_helper.cpp.o In file included from /Users/mnemonis/cltorch/EasyCL/deviceinfo_helper.cpp:11: In file included from /Users/mnemonis/cltorch/EasyCL/./EasyCL.h:20: /Users/mnemonis/cltorch/EasyCL/./clew.h:1931:51: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] ...clint * / errcoderet /) CL_API_SUFFIXVERSI... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:1972:73: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] ...void * /_userdata / ) CL_API_SUFFIXVERSION_1_1;
^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIX
VERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2101:55: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clint * / errcoderet /) CL_API_SUFFIX... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIX__VERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2111:57: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clint / executionstatus /) CL_API_SUFFIXV... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2117:50: warning: 'weakimport' attribute only applies to variables and functions [-Wignored-attributes] void * / userdata /) CL_API_SUFFIXVERSION_1_1; ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2160:58: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clevent * / event _/) CL_API_SUFFIX... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2187:59: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clevent * / event _/) CL_APISUFFIX... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIX__VERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2213:58: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clevent * / event _/) CL_API_SUFFIX... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

8 warnings generated. [ 15%] Building CXX object CMakeFiles/EasyCL.dir/DevicesInfo.cpp.o In file included from /Users/mnemonis/cltorch/EasyCL/DevicesInfo.cpp:1: /Users/mnemonis/cltorch/EasyCL/./clew.h:1931:51: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] ...clint * / errcoderet /) CL_API_SUFFIXVERSI... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:1972:73: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] ...void * /_userdata / ) CL_API_SUFFIXVERSION_1_1;
^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIX
VERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2101:55: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clint * / errcoderet /) CL_API_SUFFIX... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIX__VERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2111:57: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clint / executionstatus /) CL_API_SUFFIXV... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2117:50: warning: 'weakimport' attribute only applies to variables and functions [-Wignored-attributes] void * / userdata /) CL_API_SUFFIXVERSION_1_1; ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2160:58: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clevent * / event _/) CL_API_SUFFIX... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2187:59: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clevent * / event _/) CL_APISUFFIX... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIX__VERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2213:58: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clevent * / event _/) CL_API_SUFFIX... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

8 warnings generated. [ 17%] Building CXX object CMakeFiles/EasyCL.dir/DeviceInfo.cpp.o In file included from /Users/mnemonis/cltorch/EasyCL/DeviceInfo.cpp:1: In file included from /Users/mnemonis/cltorch/EasyCL/./DeviceInfo.h:5: /Users/mnemonis/cltorch/EasyCL/./clew.h:1931:51: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] ...clint * / errcoderet /) CL_API_SUFFIXVERSI... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:1972:73: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] ...void * /_userdata / ) CL_API_SUFFIXVERSION_1_1;
^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIX
VERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2101:55: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clint * / errcoderet /) CL_API_SUFFIX... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIX__VERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2111:57: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clint / executionstatus /) CL_API_SUFFIXV... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2117:50: warning: 'weakimport' attribute only applies to variables and functions [-Wignored-attributes] void * / userdata /) CL_API_SUFFIXVERSION_1_1; ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2160:58: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clevent * / event _/) CL_API_SUFFIX... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2187:59: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clevent * / event _/) CL_APISUFFIX... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIX__VERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2213:58: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clevent * / event _/) CL_API_SUFFIX... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

8 warnings generated. [ 20%] Building CXX object CMakeFiles/EasyCL.dir/util/easycl_stringhelper.cpp.o [ 22%] Building C object CMakeFiles/EasyCL.dir/thirdparty/lua-5.1.5/src/lapi.c.o [ 24%] Building C object CMakeFiles/EasyCL.dir/thirdparty/lua-5.1.5/src/lauxlib.c.o /Users/mnemonis/cltorch/EasyCL/thirdparty/lua-5.1.5/src/lauxlib.c:577:61: warning: while loop has empty body [-Wempty-body] while ((c = getc(lf.f)) != EOF && c != LUA_SIGNATURE[0]) ; ^ /Users/mnemonis/cltorch/EasyCL/thirdparty/lua-5.1.5/src/lauxlib.c:577:61: note: put the semicolon on a separate line to silence this warning 1 warning generated. [ 26%] Building C object CMakeFiles/EasyCL.dir/thirdparty/lua-5.1.5/src/lbaselib.c.o [ 28%] Building C object CMakeFiles/EasyCL.dir/thirdparty/lua-5.1.5/src/lcode.c.o [ 31%] Building C object CMakeFiles/EasyCL.dir/thirdparty/lua-5.1.5/src/ldblib.c.o [ 33%] Building C object CMakeFiles/EasyCL.dir/thirdparty/lua-5.1.5/src/ldebug.c.o [ 35%] Building C object CMakeFiles/EasyCL.dir/thirdparty/lua-5.1.5/src/ldo.c.o [ 37%] Building C object CMakeFiles/EasyCL.dir/thirdparty/lua-5.1.5/src/ldump.c.o [ 40%] Building C object CMakeFiles/EasyCL.dir/thirdparty/lua-5.1.5/src/lfunc.c.o [ 42%] Building C object CMakeFiles/EasyCL.dir/thirdparty/lua-5.1.5/src/lgc.c.o [ 44%] Building C object CMakeFiles/EasyCL.dir/thirdparty/lua-5.1.5/src/linit.c.o [ 46%] Building C object CMakeFiles/EasyCL.dir/thirdparty/lua-5.1.5/src/liolib.c.o [ 48%] Building C object CMakeFiles/EasyCL.dir/thirdparty/lua-5.1.5/src/llex.c.o [ 51%] Building C object CMakeFiles/EasyCL.dir/thirdparty/lua-5.1.5/src/lmathlib.c.o [ 53%] Building C object CMakeFiles/EasyCL.dir/thirdparty/lua-5.1.5/src/lmem.c.o [ 55%] Building C object CMakeFiles/EasyCL.dir/thirdparty/lua-5.1.5/src/loadlib.c.o [ 57%] Building C object CMakeFiles/EasyCL.dir/thirdparty/lua-5.1.5/src/lobject.c.o [ 60%] Building C object CMakeFiles/EasyCL.dir/thirdparty/lua-5.1.5/src/lopcodes.c.o [ 62%] Building C object CMakeFiles/EasyCL.dir/thirdparty/lua-5.1.5/src/loslib.c.o /Users/mnemonis/cltorch/EasyCL/thirdparty/lua-5.1.5/src/loslib.c:60:3: warning: 'tmpnam' is deprecated: This function is provided for compatibility reasons only. Due to security concerns inherent in the design of tmpnam(3), it is highly recommended that you use mkstemp(3) instead. [-Wdeprecated-declarations] lua_tmpnam(buff, err); ^ /Users/mnemonis/cltorch/EasyCL/thirdparty/lua-5.1.5/src/luaconf.h:657:33: note: expanded from macro 'lua_tmpnam'

define lua_tmpnam(b,e) { e = (tmpnam(b) == NULL); }

                                   ^

/usr/include/stdio.h:276:7: note: 'tmpnam' has been explicitly marked deprecated here char tmpnam(char ); ^ 1 warning generated. [ 64%] Building C object CMakeFiles/EasyCL.dir/thirdparty/lua-5.1.5/src/lparser.c.o [ 66%] Building C object CMakeFiles/EasyCL.dir/thirdparty/lua-5.1.5/src/lstate.c.o [ 68%] Building C object CMakeFiles/EasyCL.dir/thirdparty/lua-5.1.5/src/lstring.c.o [ 71%] Building C object CMakeFiles/EasyCL.dir/thirdparty/lua-5.1.5/src/lstrlib.c.o [ 73%] Building C object CMakeFiles/EasyCL.dir/thirdparty/lua-5.1.5/src/ltable.c.o [ 75%] Building C object CMakeFiles/EasyCL.dir/thirdparty/lua-5.1.5/src/ltablib.c.o [ 77%] Building C object CMakeFiles/EasyCL.dir/thirdparty/lua-5.1.5/src/ltm.c.o [ 80%] Building C object CMakeFiles/EasyCL.dir/thirdparty/lua-5.1.5/src/lundump.c.o [ 82%] Building C object CMakeFiles/EasyCL.dir/thirdparty/lua-5.1.5/src/lvm.c.o [ 84%] Building C object CMakeFiles/EasyCL.dir/thirdparty/lua-5.1.5/src/lzio.c.o [ 86%] Building C object CMakeFiles/EasyCL.dir/thirdparty/lua-5.1.5/src/print.c.o [ 88%] Building CXX object CMakeFiles/EasyCL.dir/templates/LuaTemplater.cpp.o [ 91%] Building CXX object CMakeFiles/EasyCL.dir/templates/TemplatedKernel.cpp.o In file included from /Users/mnemonis/cltorch/EasyCL/templates/TemplatedKernel.cpp:9: In file included from /Users/mnemonis/cltorch/EasyCL/./EasyCL.h:20: /Users/mnemonis/cltorch/EasyCL/./clew.h:1931:51: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] ...clint * / errcoderet /) CL_API_SUFFIXVERSI... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:1972:73: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] ...void * /_userdata / ) CL_API_SUFFIXVERSION_1_1;
^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIX
VERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2101:55: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clint * / errcoderet /) CL_API_SUFFIX... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIX__VERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2111:57: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes] clint / executionstatus /) CL_API_SUFFIXV... ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2117:50: warning: 'weakimport' attribute only applies to variables and functions [-Wignored-attributes] void * / user_data */) CL_API_SUFFIXVERSION_1_1; ^ /Users/mnemonis/cltorch/EasyCL/./clew.h:80:53: note: expanded from macro 'CL_API_SUFFIXVERSION_1_1'

define CL_API_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK

                                                ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:77:68: note: expanded from macro 'CL_EXTENSION_WEAK_LINK'

define CL_EXTENSION_WEAKLINK attribute((weak...

                                                               ^

/Users/mnemonis/cltorch/EasyCL/./clew.h:2160:58: warning: 'weak_import' attribute only applies to variables and functions [-Wignored-attributes]

pfllo commented 9 years ago

I have uploaded my cltorch directory to dropbox, and the link is as below: https://www.dropbox.com/s/ovqzf3xznwrw4s3/cltorch.zip?dl=0

many thanks

hughperkins commented 9 years ago

@Ambext I cnat quite see where the errors are for clBLAS or clBLAS-external? I think there should be a bunch, given the earlier error messages you posted?

pdhvip commented 9 years ago

Hi guys,

I also get the following error message when I run "luarocks install cltorch".

Linking CXX shared library libTHCl.dylib
Undefined symbols for architecture x86_64:
  "void kernelLaunch_THClTensor_reduceAll<unsigned long long>(THClState*, dim3&, dim3&, unsigned long, int, TensorInfo<unsigned long long> const&, long, float, HasOperator2 const*, HasOperator3 const*, CLWrapper*)", referenced from:
      void callReduceAll<unsigned long long>(THClState*, int, TensorInfo<unsigned long long> const&, long, float, HasOperator2 const*, HasOperator3 const*, CLWrapper*) in THClReduceAll.cpp.o
  "void kernelLaunch_THClTensor_reduceAllPass1<unsigned long long>(THClState*, dim3&, dim3&, unsigned long, int, TensorInfo<unsigned long long> const&, long, float, HasOperator2 const*, HasOperator3 const*, CLWrapper*)", referenced from:
      void callReduceAll<unsigned long long>(THClState*, int, TensorInfo<unsigned long long> const&, long, float, HasOperator2 const*, HasOperator3 const*, CLWrapper*) in THClReduceAll.cpp.o
  "void kernelLaunch_THClTensor_reduceAllPass2<unsigned long long>(THClState*, dim3&, dim3&, unsigned long, int, float, HasOperator3 const*, CLWrapper*, CLWrapper*)", referenced from:
      void callReduceAll<unsigned long long>(THClState*, int, TensorInfo<unsigned long long> const&, long, float, HasOperator2 const*, HasOperator3 const*, CLWrapper*) in THClReduceAll.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [lib/THCl/libTHCl.dylib] Error 1
make[1]: *** [lib/THCl/CMakeFiles/THCl.dir/all] Error 2
make: *** [all] Error 2

Error: Build error: Failed building.

My macbook has Intel HD Graphics 5000 1024 MB with OS X 10.9.5.

Thanks in advance!

hughperkins commented 9 years ago

Hi guys, I havent found root cause yet, but I've removed pretty much everything from the THClReduceAll.h header file. Certainly evrything templated is no longer in that file. Can you check if that changes anything? (Note: this is addressed to anyone with a ReduceAll 'undefined symbols' issue. For Ambext, I think there are some logfiles missing for your issue?

pdhvip commented 9 years ago

Thanks for your effort!

I ran the command "luarocks install cltorch" again, and I got the following error.

Linking CXX shared library libTHCl.dylib
Undefined symbols for architecture x86_64:
  "THClKernels* THClKernels::in<unsigned long long>(TensorInfo<unsigned long long>)", referenced from:
      void kernelLaunch_THClTensor_reduceAllPass1<unsigned long long>(THClState*, dim3&, dim3&, unsigned long, int, TensorInfo<unsigned long long> const&, long, float, HasOperator2 const*, HasOperator3 const*, CLWrapper*) in THClReduceAll.cpp.o
      void kernelLaunch_THClTensor_reduceAll<unsigned long long>(THClState*, dim3&, dim3&, unsigned long, int, TensorInfo<unsigned long long> const&, long, float, HasOperator2 const*, HasOperator3 const*, CLWrapper*) in THClReduceAll.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [lib/THCl/libTHCl.dylib] Error 1
make[1]: *** [lib/THCl/CMakeFiles/THCl.dir/all] Error 2
make: *** [all] Error 2

Thanks,

hughperkins commented 9 years ago

Wel, thats a differnet error. Thats good news :-)

hughperkins commented 9 years ago

Updated THClKernels.cpp. Can you see if that changes anything?

mlajtos commented 9 years ago

Tried just now:

Linking CXX shared library libTHCl.dylib
Undefined symbols for architecture x86_64:
  "THClKernels* THClKernels::in<unsigned long>(TensorInfo<unsigned long>)", referenced from:
      void kernelLaunch_THClTensor_reduceContigDim<unsigned long>(THClState*, dim3&, dim3&, unsigned long, int, int, TensorInfo<unsigned long>, TensorInfo<unsigned long>, unsigned long, unsigned long, float, HasOperator2 const*, HasOperator3 const*) in THClReduce.cpp.o
      void kernelLaunch_THClTensor_reduceNoncontigDim<unsigned long>(THClState*, dim3&, dim3&, int, int, TensorInfo<unsigned long>, TensorInfo<unsigned long>, unsigned long, unsigned long, unsigned long, float, HasOperator2 const*, HasOperator3 const*) in THClReduce.cpp.o
  "THClKernels* THClKernels::out<unsigned long>(TensorInfo<unsigned long>)", referenced from:
      void kernelLaunch_THClTensor_reduceContigDim<unsigned long>(THClState*, dim3&, dim3&, unsigned long, int, int, TensorInfo<unsigned long>, TensorInfo<unsigned long>, unsigned long, unsigned long, float, HasOperator2 const*, HasOperator3 const*) in THClReduce.cpp.o
      void kernelLaunch_THClTensor_reduceNoncontigDim<unsigned long>(THClState*, dim3&, dim3&, int, int, TensorInfo<unsigned long>, TensorInfo<unsigned long>, unsigned long, unsigned long, unsigned long, float, HasOperator2 const*, HasOperator3 const*) in THClReduce.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [lib/THCl/libTHCl.dylib] Error 1
make[1]: *** [lib/THCl/CMakeFiles/THCl.dir/all] Error 2
make: *** [all] Error 2

Thank you for your effort. You rock! ;)

hughperkins commented 9 years ago

cool. Gradually moving forward :-) That's a similar error in a different file, and suggests the issues are fixed for the earlier files.

hughperkins commented 9 years ago

Now?

pdhvip commented 9 years ago

It builds without any errors now! Thanks a lot!

hughperkins commented 9 years ago

Cool! :-)

Ambext commented 9 years ago

Congrats for solving the other one. Looks like mine is a dumber install problem. Having dug in the log files again I figured out that boost was missing from my install. I am not sure to understand why, but anyway I installed it and it removed some errors. Now it seems the errors is coming from find_package(OpenCl) command in the Cmake of ClBlas. ie

find_package( OpenCL )

gives the output in the terminal

Could NOT find OPENCL (missing: OPENCL_INCLUDE_DIRS) -- IOpenCL looked for libraries named: OpenCL

which eventually gives that at the end of the terminal prompt

CMake Error: The following variables are used in this project, but they are set to NOTFOUND. Please set them or make sure they are set and tested correctly in the CMake files: OPENCL_INCLUDE_DIRS (ADVANCED) used as include directory in directory /Users/mnemonis/Documents/Code_Ressources/cltorch/clMathLibraries/clBLAS/src/library used as include directory in directory /Users/mnemonis/Documents/Code_Ressources/cltorch/clMathLibraries/clBLAS/src/library used as include directory in directory /Users/mnemonis/Documents/Code_Ressources/cltorch/clMathLibraries/clBLAS/src/library used as include directory in directory /Users/mnemonis/Documents/Code_Ressources/cltorch/clMathLibraries/clBLAS/src/library/tools/tune

My understandind is that it doesn't find OpenCL and therefore can't initialize correctly the needed paths. However this doesn't make a lot of sense to me. Isn't OpenCl by default on any recent OSX? Or are we speaking of another OpenCl library / package / whatever? Thanks for your help! nb: I am in AEST time zone, so please excuse the slow responses.

Update: the Helloworld OpenCL Xcode project does work on my computer (https://developer.apple.com/library/mac/samplecode/OpenCL_Hello_World_Example/Introduction/Intro.html#//apple_ref/doc/uid/DTS40008187)

hughperkins commented 9 years ago

Hi Ambext, can you create a new issue for your issue please? (And then I will close this one).

hughperkins commented 9 years ago

Hi Ambext, created an issue to track your issue at https://github.com/hughperkins/cltorch/issues/6

Ambext commented 9 years ago

sure no worries. Will do now.