What is the Arrow version of your setup? Can you verify if you see the same
issue on parquet-cpp master?
It is possible we are missing the boost filesystem library dependency for
the static build with MSVC.

On Sat, Jan 6, 2018 at 10:33 AM, ALeX Wang <[email protected]> wrote:

> Okay, my following change makes it working,,, could anyone please help
> confirm,
>
> ```
> diff --git a/CMakeLists.txt b/CMakeLists.txt
> index fef0cab..25defd6 100644
> --- a/CMakeLists.txt
> +++ b/CMakeLists.txt
> @@ -500,7 +500,8 @@ if (PARQUET_BOOST_USE_SHARED)
>  else()
>    set(BOOST_LINK_LIBS
>      boost_static_regex
> -    boost_static_system)
> +    boost_static_system
> +    boost_static_filesystem)
>  endif()
>
>  #############################################################
> diff --git a/cmake_modules/ThirdpartyToolchain.cmake
> b/cmake_modules/ThirdpartyToolchain.cmake
> index 1221765..d19c4eb 100644
> --- a/cmake_modules/ThirdpartyToolchain.cmake
> +++ b/cmake_modules/ThirdpartyToolchain.cmake
> @@ -81,13 +81,15 @@ if (PARQUET_BOOST_USE_SHARED)
>  else()
>    # Find static Boost libraries.
>    set(Boost_USE_STATIC_LIBS ON)
> -  find_package(Boost COMPONENTS regex system REQUIRED)
> +  find_package(Boost COMPONENTS regex system filesystem REQUIRED)
>    if ("${UPPERCASE_BUILD_TYPE}" STREQUAL "DEBUG")
>      set(BOOST_STATIC_REGEX_LIBRARY ${Boost_REGEX_LIBRARY_DEBUG})
>      set(BOOST_STATIC_SYSTEM_LIBRARY ${Boost_SYSTEM_LIBRARY_DEBUG})
> +    set(BOOST_STATIC_FILESYSTEM_LIBRARY ${Boost_FILESYSTEM_LIBRARY_
> DEBUG})
>    else()
>      set(BOOST_STATIC_REGEX_LIBRARY ${Boost_REGEX_LIBRARY_RELEASE})
>      set(BOOST_STATIC_SYSTEM_LIBRARY ${Boost_SYSTEM_LIBRARY_RELEASE})
> +    set(BOOST_STATIC_FILESYSTEM_LIBRARY
> ${Boost_FILESYSTEM_LIBRARY_RELEASE})
>    endif()
>  endif()
>
> @@ -115,6 +117,8 @@ else()
>    set_target_properties(boost_static_regex PROPERTIES IMPORTED_LOCATION
> ${BOOST_STATIC_REGEX_LIBRARY})
>    add_library(boost_static_system STATIC IMPORTED)
>    set_target_properties(boost_static_system PROPERTIES IMPORTED_LOCATION
> ${BOOST_STATIC_SYSTEM_LIBRARY})
> +  add_library(boost_static_filesystem STATIC IMPORTED)
> +  set_target_properties(boost_static_filesystem PROPERTIES
> IMPORTED_LOCATION ${BOOST_STATIC_FILESYSTEM_LIBRARY})
>  endif()
>
>  include_directories(SYSTEM ${Boost_INCLUDE_DIRS})
> ```
>
> On 5 January 2018 at 20:29, ALeX Wang <[email protected]> wrote:
>
> > Also, i'm building from
> >
> > ```
> > commit 18ca3922e688a3a730d693ff8f2cfbfd65da8c46
> > Author: Uwe L. Korn <[email protected]>
> > Date:   Sun Sep 17 13:55:43 2017 -0400
> >
> >     PARQUET-1094: Add benchmark for boolean Arrow column I/O
> >
> >     Author: Uwe L. Korn <[email protected]>
> >
> >     Closes #391 from xhochy/PARQUET-1094 and squashes the following
> > commits:
> >
> >     089bb3c [Uwe L. Korn] PARQUET-1094: Add benchmark for boolean Arrow
> > column I/O
> > ```
> >
> > On 5 January 2018 at 20:27, ALeX Wang <[email protected]> wrote:
> >
> >> Hi,
> >>
> >> I'm referring to the https://github.com/apache/
> >> parquet-cpp/blob/master/ci/travis_script_static.sh
> >> and try to build static library,
> >>
> >> My cmake cmdline looks like:
> >> ```
> >> cmake3 -DCMAKE_BUILD_TYPE=Release -DPARQUET_BUILD_EXAMPLES=OFF
> >> -DPARQUET_BUILD_TESTS=OFF  -DPARQUET_ARROW_LINKAGE="static"
> >>  -DPARQUET_BUILD_SHARED=OFF -DPARQUET_BOOST_USE_SHARED=OFF  .
> >> ```
> >>
> >> However, the compilation failed with:
> >> ```
> >> [ 90%] Linking CXX executable ../build/release/parquet-scan
> >> ../build/release/libarrow.a(file.cc.o): In function
> >> `arrow::io::FileOutputStream::Open(std::string const&, bool,
> >> std::shared_ptr<arrow::io::FileOutputStream>*)':
> >> file.cc:(.text+0x2f1f): undefined reference to
> >> `boost::filesystem::path::codecvt()'
> >> ../build/release/libarrow.a(file.cc.o): In function
> >> `arrow::io::ReadableFile::Open(std::string const&, arrow::MemoryPool*,
> >> std::shared_ptr<arrow::io::ReadableFile>*)':
> >> file.cc:(.text+0x33d0): undefined reference to
> >> `boost::filesystem::path::codecvt()'
> >> ../build/release/libarrow.a(file.cc.o): In function
> >> `arrow::io::ReadableFile::Open(std::string const&,
> >> std::shared_ptr<arrow::io::ReadableFile>*)':
> >> file.cc:(.text+0x3865): undefined reference to
> >> `boost::filesystem::path::codecvt()'
> >> ../build/release/libarrow.a(file.cc.o): In function
> >> `arrow::io::MemoryMappedFile::MemoryMap::Open(std::string const&,
> >> arrow::io::FileMode::type)':
> >> file.cc:(.text._ZN5arrow2io16MemoryMappedFile9MemoryMap4Open
> >> ERKSsNS0_8FileMode4typeE[_ZN5arrow2io16MemoryMappedFile9Memo
> >> ryMap4OpenERKSsNS0_8FileMode4typeE]+0xba): undefined reference to
> >> `boost::filesystem::path::codecvt()'
> >> file.cc:(.text._ZN5arrow2io16MemoryMappedFile9MemoryMap4Open
> >> ERKSsNS0_8FileMode4typeE[_ZN5arrow2io16MemoryMappedFile9Memo
> >> ryMap4OpenERKSsNS0_8FileMode4typeE]+0x186): undefined reference to
> >> `boost::filesystem::path::codecvt()'
> >> collect2: error: ld returned 1 exit status
> >> ```
> >>
> >> Any idea where I did wrong?
> >>
> >> Thanks,
> >> --
> >> Alex Wang,
> >> Open vSwitch developer
> >>
> >
> >
> >
> > --
> > Alex Wang,
> > Open vSwitch developer
> >
>
>
>
> --
> Alex Wang,
> Open vSwitch developer
>



-- 
regards,
Deepak Majeti

Reply via email to