Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
For some reason, on Xcode 6.4 there are two missing vtables for NumericArray<DoubleType> and FloatType:
$ nm -g libarrow.dylib | c++filt | grep vtable U vtable for __cxxabiv1::__class_type_info U vtable for __cxxabiv1::__si_class_type_info U vtable for __cxxabiv1::__vmi_class_type_info 0000000000035f10 S vtable for arrow::BinaryType 0000000000036470 S vtable for arrow::DoubleType 0000000000035be0 S vtable for arrow::MemoryPool 00000000000358f0 S vtable for arrow::PoolBuffer 0000000000035f90 S vtable for arrow::StringType 0000000000035ff0 S vtable for arrow::StructType 0000000000035610 S vtable for arrow::UnionArray 0000000000035570 S vtable for arrow::BinaryArray 0000000000035e20 S vtable for arrow::BooleanType 0000000000036070 S vtable for arrow::DecimalType 0000000000035970 S vtable for arrow::ListBuilder 00000000000355c0 S vtable for arrow::StringArray 00000000000357a0 S vtable for arrow::StructArray 00000000000359f0 S vtable for arrow::ArrayBuilder 0000000000035520 S vtable for arrow::BooleanArray 0000000000036280 S vtable for arrow::IntervalType 0000000000036570 D vtable for arrow::NumericArray<arrow::UInt16Type> 00000000000365c0 D vtable for arrow::NumericArray<arrow::UInt32Type> 0000000000036610 D vtable for arrow::NumericArray<arrow::UInt64Type> 0000000000036840 D vtable for arrow::NumericArray<arrow::HalfFloatType> 00000000000367a0 D vtable for arrow::NumericArray<arrow::TimestampType> 00000000000367f0 D vtable for arrow::NumericArray<arrow::DateType> 0000000000036660 D vtable for arrow::NumericArray<arrow::Int8Type> 00000000000366b0 D vtable for arrow::NumericArray<arrow::Int16Type> 0000000000036700 D vtable for arrow::NumericArray<arrow::Int32Type> 0000000000036750 D vtable for arrow::NumericArray<arrow::Int64Type> 0000000000036520 D vtable for arrow::NumericArray<arrow::UInt8Type> 00000000000359b0 S vtable for arrow::BinaryBuilder 0000000000036310 S vtable for arrow::HalfFloatType 0000000000035ae0 S vtable for arrow::StringBuilder 0000000000035b40 S vtable for arrow::StructBuilder 0000000000036210 S vtable for arrow::TimestampType 0000000000035a40 S vtable for arrow::BooleanBuilder 0000000000035cf0 S vtable for arrow::DictionaryType 0000000000035db0 S vtable for arrow::FixedWidthType 00000000000354d0 S vtable for arrow::PrimitiveArray 0000000000035660 S vtable for arrow::DictionaryArray 0000000000038420 D vtable for arrow::PrimitiveBuilder<arrow::DoubleType> 0000000000038160 D vtable for arrow::PrimitiveBuilder<arrow::UInt16Type> 00000000000381a0 D vtable for arrow::PrimitiveBuilder<arrow::UInt32Type> 00000000000381e0 D vtable for arrow::PrimitiveBuilder<arrow::UInt64Type> 00000000000383a0 D vtable for arrow::PrimitiveBuilder<arrow::HalfFloatType> 0000000000038360 D vtable for arrow::PrimitiveBuilder<arrow::TimestampType> 0000000000038320 D vtable for arrow::PrimitiveBuilder<arrow::DateType> 0000000000038220 D vtable for arrow::PrimitiveBuilder<arrow::Int8Type> 00000000000383e0 D vtable for arrow::PrimitiveBuilder<arrow::FloatType> 0000000000038260 D vtable for arrow::PrimitiveBuilder<arrow::Int16Type> 00000000000382a0 D vtable for arrow::PrimitiveBuilder<arrow::Int32Type> 00000000000382e0 D vtable for arrow::PrimitiveBuilder<arrow::Int64Type> 0000000000038120 D vtable for arrow::PrimitiveBuilder<arrow::UInt8Type> 0000000000035480 S vtable for arrow::Array 00000000000358d0 S vtable for arrow::Buffer 0000000000035cb0 S vtable for arrow::DataType 0000000000036130 S vtable for arrow::DateType 0000000000035e90 S vtable for arrow::ListType 0000000000035d50 S vtable for arrow::NullType 00000000000361a0 S vtable for arrow::TimeType 00000000000363c0 S vtable for arrow::FloatType 0000000000035730 S vtable for arrow::ListArray 00000000000356c0 S vtable for arrow::NullArray 00000000000360d0 S vtable for arrow::UnionType U vtable for std::__1::bad_weak_ptr
On Xcode 8 (newer clang), the vtables are there. It must have something to do with the template specializations in arrow/array.h – I am not sure what else it might be.