Homebrew / homebrew-core

🍻 Default formulae for the missing package manager for macOS (or Linux)
https://brew.sh
BSD 2-Clause "Simplified" License
13.75k stars 12.44k forks source link

e2fsprogs is installed, the folder is sym-linked to the cellar, but the binaries are not sym-linked #197058

Closed wechmarer closed 3 hours ago

wechmarer commented 4 hours ago

brew gist-logs <formula> link OR brew config AND brew doctor output

/Users/thomas> brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!

Warning: The filesystem on /System/Volumes/Data appears to be case-sensitive.
The default macOS filesystem is case-insensitive. Please report any apparent problems.

Verification

What were you trying to do (and why)?

I want to use the binaries from e2fsprogs. The installation does not report any errors. But the binaries are not sum-linked into /opt/homebrew/sbin or /opt/homebrew/bin The folder e2fsprogs is symlinked. Is this expected or is this an issue.

My steps: /Users/thomas> mkfs.ext2 zsh: command not found: mkfs.ext2

/Users/thomas> ls -la /opt/homebrew/opt/e2fsprogs
lrwxr-xr-x 1 thomas admin 26 12 Aug 15:50 /opt/homebrew/opt/e2fsprogs -> ../Cellar/e2fsprogs/1.47.1

/Users/thomas> ls -la /opt/homebrew/opt/e2fsprogs/sbin/mkfs.ext2 -rwxr-xr-x 1 thomas admin 174368 12 Aug 15:50 /opt/homebrew/opt/e2fsprogs/sbin/mkfs.ext2

What happened (include all command output)?

/Users/thomas> mkfs.ext2 -h zsh: command not found: mkfs.ext2

What did you expect to happen?

mkfs.ext2 has a symbolic link in /opt/homebrew/sbin/

Step-by-step reproduction instructions (by running brew commands)

/Users/thomas> brew update
==> Updating Homebrew...
Updated 1 tap (homebrew/services).
No changes to formulae or casks.
/Users/thomas> brew install e2fsprogs
Warning: e2fsprogs 1.47.1 is already installed and up-to-date.
To reinstall 1.47.1, run:
  brew reinstall e2fsprogs
/Users/thomas/project/clario> brew install --cask macfuse
==> Downloading https://formulae.brew.sh/api/cask.jws.json
######################################################################################################################################################################################################################################################### 100.0%
Warning: Not upgrading macfuse, the latest version is already installed

--- open a new shell to be sure any changes on PATH are applied

/Users/thomas> mkfs.ext2
zsh: command not found: mkfs.ext2
carlocab commented 4 hours ago

Output of brew config?

wechmarer commented 3 hours ago

/Users/thomas> brew config HOMEBREW_VERSION: 4.4.4 ORIGIN: https://github.com/Homebrew/brew HEAD: 824efa8836dc226aa92dbbf7404c1b4a66707cca Last commit: 4 days ago Core tap JSON: 08 Nov 09:27 UTC Core cask tap JSON: 08 Nov 09:43 UTC HOMEBREW_PREFIX: /opt/homebrew HOMEBREW_CASK_OPTS: [] HOMEBREW_MAKE_JOBS: 8 Homebrew Ruby: 3.3.5 => /opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.3.5/bin/ruby CPU: octa-core 64-bit arm_blizzard_avalanche Clang: 16.0.0 build 1600 Git: 2.39.5 => /Library/Developer/CommandLineTools/usr/bin/git Curl: 8.7.1 => /usr/bin/curl macOS: 15.1-arm64 CLT: 16.1.0.0.1.1729049160 Xcode: 16.0 Rosetta 2: false

carlocab commented 3 hours ago

Right, thanks.

e2fsprogs is keg-only, so it's not linked into HOMEBREW_PREFIX by default. You should have seen this message when you did brew install e2fsprogs:

❯ brew install e2fsprogs
[snip]
==> Caveats
e2fsprogs is keg-only, which means it was not symlinked into /opt/homebrew,
because macOS provides similar software and installing this software in
parallel can cause all kinds of trouble.

If you need to have e2fsprogs first in your PATH, run:
  echo 'export PATH="/opt/homebrew/opt/e2fsprogs/bin:$PATH"' >> ~/.zshrc
  echo 'export PATH="/opt/homebrew/opt/e2fsprogs/sbin:$PATH"' >> ~/.zshrc

For compilers to find e2fsprogs you may need to set:
  export LDFLAGS="-L/opt/homebrew/opt/e2fsprogs/lib"
  export CPPFLAGS="-I/opt/homebrew/opt/e2fsprogs/include"

For pkg-config to find e2fsprogs you may need to set:
  export PKG_CONFIG_PATH="/opt/homebrew/opt/e2fsprogs/lib/pkgconfig"
==> Summary
☕  /opt/homebrew/Cellar/e2fsprogs/1.47.1: 148 files, 8.3MB
==> Running `brew cleanup e2fsprogs`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).