• Package management

  • ABI compatibility


  • C++ package management is a real issue

    • DEB package repositories (Debian, Ubuntu, etc.)

      • Require administrator (root) priviliges

      • Almost always provide outdated libraries

    • Snap package repository (Ubuntu)

      • May provide more up-to-date libraries, but comes with additional challenges around sandboxed environments

    • Conda package repositories (Linux, macOS, etc.)

      • ABI compatibility ensured by using standard compiler and compiler flags

      • conda-forge is almost always using latest release of open-source libraries

      • Widely adopted in the data-analytics community