What
vcpkg 빌드 매트릭스(<os>/<compiler> 4종)가 kcenon-common-system v0.2.0 의존성 다운로드 시 해시 불일치로 실패한다.
kcenon-common_system-v0.2.0.tar.gz: error: download from
https://github.com/kcenon/common_system/archive/v0.2.0.tar.gz had an unexpected hash
error: building kcenon-common-system failed with: BUILD_FAILED
Why (정정된 근본 원인)
정정 (2026-05-21): 최초 작성 시 vcpkg-registry portfile 해시 자체의 문제로 추정했으나, 정밀 진단 결과 레지스트리는 정상이며 logger_system 측 baseline pin이 stale한 것이 근본 원인이다. 아래는 정정된 분석이다.
logger_system/vcpkg-configuration.json의 git registry baseline이 kcenon/vcpkg-registry 커밋 50d89f5b1962e811dfb779bc46fa3d251db42ce7(2026-03-26)에 고정되어 있다. 그 시점의 versions/baseline.json은 kcenon-common-system을 port-version 0으로 가리키며, port-version 0의 portfile SHA512는 stale 값 7385ba3a...이다.
GitHub은 release archive tarball을 재생성할 수 있어 바이트 재현성이 보장되지 않으며, common_system v0.2.0 archive 해시가 ac458878...로 변동되어 port-version 0이 깨졌다.
vcpkg-registry는 이미 fix-forward 되어 현재 HEAD 1be52cbd3f11369cf9eb983c02c4404df3155cc3의 baseline은 kcenon-common-system을 port-version 3(portfile SHA512 ac458878..., 실제 archive 해시와 일치)으로 가리킨다. logger_system이 registry baseline을 갱신하지 않아 stale port-version 0에 묶여 있을 뿐이다.
- port-version 0 portfile SHA512 (stale):
7385ba3a073fea06604f71a7ffc016425408c768444cec2ec897537411926a7e1fad99f7215e6724b3668a6e227f0716dbdcdda462764f5c4e52709087751e26
- port-version 3 portfile SHA512 (정상):
ac458878395dbac632aa56a188f49d0c996e9334b67914d1e9a095d8f2bf45ea988232e31259758b595deb3374f833edfd91948a71a042f401a3db222600758c
- GitHub archive 실제 SHA512 (2026-05-21 측정):
ac458878... (port-version 3과 일치)
vcpkg를 우회하는 빌드 경로(Core-Only Build, FetchContent Pilot, Integration Tests)는 정상 통과한다. PR #637(docs-only)에서 발견.
Where
logger_system/vcpkg-configuration.json → registries[].baseline
How
해결 방안
vcpkg-configuration.json의 git registry baseline을 kcenon/vcpkg-registry 현재 HEAD로 갱신한다.
50d89f5b1962e811dfb779bc46fa3d251db42ce7 → 1be52cbd3f11369cf9eb983c02c4404df3155cc3
레지스트리 portfile/version DB 수정은 불필요하다(이미 정상). 1줄 변경으로 kcenon-common-system이 port-version 3으로 해소된다.
Acceptance Criteria
Relates to #636
What
vcpkg 빌드 매트릭스(
<os>/<compiler>4종)가kcenon-common-systemv0.2.0 의존성 다운로드 시 해시 불일치로 실패한다.Why (정정된 근본 원인)
logger_system/vcpkg-configuration.json의 git registrybaseline이kcenon/vcpkg-registry커밋50d89f5b1962e811dfb779bc46fa3d251db42ce7(2026-03-26)에 고정되어 있다. 그 시점의versions/baseline.json은kcenon-common-system을 port-version 0으로 가리키며, port-version 0의 portfile SHA512는 stale 값7385ba3a...이다.GitHub은 release archive tarball을 재생성할 수 있어 바이트 재현성이 보장되지 않으며,
common_systemv0.2.0 archive 해시가ac458878...로 변동되어 port-version 0이 깨졌다.vcpkg-registry는 이미 fix-forward 되어 현재 HEAD1be52cbd3f11369cf9eb983c02c4404df3155cc3의 baseline은kcenon-common-system을 port-version 3(portfile SHA512ac458878..., 실제 archive 해시와 일치)으로 가리킨다. logger_system이 registry baseline을 갱신하지 않아 stale port-version 0에 묶여 있을 뿐이다.7385ba3a073fea06604f71a7ffc016425408c768444cec2ec897537411926a7e1fad99f7215e6724b3668a6e227f0716dbdcdda462764f5c4e52709087751e26ac458878395dbac632aa56a188f49d0c996e9334b67914d1e9a095d8f2bf45ea988232e31259758b595deb3374f833edfd91948a71a042f401a3db222600758cac458878...(port-version 3과 일치)vcpkg를 우회하는 빌드 경로(
Core-Only Build,FetchContent Pilot,Integration Tests)는 정상 통과한다. PR #637(docs-only)에서 발견.Where
logger_system/vcpkg-configuration.json→registries[].baselineHow
해결 방안
vcpkg-configuration.json의 git registry baseline을kcenon/vcpkg-registry현재 HEAD로 갱신한다.50d89f5b1962e811dfb779bc46fa3d251db42ce7→1be52cbd3f11369cf9eb983c02c4404df3155cc3레지스트리 portfile/version DB 수정은 불필요하다(이미 정상). 1줄 변경으로
kcenon-common-system이 port-version 3으로 해소된다.Acceptance Criteria
vcpkg-configuration.jsonregistry baseline이 port-version 3 이상을 해소하는 커밋으로 갱신ubuntu gcc/clang,macos clang,windows msvc)이 vcpkg 경로로 통과Relates to #636