Uploaded image for project: 'MariaDB ColumnStore'
  1. MariaDB ColumnStore
  2. MCOL-1634

Include Windows library build into mcsapi

Details

    • Task
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • 1.1.6
    • 1.1.7, 1.2.0
    • None
    • None
    • Windows 10 (x64)
    • 2018-16, 2018-17, 2018-18

    Description

      Currently one needs to manually build all dependent C++ libraries (libuv, snappy, boost, libxml2, libiconv, gtest etc.) and add them to their Visual Studio installation.

      Efforts shall be made to automate the build of the dependent libraries for Windows and include them directly into the build process so that no manual dependency management is needed any more.

      This could be done through Visual Studio's packet manager nuget, through git submodules of needed libraries or a combination of both.

      Attachments

        Activity

          jens.rowekamp Jens Röwekamp (Inactive) created issue -
          jens.rowekamp Jens Röwekamp (Inactive) made changes -
          Field Original Value New Value
          Sprint 2018-16 [ 269 ]
          jens.rowekamp Jens Röwekamp (Inactive) made changes -
          Description To operate mcsapi on Windows 10, Microsoft Visual C++ Redistributables are needed.

          These shall be added to the installer so that a customer doesn't need to obtain them in an additional step.

          Needed Redistributables:
          - Microsoft Visual C++ 2015 Redistributable (x64)
          - Microsoft Visual C++ 2012 Redistributable (x64)
          Currently one needs to manually build all dependent C++ libraries (libuv, snappy, boost, libxml2, libiconv, gtest etc.) and add them to their Visual Studio installation.

          Efforts shall be made to automate the build of the dependent libraries for Windows and include them directly into the build process so that no manual dependency management is needed any more.

          This could be done through Visual Studio's packet manager _nuget_, through git submodules of needed libraries or a combination of both.
          jens.rowekamp Jens Röwekamp (Inactive) made changes -
          Summary mcsapi Windows - add needed Windows Redistributables to installer Include Windows library build into mcsapi
          jens.rowekamp Jens Röwekamp (Inactive) made changes -
          Issue Type New Feature [ 2 ] Task [ 3 ]
          jens.rowekamp Jens Röwekamp (Inactive) made changes -
          Status Open [ 1 ] Confirmed [ 10101 ]

          Some dependent libraries weren't able to be built through cmake, but through cygwin or batch scripts. Therefore, the automation would have been more complicated.

          As a result I decided to add an archive of pre-compiled dependent libraries to the documentation whose contents can be directly copied to the Visual Studio installation. This way we ensure that we use the same libraries for every build. The archive is hosted in our ColumnStore Google Drive so that we have version control as well.

          I further documented how each library of the archive was acquired or built, and if our mcsapi needs the static or shared variant. This way updates of dependent libraries should be easily possible in the future.

          I further changed from dynamic googletest libraries to static googletest libraries and adapted the CMake scripts accordingly.

          For QA:
          Built the bulk write adapter on a clean Windows 10 machine according to the documentation and run the regression test suite.

          jens.rowekamp Jens Röwekamp (Inactive) added a comment - Some dependent libraries weren't able to be built through cmake, but through cygwin or batch scripts. Therefore, the automation would have been more complicated. As a result I decided to add an archive of pre-compiled dependent libraries to the documentation whose contents can be directly copied to the Visual Studio installation. This way we ensure that we use the same libraries for every build. The archive is hosted in our ColumnStore Google Drive so that we have version control as well. I further documented how each library of the archive was acquired or built, and if our mcsapi needs the static or shared variant. This way updates of dependent libraries should be easily possible in the future. I further changed from dynamic googletest libraries to static googletest libraries and adapted the CMake scripts accordingly. For QA: Built the bulk write adapter on a clean Windows 10 machine according to the documentation and run the regression test suite.
          jens.rowekamp Jens Röwekamp (Inactive) made changes -
          Assignee Jens Röwekamp [ jens.rowekamp ] David Thompson [ dthompson ]
          Status Confirmed [ 10101 ] In Review [ 10002 ]
          jens.rowekamp Jens Röwekamp (Inactive) made changes -
          Assignee David Thompson [ dthompson ] Stepan Patryshev [ stepan.patryshev ]
          jens.rowekamp Jens Röwekamp (Inactive) made changes -
          Status In Review [ 10002 ] In Testing [ 10301 ]
          LinuxJedi Andrew Hutchings (Inactive) made changes -
          Sprint 2018-16 [ 269 ] 2018-16, 2018-17 [ 269, 276 ]
          dthompson David Thompson (Inactive) made changes -
          Fix Version/s 1.2.0 [ 22901 ]
          Fix Version/s 1.2 [ 22554 ]
          LinuxJedi Andrew Hutchings (Inactive) made changes -
          Sprint 2018-16, 2018-17 [ 269, 276 ] 2018-16, 2018-17, 2018-18 [ 269, 276, 278 ]
          stepan.patryshev Stepan Patryshev (Inactive) made changes -
          Assignee Stepan Patryshev [ stepan.patryshev ] Zdravelina Sokolovska [ winstone ]
          LinuxJedi Andrew Hutchings (Inactive) made changes -
          Assignee Zdravelina Sokolovska [ winstone ] Andrew Hutchings [ linuxjedi ]

          Buildbot proves this is working.

          LinuxJedi Andrew Hutchings (Inactive) added a comment - Buildbot proves this is working.
          LinuxJedi Andrew Hutchings (Inactive) made changes -
          Resolution Fixed [ 1 ]
          Status In Testing [ 10301 ] Closed [ 6 ]
          leonid.fedorov Leonid Fedorov made changes -
          Component/s mcsapi [ 14100 ]

          People

            LinuxJedi Andrew Hutchings (Inactive)
            jens.rowekamp Jens Röwekamp (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.