[GH-ISSUE #5113] [Bug] Hopper setup fails on vanilla Arch when zlib-ng-compat provides zlib (docs scope this to CachyOS only) #3149

Closed
opened 2026-10-31 00:37:12 +00:00 by bsakaguchi · 1 comment
Owner

Originally created by @GraveEaterMadison on GitHub (Oct 18, 2026).
Original GitHub issue: https://github.com/morluto/rea/issues/5113

Observed behavior

npx rea-agents@6.7.0 setup fails at the optional Hopper install step on vanilla Arch Linux.
The system package-manager step aborts and setup exits, reporting:

✗ Hopper deep-analysis provider · The system package-manager command failed
(pkexec pacman -U --noconfirm /tmp/rea-hopper-*/hopper.arch; exit 1); its output:
error: unresolvable package conflicts detected
error: failed to prepare transaction (conflicting dependencies)
:: zlib-1:1.3.2-4 and zlib-ng-compat-2.3.3-1 are in conflict. Remove zlib-ng-compat? [y/N]

Because the Hopper step runs before the agent-config and skill writes, the whole setup aborts and none of the other planned changes are applied. This matches the known limitation PR #2632 made visible (it preserves and quotes the pacman output). This report adds two things that PR did not establish: (1) the failure is not limited to CachyOS, and (2) on vanilla Arch the documented remedy is not safely actionable.

Reproduction

Host: vanilla Arch Linux (ID=arch, not CachyOS), x86_64. Reproduced 2/2 runs.

  1. On a host where zlib is provided only by zlib-ng-compat (the Arch default), run:
    npx rea-agents@6.7.0 setup
  2. Select any agents; choose "Yes" to "Install Hopper for deep binary analysis?".
  3. Approve the plan. Setup invokes pkexec pacman -U --noconfirm <hopper.arch>.
  4. Observe the pacman conflict abort shown above and the setup exit.

Expected behavior

Either:

  • the Hopper package installs on a standard Arch host, or
  • setup detects the unversioned-provider conflict before invoking the package manager and degrades cleanly — skip Hopper, report that deep-analysis is unavailable, and still apply the remaining MCP registrations and skill installs instead of aborting the entire setup.

Impact and scope

  • High frequency (deterministic on affected hosts).
  • Scope beyond Hopper: because the Hopper step aborts setup, a user who selected 18 agents gets zero of the 25 config/skill changes. A single optional component's host incompatibility blocks an otherwise unrelated, fully-supported setup. This is the main actionable gap.
  • No remedy on this class of host: docs/installation.md says to "resolve the package conflict yourself," but here zlib-ng-compat is Required By 315 installed packages (core toolchain, Chromium, Electron, LibreOffice, etc.). Removing it to swap in zlib would require reinstalling a large fraction of the system, so "resolve it yourself" is not a realistic recovery path.
  • No data/evidence integrity impact; analysis surfaces unaffected. Not investigated: whether the same abort occurs on the Ghidra/IDA install lanes.

REA version

rea-agents@6.7.0 (via npx)

Runtime and platform

Node v26.11.1; Arch Linux rolling (ID=arch); x86_64; Hopper not installed (install aborted)

Target and artifact context

not applicable

Interface

Package or setup

Earliest failure stage

Setup or provider admission

Relevant output or evidence

Command actually run: npx rea-agents@6.7.0 setup, Hopper accepted.
Result: pkexec pacman -U --noconfirm /tmp/rea-hopper-7wtB0I/hopper.arch exited 1 with the conflict text quoted above.

Host package facts (source: pacman -Qi / pacman -Si):

zlib-ng-compat 2.3.3-1   extra   Provides: zlib, libz.so=1-64   Conflicts With: zlib
zlib           1:1.3.2-4 core    Conflicts With: (none)
zlib-ng-compat "Required By": 315 packages

Source-derived cause (from PR #2632, not independently confirmed against the package here): the Hopper package declares depend = zlib>=1.3. zlib-ng-compat declares an unversioned Provides: zlib, which satisfies pacman -T zlib but not pacman -T 'zlib>=1.3'. pacman then resolves the versioned dependency to the real zlib package, which conflicts with the installed zlib-ng-compat.

Missing evidence / remaining uncertainty:

  • I did not download and inspect the Hopper .PKGINFO, so the zlib>=1.3 dependency and whether it is hard vs. optional are taken from PR #2632, not verified here.
  • Not confirmed whether Provides: zlib=1.3.2 (a versioned provide) on the distro side, or a relaxed Hopper dependency, would resolve it.

Analysis or suspected cause

Source-derived (per PR #2632): versioned zlib dependency + unversioned provide. Hypothesis for a cleaner outcome: an unversioned Provides: zlib cannot satisfy zlib>=1.3; either a versioned provide or a host pre-check would avoid invoking pacman against an unresolvable transaction.

Additional context

The docs (docs/installation.md) frame this as CachyOS-specific ("On CachyOS, an unversioned compatibility package such as zlib-ng-compat may conflict..."). This report shows it reproduces on vanilla Arch (ID=arch) as well, so the doc wording likely understates the affected scope. Related: PR #2632 (reporting only, no fix).

Originally created by @GraveEaterMadison on GitHub (Oct 18, 2026). Original GitHub issue: https://github.com/morluto/rea/issues/5113 ## Observed behavior `npx rea-agents@6.7.0 setup` fails at the optional Hopper install step on vanilla Arch Linux. The system package-manager step aborts and setup exits, reporting: ✗ Hopper deep-analysis provider · The system package-manager command failed (pkexec pacman -U --noconfirm /tmp/rea-hopper-*/hopper.arch; exit 1); its output: error: unresolvable package conflicts detected error: failed to prepare transaction (conflicting dependencies) :: zlib-1:1.3.2-4 and zlib-ng-compat-2.3.3-1 are in conflict. Remove zlib-ng-compat? [y/N] Because the Hopper step runs before the agent-config and skill writes, the whole setup aborts and **none** of the other planned changes are applied. This matches the known limitation PR #2632 made visible (it preserves and quotes the pacman output). This report adds two things that PR did not establish: (1) the failure is not limited to CachyOS, and (2) on vanilla Arch the documented remedy is not safely actionable. ## Reproduction Host: vanilla Arch Linux (`ID=arch`, not CachyOS), x86_64. Reproduced 2/2 runs. 1. On a host where `zlib` is provided only by `zlib-ng-compat` (the Arch default), run: npx rea-agents@6.7.0 setup 2. Select any agents; choose "Yes" to "Install Hopper for deep binary analysis?". 3. Approve the plan. Setup invokes `pkexec pacman -U --noconfirm <hopper.arch>`. 4. Observe the pacman conflict abort shown above and the setup exit. ## Expected behavior Either: - the Hopper package installs on a standard Arch host, or - setup detects the unversioned-provider conflict **before** invoking the package manager and degrades cleanly — skip Hopper, report that deep-analysis is unavailable, and **still apply the remaining MCP registrations and skill installs** instead of aborting the entire setup. ## Impact and scope - High frequency (deterministic on affected hosts). - Scope beyond Hopper: because the Hopper step aborts setup, a user who selected 18 agents gets **zero** of the 25 config/skill changes. A single optional component's host incompatibility blocks an otherwise unrelated, fully-supported setup. This is the main actionable gap. - No remedy on this class of host: `docs/installation.md` says to "resolve the package conflict yourself," but here `zlib-ng-compat` is `Required By` 315 installed packages (core toolchain, Chromium, Electron, LibreOffice, etc.). Removing it to swap in `zlib` would require reinstalling a large fraction of the system, so "resolve it yourself" is not a realistic recovery path. - No data/evidence integrity impact; analysis surfaces unaffected. Not investigated: whether the same abort occurs on the Ghidra/IDA install lanes. ## REA version rea-agents@6.7.0 (via npx) ## Runtime and platform Node v26.11.1; Arch Linux rolling (ID=arch); x86_64; Hopper not installed (install aborted) ## Target and artifact context not applicable ## Interface Package or setup ## Earliest failure stage Setup or provider admission ## Relevant output or evidence Command actually run: `npx rea-agents@6.7.0 setup`, Hopper accepted. Result: `pkexec pacman -U --noconfirm /tmp/rea-hopper-7wtB0I/hopper.arch` exited 1 with the conflict text quoted above. Host package facts (source: `pacman -Qi` / `pacman -Si`): zlib-ng-compat 2.3.3-1 extra Provides: zlib, libz.so=1-64 Conflicts With: zlib zlib 1:1.3.2-4 core Conflicts With: (none) zlib-ng-compat "Required By": 315 packages Source-derived cause (from PR #2632, not independently confirmed against the package here): the Hopper package declares `depend = zlib>=1.3`. `zlib-ng-compat` declares an **unversioned** `Provides: zlib`, which satisfies `pacman -T zlib` but not `pacman -T 'zlib>=1.3'`. pacman then resolves the versioned dependency to the real `zlib` package, which conflicts with the installed `zlib-ng-compat`. Missing evidence / remaining uncertainty: - I did not download and inspect the Hopper `.PKGINFO`, so the `zlib>=1.3` dependency and whether it is hard vs. optional are taken from PR #2632, not verified here. - Not confirmed whether `Provides: zlib=1.3.2` (a versioned provide) on the distro side, or a relaxed Hopper dependency, would resolve it. ## Analysis or suspected cause Source-derived (per PR #2632): versioned zlib dependency + unversioned provide. Hypothesis for a cleaner outcome: an unversioned `Provides: zlib` cannot satisfy `zlib>=1.3`; either a versioned provide or a host pre-check would avoid invoking pacman against an unresolvable transaction. ## Additional context The docs (`docs/installation.md`) frame this as CachyOS-specific ("On CachyOS, an unversioned compatibility package such as zlib-ng-compat may conflict..."). This report shows it reproduces on vanilla Arch (`ID=arch`) as well, so the doc wording likely understates the affected scope. Related: PR #2632 (reporting only, no fix).
Author
Owner

@XinwangTao commented on GitHub (Oct 19, 2026):

Confirmed — this hits vanilla Arch, not just CachyOS, so the docs scope is too narrow. The core problem is sequencing: an optional provider's host incompatibility aborts the whole setup and the user gets zero of the other 24 config/skill changes. That's the real bug to fix.

I'd support making the Hopper step non-fatal (skip + report deep-analysis unavailable, continue with the rest), and ideally pre-detect the zlib-ng-compat conflict before invoking pkexec so the user isn't dropped into a raw pacman prompt. PR #5120 already moves the right direction for keeping client/skill setup; it'd be good to also emit an actionable message telling Arch users how to resolve the conflict (e.g. temporarily replacing zlib-ng-compat with zlib) if they do want Hopper.

<!-- gh-comment-id:6260090713 --> @XinwangTao commented on GitHub (Oct 19, 2026): Confirmed — this hits vanilla Arch, not just CachyOS, so the docs scope is too narrow. The core problem is sequencing: an optional provider's host incompatibility aborts the whole setup and the user gets zero of the other 24 config/skill changes. That's the real bug to fix. I'd support making the Hopper step non-fatal (skip + report deep-analysis unavailable, continue with the rest), and ideally pre-detect the zlib-ng-compat conflict before invoking pkexec so the user isn't dropped into a raw pacman prompt. PR #5120 already moves the right direction for keeping client/skill setup; it'd be good to also emit an actionable message telling Arch users how to resolve the conflict (e.g. temporarily replacing zlib-ng-compat with zlib) if they do want Hopper.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#3149
No description provided.