No go. I still get the B5cxx11 extension on the symbols in the compiled
libarrow library.

Tried:
/workspace/arrow/pyarrow-dev/bin/cmake -DCMAKE_INSTALL_PREFIX=$ARROW_HOME
-DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=Release -DARROW_DATASET=ON
-DARROW_WITH_BZ2=ON -DARROW_WITH_ZLIB=ON -DARROW_WITH_ZSTD=ON
-DARROW_WITH_LZ4=ON -DARROW_WITH_SNAPPY=ON -DARROW_WITH_BROTLI=ON
-DARROW_PARQUET=ON -DPARQUET_REQUIRE_ENCRYPTION=ON -DARROW_PYTHON=ON
-DARROW_BUILD_TESTS=ON -DARROW_CUDA=ON -DARROW_FLIGHT=ON -DARROW_GANDIVA=ON
-DARROW_PLASMA=ON -DARROW_S3=ON -DARROW_TENSORFLOW=ON -DARROW_CSV=ON
-DARROW_JSON=ON -DARROW_WITH_RE2=ON -DARROW_IPC=ON
-DARROW_DEPENDENCY_SOURCE=BUNDLED -D_GLIBCXX_USE_CXX11_ABI=0 ..

For my next attempt, I modified CMakeLists.txt (in arrow/cpp) to explicitly
remove any mention of -std=c++11 in the CXXFLAGS.  I'll let you know if
that works.  Any pointers on better ways to troubleshoot this would also be
helpful.  I'm not super-conversant with CMake.

# Remove --std=c++11 to avoid errors from C compilers
string(REPLACE "-std=c++11" "" CMAKE_C_FLAGS ${CMAKE_C_FLAGS})

# Add C++-only flags, like -std=c++11
set(CMAKE_CXX_FLAGS "${CXX_ONLY_FLAGS} ${CMAKE_CXX_FLAGS}")
string(REPLACE "-std=c++11" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})

On Mon, Oct 10, 2022 at 1:29 PM Antoine Pitrou <anto...@python.org> wrote:

>
> Then instead pass "-D_GLIBCXX_USE_CXX11_ABI=0" when building the C++
> libraries?
>
>
> Le 10/10/2022 à 20:20, Joseph Porter a écrit :
> > Hi Antoine,
> >
> > Here's what I did:
> > export PYARROW_CXXFLAGS="-std=c++11 -D_GLIBCXX_USE_CXX11_ABI=1"
> >
> > Here's what I got:
> > ImportError:
> > /workspace/arrow/pyarrow-test/lib/python3.8/site-packages/pyarrow/
> > lib.cpython-38-x86_64-linux-gnu.so: undefined symbol:
> > _ZNK5arrow8DataType18ComputeFingerprintEv
> >
> > It looks like the symbol mismatch exists already in the libraries that
> were
> > created by the C++ build step, which is why I tried to add the c++11
> > directives to the CMakeLists.txt in the python module.
> >
> > -Joe
> >
> > On Mon, Oct 10, 2022 at 12:37 PM Antoine Pitrou <anto...@python.org>
> wrote:
> >
> >>
> >> Le 10/10/2022 à 19:27, Joseph Porter a écrit :
> >>>
> >>> I've tried building with explicit flags to encourage the libraries to
> >>> include the cxx11 symbol (in python/CMakeLists.txt).  That doesn't seem
> >> to
> >>> impact this issue:
> >>>
> >>> set (CMAKE_CXX_STANDARD 11)
> >>> set (CMAKE_CXX_STANDARD_REQUIRED ON)
> >>> set (CMAKE_CXX_EXTENSIONS OFF)
> >>>
> >>> I also added
> >>> export PYARROW_CXXFLAGS="-std=c++11"
> >>> for the wheel build of pyarrow (no effect).
> >>
> >> Can you try adding "-D_GLIBCXX_USE_CXX11_ABI=1" to those flags?
> >>
> >
>

Reply via email to