~/talk

How Can Package Managers Handle ABI (In)compatibility in C++?

Talkat CppCon 2021 · on Friday, 2021-10-29· at 07:45· Online E, online· [devops-and-delivery, databases]
slides:none on file

Compares how Conan, vcpkg and Spack handle ABI, demonstrates a solver rewrite using clingo (answer set programming) that reasons over compiler, target and option metadata instead of coarse semver, and replaces brittle hash-only reuse with metadata-aware matching of installed binaries. Claims this reduces rebuilds from dozens to a handful on realistic HPC stacks, shows a working concretizer and binary-reuse prototype, and proposes adding detailed symbol/type info to scale ABI analysis beyond ad hoc version constraints.

AI-written summary · about

  1. 0:00Introduction
  2. 1:08Software Dependencies
  3. 2:57Studies on Software Dependencies
  4. 4:40JetBrains Survey
  5. 5:35Why Cant We Have Nice Package Managers
  6. 6:46Compatibility Model
  7. 7:30C Builds
  8. 8:12What is ABI
  9. 9:08Typical ABI model
  10. 10:48Library ABI models
  11. 12:33Dependency management
  12. 16:27How can package managers help
  13. 17:19What is a package manager
  14. 18:53Build systems
  15. 20:50Solving for versions
  16. 22:23A more complex example
  17. 23:46Build everything from source
  18. 26:31Dependency resolution
  19. 27:10Package hashes
  20. 28:23Package ids
  21. 29:29Package id customization
  22. 31:58Binary reuse
  23. 33:17Use cases
  24. 39:32Dependency Resolver
  25. 41:11Constraint
  26. 43:57Virtual Packages
  27. 44:36Learning Curve
  28. 46:54major simplifications
  29. 47:58package metadata
  30. 49:49reuse
  31. 50:47detail
  32. 51:17solver
  33. 52:06semantic versioning
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.