You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
HOMEBREW_VERSION: 4.5.8
ORIGIN: https://github.com/Homebrew/brew
HEAD: c19f08b3e8ea46ba94bd9315c46c0dda10ead31c
Last commit: 3 days ago
Branch: stable
Core tap JSON: 26 Jun 21:33 UTC
HOMEBREW_PREFIX: /home/linuxbrew/.linuxbrew
HOMEBREW_CASK_OPTS: []
HOMEBREW_EDITOR: /usr/bin/vim
HOMEBREW_MAKE_JOBS: 8
HOMEBREW_NO_ANALYTICS: set
Homebrew Ruby: 3.4.4 => /var/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/portable-ruby/3.4.4/bin/ruby
CPU: octa-core 64-bit zen4
Clang: 20.1.7
Git: 2.49.0 => /bin/git
Curl: 8.11.1 => /bin/curl
Kernel: Linux 6.15.3-200.fc42.x86_64 x86_64 GNU/Linux
OS: Fedora release 42 (Adams)
Host glibc: 2.41
/usr/bin/gcc: 15.1.1
/usr/bin/ruby: N/A
glibc: N/A
gcc@11: N/A
gcc: 15.1.0
xorg: N/A
Output of brew doctor
Your system is ready to brew.
Description of issue
I recently noticed a strange issue where the glibc brew formula (which uses glibc 2.35) had been installed on my system despite my system glibc being version 2.41. I only noticed this because I set hardened_malloc to be used system-wide using LD_PRELOAD, and this caused an error with brew-installed programs due to hardened_malloc requiring glibc 2.36 or newer; however, this is problematic aside from that since it meant brew programs were running using a much older version of libc with known security vulnerabilities.
Apparently this shouldn't happen: brew isn't supposed to install its own glibc on systems where a newer glibc is already present. And, indeed, when I uninstalled all brew formulas and then reinstalled exactly the set of formulas I had previously installed on request, brew did not reinstall glibc (so the issue with hardened_malloc is resolved on my system now).
To try to track down the source of this issue, I looked through my shell history and file timestamps, and found that the folder /home/linuxbrew/.linuxbrew/opt/glibc was created on 2025-03-25 a few seconds after I ran brew install strace. Looking through the git history of the brew strace formula, I found the following commit on 2025-04-18: Homebrew/homebrew-core@770c12b
So, it appears that strace having an explicit dependency on glibc caused brew to install the glibc formula despite the presence of a newer system glibc, and as a result, all brew-installed formulas started using brew glibc instead of the system glibc. Additionally, this brew glibc remained even after the dependency was removed from the strace formula.
To me, this seems like a bug. I'm reporting it here rather than as an issue because I'm not sure how I'd go about reproducing it, and I'm not sure which of the above described behavior is intended; however, the consequence of these behaviors in combination certainly seems less than ideal.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
Additional Info
Output of
brew config
Output of
brew doctor
Description of issue
I recently noticed a strange issue where the
glibc
brew formula (which uses glibc 2.35) had been installed on my system despite my system glibc being version 2.41. I only noticed this because I set hardened_malloc to be used system-wide usingLD_PRELOAD
, and this caused an error with brew-installed programs due to hardened_malloc requiring glibc 2.36 or newer; however, this is problematic aside from that since it meant brew programs were running using a much older version of libc with known security vulnerabilities.Apparently this shouldn't happen: brew isn't supposed to install its own glibc on systems where a newer glibc is already present. And, indeed, when I uninstalled all brew formulas and then reinstalled exactly the set of formulas I had previously installed on request, brew did not reinstall glibc (so the issue with hardened_malloc is resolved on my system now).
To try to track down the source of this issue, I looked through my shell history and file timestamps, and found that the folder
/home/linuxbrew/.linuxbrew/opt/glibc
was created on 2025-03-25 a few seconds after I ranbrew install strace
. Looking through the git history of the brew strace formula, I found the following commit on 2025-04-18: Homebrew/homebrew-core@770c12bSo, it appears that strace having an explicit dependency on glibc caused brew to install the glibc formula despite the presence of a newer system glibc, and as a result, all brew-installed formulas started using brew glibc instead of the system glibc. Additionally, this brew glibc remained even after the dependency was removed from the strace formula.
To me, this seems like a bug. I'm reporting it here rather than as an issue because I'm not sure how I'd go about reproducing it, and I'm not sure which of the above described behavior is intended; however, the consequence of these behaviors in combination certainly seems less than ideal.
Beta Was this translation helpful? Give feedback.
All reactions