h-vetinari commented on PR #45951:
URL: https://github.com/apache/arrow/pull/45951#issuecomment-2841310873

   I believe this PR is the likely reason for the following failure I'm seeing 
in https://github.com/conda-forge/r-arrow-feedstock/pull/101:
   
   ```
   In file included from r_to_arrow.cpp:18:
   .\./arrow_types.h:193:14: error: called object type 'arrow::r::RVectorType' 
is not a function or function pointer
     193 |       return COMPLEX(vec);
         |              ^~~~~~~
   .\./arrow_types.h:176:50: note: in instantiation of member function 
'arrow::r::RBuffer<cpp11::r_vector<int>>::getDataPointer' requested here
     176 |       : 
MutableBuffer(reinterpret_cast<uint8_t*>(getDataPointer(vec)),
         |                                                  ^
   C:\Program Files\Microsoft Visual 
Studio\2022\Enterprise\VC\Tools\MSVC\14.43.34808\include\xutility:506:58: note: 
in instantiation of member function 
'arrow::r::RBuffer<cpp11::r_vector<int>>::RBuffer' requested here
     506 |         ::new (static_cast<void*>(_STD addressof(_Obj))) _Ty(_STD 
forward<_Types>(_Args)...);
         |                                                          ^
   C:\Program Files\Microsoft Visual 
Studio\2022\Enterprise\VC\Tools\MSVC\14.43.34808\include\memory:2092:18: note: 
in instantiation of function template specialization 
'std::_Construct_in_place<arrow::r::RBuffer<cpp11::r_vector<int>>, 
cpp11::r_vector<int> &>' requested here
    2092 |             _STD _Construct_in_place(_Storage._Value, _STD 
forward<_Types>(_Args)...);
         |                  ^
   C:\Program Files\Microsoft Visual 
Studio\2022\Enterprise\VC\Tools\MSVC\14.43.34808\include\memory:2903:26: note: 
in instantiation of function template specialization 
'std::_Ref_count_obj2<arrow::r::RBuffer<cpp11::r_vector<int>>>::_Ref_count_obj2<cpp11::r_vector<int>
 &>' requested here
    2903 |     const auto _Rx = new _Ref_count_obj2<_Ty>(_STD 
forward<_Types>(_Args)...);
         |                          ^
   r_to_arrow.cpp:1240:53: note: in instantiation of function template 
specialization 'std::make_shared<arrow::r::RBuffer<cpp11::r_vector<int>>, 
cpp11::r_vector<int> &>' requested here
    1240 |                                                
std::make_shared<RBuffer<RVector>>(vec)};
         |                                                     ^
   r_to_arrow.cpp:1283:12: note: in instantiation of function template 
specialization 'arrow::r::MakeSimpleArray<13, cpp11::r_vector<int>, 
arrow::Int32Type>' requested here
    1283 |     return MakeSimpleArray<INTSXP, cpp11::integers, Int32Type>(x);
         |            ^
   ```
   
   This smells like macro leakage from the UCRT headers (e.g. if there's 
something called `COMPLEX` there already), which is always an issue on 
windows... C.f. `NOMINMAX`, `WIN32_LEAN_AND_MEAN` etc.
   
   We're using a clang on windows (adapted for the needs of R packages), 
together with the standard windows runtimes. CC @xhochy


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscr...@arrow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to