The namespace collision is a definite possibility, especially if you are using g++ which seems to be less smart about inferring types vs methods than clang is.
On Fri, Jul 19, 2019 at 9:28 PM Paul Taylor <ptaylor.apa...@gmail.com> wrote: > Hi Micah, > > We were able to build Arrow standalone with both c++ 11 and 14, but cuDF > needs c++ 14. > > I found this line[1] in one of our cuda files after sending and realized > we may have a collision/polluted namespace. Does that sound like a > possibility? > > Thanks, > Paul > > 1. > https://github.com/rapidsai/cudf/blob/branch-0.9/cpp/src/io/convert/csr/cudf_to_csr.cu#L30 > > On 7/19/19 8:41 PM, Micah Kornfield wrote: > > Hi Paul, > This actually looks like it might be a problem with arrow-4800. Did the > build of arrow use c++14 or c++11? > > Thanks, > Micah > > On Friday, July 19, 2019, Paul Taylor <ptaylor.apa...@gmail.com> wrote: > >> We're updating cuDF to Arrow 0.14 but encountering errors building that >> look related to PR #4259 <https://github.com/apache/arrow/pull/4259>. We >> can build Arrow itself, but we can't build cuDF when we include Arrow >> headers. Using C++ 14 and have tried gcc/g++ 5, 7, and clang. >> >> Has anyone seen these before or know of a fix? >> >> Thanks, >> >> Paul >> >> /cudf/cpp/build/arrow/install/include/arrow/io/interfaces.h(195): >>> warning: attribute does not apply to any entity >>> /cudf/cpp/build/arrow/install/include/arrow/io/interfaces.h(196): >>> warning: attribute does not apply to any entity >>> /cudf/cpp/build/arrow/install/include/arrow/io/interfaces.h(195): >>> warning: attribute does not apply to any entity >>> /cudf/cpp/build/arrow/install/include/arrow/io/interfaces.h(196): >>> warning: attribute does not apply to any entity >>> /cudf/cpp/build/arrow/install/include/arrow/io/interfaces.h(195): >>> warning: attribute does not apply to any entity >>> /cudf/cpp/build/arrow/install/include/arrow/io/interfaces.h(196): >>> warning: attribute does not apply to any entity >>> >>> /cudf/cpp/build/arrow/install/include/arrow/result.h: In member function >>> 'void arrow::Result<T>::AssignVariant(mpark::variant<U, arrow::Status, >>> const char*>&&)': >>> /cudf/cpp/build/arrow/install/include/arrow/result.h:292:24: error: >>> expected primary-expression before ',' token >>> variant_.~variant(); >>> ^ >>> /cudf/cpp/build/arrow/install/include/arrow/result.h:292:32: error: >>> expected primary-expression before ',' token >>> variant_.~variant(); >>> ^ >>> /cudf/cpp/build/arrow/install/include/arrow/result.h:292:34: error: >>> expected primary-expression before 'const' >>> variant_.~variant(); >>> ^ >>> /cudf/cpp/build/arrow/install/include/arrow/result.h:292:34: error: >>> expected ')' before 'const' >>> /cudf/cpp/build/arrow/install/include/arrow/result.h: In member function >>> 'void arrow::Result<T>::AssignVariant(const mpark::variant<U, >>> arrow::Status, const char*>&)': >>> /cudf/cpp/build/arrow/install/include/arrow/result.h:305:24: error: >>> expected primary-expression before ',' token >>> variant_.~variant(); >>> ^ >>> /cudf/cpp/build/arrow/install/include/arrow/result.h:305:32: error: >>> expected primary-expression before ',' token >>> variant_.~variant(); >>> ^ >>> /cudf/cpp/build/arrow/install/include/arrow/result.h:305:34: error: >>> expected primary-expression before 'const' >>> variant_.~variant(); >>> ^ >>> /cudf/cpp/build/arrow/install/include/arrow/result.h:305:34: error: >>> expected ')' before 'const' >>> >> >> >