Search code examples
c++windowsvisual-studioboostchocolatey

How to only install Boost 64bit from a single Chocolatey package?


Currently, I am installing Boost using Chocolatey,

choco install -y boost-msvc-14.2 --version 1.74.0

This installs both the 32 and 64-bit version of the library. I believe I don't need the 32-bit version, and to save space and time (each version is ˜150MB, and the files are downloaded separately); I would like to download only one of the two versions.

$ choco install -y boost-msvc-14.2 --version 1.74.0
Chocolatey v2.3.0
Installing the following packages:
boost-msvc-14.2
By installing, you accept licenses for the packages.
Downloading package from source 'https://community.chocolatey.org/api/v2/'
Progress: Downloading boost-msvc-14.2 1.74.0... 100%
boost-msvc-14.2 v1.74.0 [Approved]
boost-msvc-14.2 package files install completed. Performing other installation steps.
Downloading boost-msvc-14.2 
  from 'https://downloads.sourceforge.net/project/boost/boost-binaries/1.74.0/boost_1_74_0-msvc-14.2-32.exe'
Progress: 100% - Completed download of C:\Users\gitlab_runner\AppData\Local\Temp\chocolatey\boost-msvc-14.2\1.74.0\boost_1_74_0-msvc-14.2-32.exe (150.86 MB).
Download of boost_1_74_0-msvc-14.2-32.exe (150.86 MB) completed.
Hashes match.
Installing boost-msvc-14.2...
boost-msvc-14.2 has been installed.
Downloading boost-msvc-14.2 64 bit
  from 'https://downloads.sourceforge.net/project/boost/boost-binaries/1.74.0/boost_1_74_0-msvc-14.2-64.exe'
Progress: 100% - Completed download of C:\Users\gitlab_runner\AppData\Local\Temp\chocolatey\boost-msvc-14.2\1.74.0\boost_1_74_0-msvc-14.2-64.exe (162.56 MB).
Download of boost_1_74_0-msvc-14.2-64.exe (162.56 MB) completed.
Hashes match.
Installing boost-msvc-14.2
...

How can I download (or at least install) only one of the architectures (64bit)?

Is there a command line for choco to install only one of the two versions?

(other scripted ways in Windows to install Boost are welcome)

This list he Choco page https://community.chocolatey.org/packages/boost-msvc-14.2


Solution

  • Looking at the package you have specified (boost-msvc-14.2), it intentionally installs both x86 and x64 versions of the libraries:

    This package includes Boost headers and libs compiled with Visual Studio 2019 for 32bit and 64bit Windows.

    There is no way to control this beyond modifying the package, or talking to the package maintainer to add package parameters (or handling for the x86/x64 arguments) to influence it.