Uploaded image for project: 'Apache Arrow'
  1. Apache Arrow
  2. ARROW-8248

[C++] vcpkg build clobbers arrow.lib from shared (.dll) with static (.lib)

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Not A Problem
    • Affects Version/s: 0.16.0
    • Fix Version/s: None
    • Component/s: C++, Developer Tools
    • Labels:
      None

      Description

      After installing Arrow via vcpkg, build the library per the steps below. CMake builds the shared arrow library (.dll) and then the static arrow library (.lib). It overwrites the shared arrow.lib (exports) with the static arrow.lib. This results in multiple link/execution problems when using the vc projects to build the example projects until you realize that shared arrow needs to be rebuilt. (This took me two days.) 

      Also, many of the projects added with the extra -D flags (beyond ARROW_BUILD_TESTS) don't build.

      ***

      "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\Tools\VsDevCmd.bat" -arch=amd64

      cd F:\Dev\vcpkg\buildtrees\arrow\src\row-0.16.0-872c330822\cpp

      mkdir build

      cd build

      cmake .. -G "Visual Studio 15 2017 Win64" -DARROW_BUILD_TESTS=ON -DARROW_BUILD_EXAMPLES=ON -DARROW_PARQUET=ON -DARROW_PYTHON=ON -DCMAKE_BUILD_TYPE=Debug

      cmake --build . --config Debug

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              swilson314 Scott Wilson
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: