It seems like the MSVC build flags and other configuration are different in 
Arrow vs. parquet-cpp. I'm seeing warnings like

```
C:\Miniconda36-x64\Scripts\clcache.exe  /nologo /TP -DARROW_EXPORTING 
-DBOOST_ALL_NO_LIB -D_CRT_SECURE_NO_WARNINGS -Dparquet_shared_EXPORTS -Isrc 
-I..\src -IC:\Miniconda36-x64\envs\arrow\Library\include 
-Igoogletest_ep-prefix\src\googletest_ep\include 
-Igflags_ep-prefix\src\gflags_ep\include -Isrc\rapidjson_ep\include 
-Iflatbuffers_ep-prefix\src\flatbuffers_ep-install\include 
-I..\thirdparty\hadoop\include -Izlib_ep\src\zlib_ep-install\include 
-Isnappy_ep\src\snappy_ep-install\include 
-Ibrotli_ep\src\brotli_ep-install\include -Ilz4_ep-prefix\src\lz4_ep\lib 
-Izstd_ep-prefix\src\zstd_ep\lib -Ithrift_ep\src\thrift_ep-install\include 
-Ithrift_ep\src\thrift_ep-install\include\thrift /DWIN32 /D_WINDOWS  /GR /EHsc 
/D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING   /EHsc /bigobj /W3 /wd4800 /WX 
/MP /MD /O2 /Ob2 /DNDEBUG /showIncludes 
/Fosrc\parquet\CMakeFiles\parquet_shared.dir\arrow\writer.cc.obj 
/Fdsrc\parquet\CMakeFiles\parquet_shared.dir\ /FS -c 
..\src\parquet\arrow\writer.cc
..\src\parquet/util/comparison.h(101): error C2220: warning treated as error - 
no 'object' file generated
..\src\parquet/util/comparison.h(101): warning C4910: 
'parquet::CompareDefault<parquet::BooleanType>': '__declspec(dllexport)' and 
'extern' are incompatible on an explicit instantiation
..\src\parquet/util/comparison.h(102): warning C4910: 
'parquet::CompareDefault<parquet::Int32Type>': '__declspec(dllexport)' and 
'extern' are incompatible on an explicit instantiation
..\src\parquet/util/comparison.h(103): warning C4910: 
'parquet::CompareDefault<parquet::Int64Type>': '__declspec(dllexport)' and 
'extern' are incompatible on an explicit instantiation
..\src\parquet/util/comparison.h(105): warning C4910: 
'parquet::CompareDefault<parquet::FloatType>': '__declspec(dllexport)' and 
'extern' are incompatible on an explicit instantiation
..\src\parquet/util/comparison.h(106): warning C4910: 
'parquet::CompareDefault<parquet::DoubleType>': '__declspec(dllexport)' and 
'extern' are incompatible on an explicit instantiation
```

these don't seem to be present in the Appveyor build in apache/parquet-cpp. 
Here is the compilation call there this code is compiled :

```
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64\CL.exe /c 
/I"C:\projects\parquet-cpp\build\src" /I"C:\projects\parquet-cpp\src" 
/IC:\Libraries\boost_1_63_0 
/I"C:\projects\parquet-cpp\build\thrift_ep\src\thrift_ep-install\include" 
/I"C:\projects\parquet-cpp\build\thrift_ep\src\thrift_ep-install\include\thrift"
 
/I"C:\projects\parquet-cpp\build\googletest_ep-prefix\src\googletest_ep\include"
 /I"C:\projects\parquet-cpp\build\release\include" 
/I"C:\Tools\vcpkg\installed\x64-windows\include" /nologo /W3 /WX /MP /O2 /Ob2 
/D WIN32 /D _WINDOWS /D NDEBUG /D _CRT_SECURE_NO_WARNINGS /D PARQUET_EXPORTING 
/D BOOST_ALL_NO_LIB /D HAVE_INTTYPES_H /D HAVE_NETDB_H /D NOMINMAX /D 
"CMAKE_INTDIR=\"Release\"" /D _MBCS /Gm- /EHsc /MT /GS /fp:precise /Zc:wchar_t 
/Zc:forScope /Zc:inline /GR /Fo"parquet_objlib.dir\Release\\" 
/Fd"parquet_objlib.dir\Release\parquet_objlib.pdb" /Gd /TP /wd4996 
/errorReport:queue  /bigobj 
"C:\projects\parquet-cpp\src\parquet\arrow\reader.cc" "C:\projects\parqu
 et-cpp\src\parquet\arrow\record_reader.cc" 
"C:\projects\parquet-cpp\src\parquet\arrow\writer.cc" 
"C:\projects\parquet-cpp\src\parquet\bloom_filter.cc" 
"C:\projects\parquet-cpp\src\parquet\column_reader.cc" 
"C:\projects\parquet-cpp\src\parquet\column_scanner.cc" 
"C:\projects\parquet-cpp\src\parquet\column_writer.cc" 
"C:\projects\parquet-cpp\src\parquet\exception.cc" 
"C:\projects\parquet-cpp\src\parquet\file_reader.cc" 
"C:\projects\parquet-cpp\src\parquet\file_writer.cc" 
"C:\projects\parquet-cpp\src\parquet\metadata.cc" 
"C:\projects\parquet-cpp\src\parquet\murmur3.cc" 
"C:\projects\parquet-cpp\build\src\parquet\parquet_constants.cpp" 
"C:\projects\parquet-cpp\build\src\parquet\parquet_types.cpp" 
"C:\projects\parquet-cpp\src\parquet\printer.cc" 
"C:\projects\parquet-cpp\src\parquet\statistics.cc" 
"C:\projects\parquet-cpp\src\parquet\types.cc" 
"C:\projects\parquet-cpp\src\parquet\util\comparison.cc" 
"C:\projects\parquet-cpp\src\parquet\util\memory.cc"
```

[ Full content available at: https://github.com/apache/arrow/pull/2453 ]
This message was relayed via gitbox.apache.org for [email protected]

Reply via email to