Hi,
On Thu, 2 Apr 2020 16:56:06 +0000 Brian Bowman <brian.bow...@sas.com.INVALID> wrote: > A new high-performance file system we are working with returns an error while > writing a .parquet file. The following arrow symbol does not resolve > properly and the error is masked. > > libparquet.so: undefined symbol: _ZNK5arrow6Status8ToStringB5cxx11Ev > > > nm libarrow.so* | grep -i ZNK5arrow6Status8ToStringB5cxx11Ev > 00000000002b7760 t _ZNK5arrow6Status8ToStringB5cxx11Ev > 00000000002b7760 t _ZNK5arrow6Status8ToStringB5cxx11Ev For clarity, you should use `nm --demangle`. This will give you the actual C++ symbol, i.e. "arrow::Status::ToString[abi:cxx11]() const". > One of our Linux dev/build experts tracked this down to an issue in arrow > open source. He says the lowercase ‘t’ (text) code (… 7760 t _ZNK …) in the > nm command output is incorrect and it should instead be an uppercase ‘T’. I have the right output here: $ nm --demangle --defined-only --dynamic .../libarrow.so | \ grep Status::ToString 00000000012f1ff0 T arrow::Status::ToString[abi:cxx11]() const Which toolchain (linker etc.) are you using? Regards Antoine.