Hi Roger,

Seem you are using Clang 3.4 for building pocl itself (FreeBSD's
default Clang?).

Can you try using the Clang 3.6 you seem to use for pocl's
kernel compiler, or even better the latest one (3.7), for
building pocl itself also?

This seems to be a problem with cl2.hpp coming from Khronos.
I created an issue here: https://github.com/pocl/pocl/issues/263

On 10/13/2015 05:56 PM, Roger Mason wrote:
> Hello,
>
> I'm trying to build on FreeBSD:
>
> FreeBSD mary.mary.quite.bs 10.2-RELEASE FreeBSD 10.2-RELEASE #0 r286666:
> Wed Aug 12 15:26:37 UTC 2015
> [email protected]:/usr/obj/usr/src/sys/GENERIC  amd64
>
>
>
> The build fails like this:
>
> libtool: link: cc -g -O2 -o 
> .libs/test_assign_loop_variable_to_privvar_makes_it_local_2 
> test_assign_loop_variable_to_privvar_makes_it_local_2.o  
> ../../lib/poclu/.libs/libpoclu
> .so -L/usr/local/lib -lm -lOpenCL -Wl,-rpath -Wl,/opt/lib
> c++ -DHAVE_CONFIG_H -I. -I../../../pocl/tests/regression -I../..  
> -I../../../pocl/fix-include -I../../include -I../../../pocl/include 
> -I../../../pocl/lib/CL -DSRCDIR='"/home/r
> mason/Software/POCL/64-bit/../pocl/tests/regression"' -I/usr/local/include 
> -I/usr/local/include   -std=c++11 -Wno-deprecated 
> -Wno-deprecated-declarations -g -O2 -MT test_barri
> er_between_for_loops.o -MD -MP -MF .deps/test_barrier_between_for_loops.Tpo 
> -c -o test_barrier_between_for_loops.o 
> ../../../pocl/tests/regression/test_barrier_between_for_loop
> s.cpp
> In file included from 
> ../../../pocl/tests/regression/test_barrier_between_for_loops.cpp:28:
> In file included from ../../../pocl/include/CL/cl2.hpp:478:
> /usr/include/c++/v1/utility:253:9: error: field has incomplete type 
> 'cl::Device'
>      _T1 first;
>          ^
> /usr/include/c++/v1/type_traits:2370:27: note: in instantiation of template 
> class 'std::__1::pair<cl::Device, std::__1::basic_string<char> >' requested 
> here
>                   decltype(__is_constructible_test(declval<_Tp>(), 
> declval<_Args>()...))
>                            ^
> /usr/include/c++/v1/type_traits:2419:14: note: in instantiation of template 
> class 'std::__1::__libcpp_is_constructible<false, 
> std::__1::allocator<std::__1::pair<cl::Device,
>        std::__1::basic_string<char> > >, 
> std::__1::allocator<std::__1::pair<cl::Device, std::__1::basic_string<char> > 
> > &&>' requested here
>      : public __libcpp_is_constructible<is_scalar<_Tp>::value || 
> is_reference<_Tp>::value,
>               ^
> /usr/include/c++/v1/type_traits:2445:14: note: in instantiation of template 
> class 'std::__1::__is_constructible_void_check<false,
>        std::__1::allocator<std::__1::pair<cl::Device, 
> std::__1::basic_string<char> > >, 
> std::__1::allocator<std::__1::pair<cl::Device, std::__1::basic_string<char> > 
> > &&>'
>        requested here
>      : public __is_constructible_void_check<__contains_void<_Tp, 
> _Args...>::value
>               ^
> /usr/include/c++/v1/type_traits:2936:41: note: in instantiation of template 
> class 
> 'std::__1::is_constructible<std::__1::allocator<std::__1::pair<cl::Device,
>        std::__1::basic_string<char> > >, 
> std::__1::allocator<std::__1::pair<cl::Device, std::__1::basic_string<char> > 
> > &&>' requested here
>      : __libcpp_is_nothrow_constructible<is_constructible<_Tp, 
> _Args...>::value, is_reference<_Tp>::value, _Tp, _Args...>
>                                          ^
> /usr/include/c++/v1/type_traits:3072:14: note: in instantiation of template 
> class 
> 'std::__1::is_nothrow_constructible<std::__1::allocator<std::__1::pair<cl::Device,
>        std::__1::basic_string<char> > >, 
> std::__1::allocator<std::__1::pair<cl::Device, std::__1::basic_string<char> > 
> > &&>' requested here
>      : public is_nothrow_constructible<_Tp, typename 
> add_rvalue_reference<_Tp>::type>
>               ^
> /usr/include/c++/v1/vector:572:20: note: in instantiation of template class 
> 'std::__1::is_nothrow_move_constructible<std::__1::allocator<std::__1::pair<cl::Device,
>        std::__1::basic_string<char> > > >' requested here
>
>                     ^
> /usr/include/c++/v1/__config:349:34: note: expanded from macro '_NOEXCEPT_'
> #  define _NOEXCEPT_(x) noexcept(x)
>                                   ^
> ../../../pocl/include/CL/cl2.hpp:1809:7: note: in instantiation of exception 
> specification for 'vector' requested here
> class BuildError : public Error
>        ^
> ../../../pocl/include/CL/cl2.hpp:643:11: note: forward declaration of 
> 'cl::Device'
>      class Device;
>            ^
> ../../../pocl/include/CL/cl2.hpp:1830:19: note: implicit move constructor for 
> 'cl::BuildError' first required here
>              throw BuildError(err, errStr, buildLogs);
>                    ^
> 1 error generated.
>
> I'm attaching the config.log in case that is useful.
>
> Any help debugging this will be much appreciated.
>
> Roger
>
>
>
> ------------------------------------------------------------------------------
>
>
>
> _______________________________________________
> pocl-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/pocl-devel
>

-- 
Pekka

------------------------------------------------------------------------------
_______________________________________________
pocl-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/pocl-devel

Reply via email to