Skip to content

Self-host M5: commit php-cfg/php-llvm prelinked .o for vendor-absent cold boot #2865

Description

@PurHur

Milestone

M5 (cold boot) — parent #1492 / #2849 (native rebuild path)

Problem

With vendor/ moved aside, php script/bootstrap-vendor-objects.php --compile reports:

OK ircmaxell/php-types → prelinked/bootstrap-vendor/ircmaxell-php-types.o (cold boot: committed prelink)
bootstrap-vendor-objects: 2 package(s) missing committed prelink .o (vendor/ absent)

make north-star5-verify is green when vendor/ is present (3/3 object_ok), but a fresh clone without Composer cannot link php-cfg/php-llvm into the bootstrap floor. M5 requires no vendor/autoload.php at cold boot (#1416).

Scope

Path Work
prelinked/bootstrap-vendor/ircmaxell-php-cfg.o Commit LLVM 9 object (or reproducible build script)
prelinked/bootstrap-vendor/ircmaxell-php-llvm.o Same
prelinked/bootstrap-vendor/manifest.json object_ok / cold-boot metadata for all 3 packages
script/bootstrap-vendor-prelink-lib.php bootstrapVendorPrelinkColdBootCompileFromCommitted() — verify + link path
script/bootstrap-vendor-objects.php Exit 0 on --compile when only committed .o required

Repro

./script/docker-exec.sh -- bash -lc 'mv vendor vendor.bak; php script/bootstrap-vendor-objects.php --compile; mv vendor.bak vendor'
# expect exit 0 + 3/3 object_ok without vendor/

Done when

  • Repro exits 0 with vendor/ absent (no Missing vendor autoload for php-cfg/php-llvm)
  • make north-star5-verify passes with vendor/ moved aside
  • Regenerate manifest via php script/bootstrap-vendor-objects.php (committed artifacts checked in)

Labels: self-host, bootstrap, IMPORTANT

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    MOST IMPORTANTThis are the most important targetsphase-0:FoundationPhase 0 – foundation & DevEx

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions