Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

conf-pkg-config fails on macOS/homebrew #27224

Open
kit-ty-kate opened this issue Jan 7, 2025 · 2 comments
Open

conf-pkg-config fails on macOS/homebrew #27224

kit-ty-kate opened this issue Jan 7, 2025 · 2 comments

Comments

@kit-ty-kate
Copy link
Member

kit-ty-kate commented Jan 7, 2025

$ opam install --update-invariant ocaml-base-compiler.5.3.0~rc1
[WARNING] Opam package conf-pkg-config.3 depends on the following system package that can no longer be found:
          pkgconf
The following actions will be performed:
=== recompile 94 packages
  ↻ conf-pkg-config          3                           [upstream or system changes]
[...]

Proceed with ↻ 94 recompilations, ↗ 7 upgrades and ∗ 2 installations? [y/n] y

The following system packages will first need to be installed:
    pkgconf

<><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><>  🐫

opam believes some required external dependencies are missing. opam can:
> 1. Run brew to install them (may need root/sudo access)
  2. Display the recommended brew command and wait while you run it manually (e.g. in another terminal)
  3. Continue anyway, and, upon success, permanently register that this external dependency is present, but
     not detectable
  4. Abort the installation

[1/2/3/4] 1

+ /opt/homebrew/bin/brew "install" "pkgconf"
- ==> Downloading https://ghcr.io/v2/homebrew/core/pkgconf/manifests/2.3.0
- ==> Fetching pkgconf
- ==> Downloading https://ghcr.io/v2/homebrew/core/pkgconf/blobs/sha256:4d7c5803943bf2dcc8cb9ff8c838ea4283eeab24f49982df044cbc3031856fd8
- Error: Cannot install pkgconf because conflicting formulae are installed.
-   pkg-config: because both install `pkg.m4` file
-
- Please `brew unlink pkg-config` before continuing.
-
- Unlinking removes a formula's symlinks from /opt/homebrew. You can
- link the formula again after the install finishes. You can `--force` this
- install, but the build may fail or cause obscure side effects in the
- resulting software.
[ERROR] System package install failed with exit code 1 at command:
            brew install pkgconf
[ERROR] These packages are still missing: pkgconf

opam believes some required external dependencies are missing. opam can:
> 1. Run brew to install them (may need root/sudo access)
  2. Display the recommended brew command and wait while you run it manually (e.g. in another terminal)
  3. Continue anyway, and, upon success, permanently register that this external dependency is present, but
     not detectable
  4. Abort the installation

[1/2/3/4] 1

+ /opt/homebrew/bin/brew "install" "pkgconf"
- ==> Downloading https://ghcr.io/v2/homebrew/core/pkgconf/manifests/2.3.0
- Already downloaded: /Users/kit_ty_kate/Library/Caches/Homebrew/downloads/2f1a3719bf003aa9443a2e2e6af8e6441aa287088a24771231f191a9bcf36884--pkgconf-2.3.0.bottle_manifest.json
- ==> Fetching pkgconf
- ==> Downloading https://ghcr.io/v2/homebrew/core/pkgconf/blobs/sha256:4d7c5803943bf2dcc8cb9ff8c838ea4283eeab24f49982df044cbc3031856fd8
- Already downloaded: /Users/kit_ty_kate/Library/Caches/Homebrew/downloads/3da5f367638094024333a6f6b05c797ac0e2961230655a78dfe2dab9a0b7c82a--pkgconf--2.3.0.arm64_sonoma.bottle.tar.gz
- ==> Pouring pkgconf--2.3.0.arm64_sonoma.bottle.tar.gz
- 🍺  /opt/homebrew/Cellar/pkgconf/2.3.0: 25 files, 473.2KB
- ==> Running `brew cleanup pkgconf`...
- Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
- Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
- ==> `brew cleanup` has not been run in the last 30 days, running now...
- Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
- Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
- Removing: /Users/kit_ty_kate/Library/Caches/Homebrew/ffmpeg--7.1... (20.2MB)
- Removing: /opt/homebrew/Cellar/icu4c/74.2... (270 files, 77.9MB)
- Removing: /Users/kit_ty_kate/Library/Caches/Homebrew/icu4c@75_bottle_manifest--75.1... (9.4KB)
- Removing: /Users/kit_ty_kate/Library/Caches/Homebrew/[email protected]... (29MB)
- Removing: /Users/kit_ty_kate/Library/Caches/Homebrew/mpg123--1.32.7... (633.3KB)
- Removing: /Users/kit_ty_kate/Library/Caches/Homebrew/node--22.10.0... (19.5MB)
- Removing: /Users/kit_ty_kate/Library/Caches/Homebrew/openjdk--23... (198MB)
- Removing: /Users/kit_ty_kate/Library/Caches/Homebrew/[email protected]... (9.6MB)
- Removing: /Users/kit_ty_kate/Library/Caches/Homebrew/restic--0.17.1... (9.0MB)
- Removing: /Users/kit_ty_kate/Library/Caches/Homebrew/z3--4.13.3... (12.4MB)
- Removing: /Users/kit_ty_kate/Library/Caches/Homebrew/api-source/Homebrew/homebrew-cask/ef5f47b1bbc92a4ecd708f0736bf35303d6e7959/Cask/librewolf.rb... (1.6KB)
- Removing: /Users/kit_ty_kate/Library/Logs/Homebrew/libheif... (507B)
- Removing: /Users/kit_ty_kate/Library/Logs/Homebrew/gtk+3... (3 files, 1.6KB)
- Removing: /Users/kit_ty_kate/Library/Logs/Homebrew/[email protected]... (2 files, 2KB)
- Removing: /Users/kit_ty_kate/Library/Logs/Homebrew/perl... (64B)
- Removing: /Users/kit_ty_kate/Library/Logs/Homebrew/[email protected]... (2 files, 2KB)
- Removing: /Users/kit_ty_kate/Library/Logs/Homebrew/glib... (64B)
- Removing: /Users/kit_ty_kate/Library/Logs/Homebrew/gcc... (64B)
- Removing: /Users/kit_ty_kate/Library/Logs/Homebrew/rustup... (64B)
- Removing: /Users/kit_ty_kate/Library/Logs/Homebrew/openssl@3... (64B)
- Removing: /Users/kit_ty_kate/Library/Logs/Homebrew/ca-certificates... (64B)
- Removing: /Users/kit_ty_kate/Library/Logs/Homebrew/librsvg... (197B)
- Removing: /Users/kit_ty_kate/Library/Logs/Homebrew/[email protected]... (2 files, 2.5KB)
- Removing: /Users/kit_ty_kate/Library/Logs/Homebrew/node... (64B)
- Removing: /Users/kit_ty_kate/Library/Logs/Homebrew/unbound... (64B)
- Removing: /Users/kit_ty_kate/Library/Logs/Homebrew/[email protected]... (2 files, 2.5KB)
- Removing: /Users/kit_ty_kate/Library/Logs/Homebrew/guile... (64B)
- Removing: /Users/kit_ty_kate/Library/Logs/Homebrew/gnupg... (64B)
- Removing: /Users/kit_ty_kate/Library/Logs/Homebrew/[email protected]... (2 files, 2.5KB)
- Removing: /Users/kit_ty_kate/Library/Logs/Homebrew/gsettings-desktop-schemas... (1.2KB)

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><>  🐫
[...]

#=== ERROR while compiling conf-pkg-config.3 ==================================#
# context     2.3.0 | macos/arm64 |  | https://opam.ocaml.org#306c328a5d8550ae58f29b3609c6f7a073c219ab
# path        ~/.opam/default/.opam-switch/build/conf-pkg-config.3
# command     ~/.opam/opam-init/hooks/sandbox.sh build pkg-config --help
# exit-code   10
# env-file    ~/.opam/log/conf-pkg-config-8261-f6bfb0.env
# output-file ~/.opam/log/conf-pkg-config-8261-f6bfb0.out
### output ###
# [ERROR] Command not found: pkg-config

There are two issues in the example above:

  • brew fails to install pkgconf if pkg-config is already installed
  • once pkg-config is removed installing pkgconf does not install the pkg-config binary and thus the conf-pkg-config fails to build

Related to #26891

@mseri
Copy link
Member

mseri commented Jan 10, 2025

on macos with homebrew pkg-config uses pkgconf already: https://github.com/ocaml/opam-repository/blob/master/packages/conf-pkg-config/conf-pkg-config.3/opam#L25

We need to update the invocation. At first there was a symlink to pkg-config being installed. Maybe it was removed?

@mseri
Copy link
Member

mseri commented Jan 10, 2025

This should help at least with the install: #26917

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants