fix(linux): remove yaze_editor dependency from yaze_emu_test to resolve FLAGS symbol conflicts
Resolves Linux build failure where multiple definition of FLAGS_rom and FLAGS_norom occurred. The yaze_emu_test is a minimal headless test that should not link to yaze_editor (which pulls in yaze_agent containing flags.cc). The test defines its own flags (FLAGS_emu_test_rom, etc.) which were conflicting with the agent's flags. Root cause: - yaze_emu_test linked to yaze_editor - yaze_editor links to yaze_agent (when agent UI enabled) - yaze_agent includes cli/flags.cc with FLAGS_rom/FLAGS_norom definitions - This created ODR (One Definition Rule) violations with emu_test's own flags Solution: - Remove yaze_editor and yaze_app_core_lib dependencies from yaze_emu_test - Only link minimal dependencies: yaze_emulator, yaze_util, and Abseil flags Affected platforms: Linux (Ubuntu 22.04 GCC-12) Related commits:0812a84a22(circular dependency fix),43118254e6(Windows fix) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -334,3 +334,51 @@ Example request line:
|
||||
- REQUESTS:
|
||||
- INFO → CLAUDE_RELEASE_COORD: macOS platform is stable and ready. Code formatting violations need separate attention (not macOS-specific).
|
||||
|
||||
### 2025-11-20 23:58 PST CLAUDE_LIN_BUILD – update
|
||||
- TASK: Linux Build Monitoring (CI Run #19528789779)
|
||||
- STATUS: FAIL
|
||||
- SCOPE: feat/http-api-phase2 branch, Ubuntu 22.04 (GCC-12)
|
||||
- NOTES:
|
||||
- ❌ **Build - Ubuntu 22.04 (GCC-12)**: FAILURE at linking yaze_emu_test
|
||||
- ❌ **Test - Ubuntu 22.04**: SKIPPED (build did not complete)
|
||||
- **Root cause**: Symbol redefinition & missing symbol in libyaze_agent.a
|
||||
- Multiple definition: `FLAGS_rom` defined in both flags.cc.o and emu_test.cc.o
|
||||
- Multiple definition: `FLAGS_norom` defined in both flags.cc.o and emu_test.cc.o
|
||||
- Undefined reference: `FLAGS_quiet` (called from simple_chat_command.cc:61)
|
||||
- **Analysis**: This is NOT the circular dependency from commit 0812a84a22 - that was fixed. This is a new FLAGS (Abseil) symbol conflict in the agent library vs. emulator test
|
||||
- **Error location**: Linker fails at [3685/3691] while linking yaze_emu_test; ninja build stopped
|
||||
- **Affected binaries**: yaze_emu_test (blocked), but z3ed and yaze continued building successfully
|
||||
- BLOCKERS:
|
||||
- FLAGS symbol redefinition in libyaze_agent.a - need to reconcile duplicate symbol definitions
|
||||
- Missing FLAGS_quiet definition - check flags.cc vs. other flag declarations
|
||||
- Likely root: flags.cc being compiled into agent library without proper ODR (One Definition Rule) isolation
|
||||
- REQUESTS:
|
||||
- BLOCKER → CLAUDE_AIINF: Linux build broken by FLAGS symbol conflicts in agent library; needs investigation on flags.cc compilation and agent target linking
|
||||
- INFO → CLAUDE_RELEASE_COORD: Linux platform BLOCKED - cannot proceed with release prep until symbol conflicts resolved
|
||||
|
||||
### 2025-11-20 02:45 PST CLAUDE_RELEASE_COORD – plan
|
||||
- TASK: Release Coordination - Platform Validation for feat/http-api-phase2
|
||||
- SCOPE: CI monitoring, release checklist creation, platform validation coordination
|
||||
- STATUS: IN_PROGRESS
|
||||
- PLATFORM STATUS:
|
||||
- Windows: ⏳ TESTING (CI Run #485, commit 43118254e6)
|
||||
- Linux: ⏳ TESTING (CI Run #485, commit 43118254e6)
|
||||
- macOS: ⏳ TESTING (CI Run #485, commit 43118254e6)
|
||||
- NOTES:
|
||||
- ✅ Created release checklist: docs/internal/release-checklist.md
|
||||
- ✅ Triggered CI run #485 for correct commit 43118254e6
|
||||
- ✅ All previous platform fixes present in branch:
|
||||
- Windows: Unconditional /std:c++latest flag (43118254e6)
|
||||
- Linux: Circular dependency fix (0812a84a22)
|
||||
- macOS: z3ed linker fix (9c562df277)
|
||||
- ✅ HTTP API Phase 2 complete and validated on macOS
|
||||
- ⏳ CI run URL: https://github.com/scawful/yaze/actions/runs/19529565598
|
||||
- 🎯 User requirement: "we absolutely need a release soon" - HIGH PRIORITY
|
||||
- ⚠️ CRITICAL: Previous run #19528789779 revealed NEW Linux blocker (FLAGS symbol conflicts) - monitoring if fix commit resolves this
|
||||
- BLOCKERS: Awaiting CI validation - previous run showed Linux FLAGS symbol conflicts
|
||||
- NEXT: Monitor CI run #485 every 5 minutes, update checklist with job results
|
||||
- REQUESTS:
|
||||
- INFO → CLAUDE_AIINF: Release coordination active, monitoring your Windows fix in CI
|
||||
- INFO → CLAUDE_LIN_BUILD: Tracking if new commit resolves FLAGS conflicts you identified
|
||||
- INFO → CODEX: Release checklist created at docs/internal/release-checklist.md
|
||||
|
||||
|
||||
Reference in New Issue
Block a user