xterm 399 no longer recognizes `-fa` or `-fs` command line options
brew gist-logs <formula> link OR brew config AND brew doctor output
> brew config
HOMEBREW_VERSION: 4.5.2
ORIGIN: https://github.com/Homebrew/brew
HEAD: 6f39076b3c2251994419215279d0525ef667fc31
Last commit: 12 days ago
Branch: stable
Core tap JSON: 21 May 11:51 UTC
Core cask tap JSON: 21 May 11:51 UTC
HOMEBREW_PREFIX: /opt/homebrew
HOMEBREW_CASK_OPTS: []
HOMEBREW_DISPLAY: /private/tmp/com.apple.launchd.RCguznumGW/org.xquartz:0
HOMEBREW_MAKE_JOBS: 10
Homebrew Ruby: 3.4.3 => /opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.4.3/bin/ruby
CPU: deca-core 64-bit arm_firestorm_icestorm
Clang: 17.0.0 build 1700
Git: 2.49.0 => /opt/homebrew/bin/git
Curl: 8.7.1 => /usr/bin/curl
macOS: 15.5-arm64
CLT: 16.3.0.0.1.1742442376
Xcode: 16.3
Rosetta 2: false
> 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: Some installed formulae are deprecated or disabled.
You should find replacements for the following formulae:
icu4c@76
Warning: The following formulae have the same name as core formulae:
hashicorp/tap/consul-template
hashicorp/tap/levant
hashicorp/tap/nomad
hashicorp/tap/packer
hashicorp/tap/terraform
hashicorp/tap/terraform-ls
hashicorp/tap/vault
hashicorp/tap/waypoint
Their taps are in use, so you must use these full names throughout Homebrew.
Warning: Putting non-prefixed findutils in your path can cause python builds to fail.
Verification
- [x] My
brew doctoroutput saysYour system is ready to brew.and am still able to reproduce my issue. - [x] I ran
brew updateand am still able to reproduce my issue. - [x] I have resolved all warnings from
brew doctorand that did not fix my problem. - [x] I searched for recent similar issues at https://github.com/Homebrew/homebrew-core/issues?q=is%3Aissue and found no duplicates.
What were you trying to do (and why)?
I was trying to run xterm -fa "Codelia" -fb "Codelia Bold" -fs 10 -bg black -fg grey -sb -sl 100000 -rightbar -tn xterm-256color & and xterm complained that the -fa is bad. Removing that, I tried again, and it complained that the -fs parameter was bad. Both of these options work in xterm 398 from homebrew. I am unable to test xterm 399 from outside of homebrew as I am unable to compile it from source. The xterm changelog does not mention this change.
What happened (include all command output)?
> xterm -fa "Codelia" -fb "Codelia Bold" -fs 10 -bg black -fg grey -sb -sl 100000 -rightbar -tn xterm-256color &
xterm: bad command line option "-fa"
usage: xterm [-/+132] [-C] [-Sccn] [-T string] [-/+ah] [-/+ai] [-/+aw]
[-b number] [-baudrate rate] [-/+bc] [-bcf milliseconds]
[-bcn milliseconds] [-bd color] [-/+bdc] [-bg color] [-bw number] [-/+cb]
[-cc classrange] [-/+cjk_width] [-class string] [-/+cm] [-/+cn] [-cr color]
[-/+cu] [-/+dc] [-display displayname] [-e command args ...] [-fb fontname]
[-/+fbb] [-/+fbx] [-fc fontmenu] [-fg color] [-fi fontname] [-fn fontname]
[-/+fullscreen] [-fw fontname] [-fwb fontname] [-fx fontname] [#geom]
[%geom] [-geometry geom] [-help] [-/+hm] [-/+hold] [-iconic] [-/+ie]
[-/+im] [-into windowId] [-/+itc] [-/+j] [-/+k8] [-kt keyboardtype] [-/+l]
[-/+lc] [-lcc path] [-leftbar] [-lf filename] [-/+ls] [-/+maximized]
[-/+mb] [-mc milliseconds] [-/+mesg] [-/+mk_width] [-ms color] [-n string]
[-name string] [-nb number] [-/+nomap] [-/+nul] [-/+pc] [-pf fontname]
[-/+pob] [-report-charclass] [-report-colors] [-report-fonts]
[-report-icons] [-report-xres] [-rightbar] [-/+rv] [-/+rvc] [-/+rw] [-/+s]
[-/+samename] [-/+sb] [-selbg color] [-selfg color] [-/+sf] [-sh number]
[-/+si] [-/+sk] [-sl number] [-/+sm] [-/+sp] [-/+t] [-ti termid]
[-title string] [-tm string] [-tn name] [-/+u8] [-/+uc] [-/+ulc] [-/+ulit]
[-/+ut] [-/+vb] [-version] [-/+wc] [-/+wf] [-xrm resourcestring]
[-ziconbeep percent]
Type xterm -help for a full description.
fish: Job 1, 'xterm -fa "Codelia" -fb "Codeli…' has ended
> xterm -v
XTerm(399)
What did you expect to happen?
I expect the -fa and -fs options to work. they worked in xterm 398. unfortunately I don't know if this is a regression in the homebrew formula (seems doubtful, the change to 399 here doesn't change how xterm is built from what I can see) or if this is a regression in xterm itself (this also seems extremely unlikely.)
Step-by-step reproduction instructions (by running brew commands)
brew update
brew upgrade
xterm -fa "Codelia" -fb "Codelia Bold" -fs 10 -bg black -fg grey -sb -sl 100000 -rightbar -tn xterm-256color
I imagine any opentype or truetype font would work in exchange for Codelia.
Have you asked upstream about this? Homebrew doesn't change options on its own
I have not, but I will do that now.
I uninstalled xterm and reinstalled with brew install --build-from-source xterm and the features that didn't work when I installed the prebuilt package do work when I compile locally. I didn't see anything that changed in the formula which would cause this, and the xterm maintainer thought they may have had an unintended side effect but it turns out they don't. So, I don't know how this broke, but it broke somewhere within Homebrew, somehow. I have no idea how or why.
I can build it with the brew command as shown above, but when downloading the source tarball, configureing and makeing, I get an error about a missing library, so I'm not sure how I'm doing that wrong. I wanted to test building from source directly without Homebrew's involvement but got that build error.
This bug is still present in xterm 400, if anyone is wondering. And I confirmed again that it is not xterm itself causing this, nor is it present when I brew install --build-from-source xterm. ¯\_(ツ)_/¯
nor is it present when I
brew install --build-from-source xterm.¯\_(ツ)_/¯
@naikrovek, since you have a working local build, what's the output of the following commands?
brew deps xterm
brew linkage xterm
> brew deps xterm
fontconfig
freetype
gettext
libice
libpng
libsm
libunistring
libx11
libxau
libxaw
libxcb
libxdmcp
libxext
libxft
libxinerama
libxmu
libxpm
libxrender
libxt
xorgproto
> brew linkage xterm
System libraries:
/usr/lib/libSystem.B.dylib
/usr/lib/libncurses.5.4.dylib
Homebrew libraries:
/opt/homebrew/opt/fontconfig/lib/libfontconfig.1.dylib (fontconfig)
/opt/homebrew/opt/freetype/lib/libfreetype.6.dylib (freetype)
/opt/homebrew/opt/libice/lib/libICE.6.dylib (libice)
/opt/homebrew/opt/libx11/lib/libX11.6.dylib (libx11)
/opt/homebrew/opt/libxaw/lib/libXaw.7.dylib (libxaw)
/opt/homebrew/opt/libxext/lib/libXext.6.dylib (libxext)
/opt/homebrew/opt/libxft/lib/libXft.2.dylib (libxft)
/opt/homebrew/opt/libxinerama/lib/libXinerama.1.dylib (libxinerama)
/opt/homebrew/opt/libxmu/lib/libXmu.6.dylib (libxmu)
/opt/homebrew/opt/libxpm/lib/libXpm.4.dylib (libxpm)
/opt/homebrew/opt/libxt/lib/libXt.6.dylib (libxt)
Hmm. I just installed xterm 400 from bottle, and the command line you posted kicks up an xterm with the Codelia font for me (on Sonoma though), with zero errors.
However:-
% brew linkage xterm
System libraries:
/usr/lib/libSystem.B.dylib
/usr/lib/libncurses.5.4.dylib
Homebrew libraries:
/opt/homebrew/opt/libice/lib/libICE.6.dylib (libice)
/opt/homebrew/opt/libx11/lib/libX11.6.dylib (libx11)
/opt/homebrew/opt/libxaw/lib/libXaw.7.dylib (libxaw)
/opt/homebrew/opt/libxext/lib/libXext.6.dylib (libxext)
/opt/homebrew/opt/libxinerama/lib/libXinerama.1.dylib (libxinerama)
/opt/homebrew/opt/libxmu/lib/libXmu.6.dylib (libxmu)
/opt/homebrew/opt/libxpm/lib/libXpm.4.dylib (libxpm)
/opt/homebrew/opt/libxt/lib/libXt.6.dylib (libxt)
Dependencies with no linkage:
libxft
so I'm wondering if xterm is being built with more dependencies than it actually needs.
weird. Could this be local to me, somehow? with a bottle?
Could you remove the bottle cache and remove + install again? Maybe there was an issue there?
I ran the following commands, and (mundane output omitted) this is what I got:
> brew cleanup --prune=all
> brew uninstall xterm
> brew install xterm
> xterm -fa "Codelia" -fb "Codelia Bold" -fs 10 -bg black -fg grey -sb -sl 100000 -rightbar -tn xterm-256color &
xterm: bad command line option "-fa"
usage: xterm [-/+132] [-C] [-Sccn] [-T string] [-/+ah] [-/+ai] [-/+aw]
[-b number] [-baudrate rate] [-/+bc] [-bcf milliseconds]
[-bcn milliseconds] [-bd color] [-/+bdc] [-bg color] [-bw number] [-/+cb]
[-cc classrange] [-/+cjk_width] [-class string] [-/+cm] [-/+cn] [-cr color]
[-/+cu] [-/+dc] [-display displayname] [-e command args ...] [-fb fontname]
[-/+fbb] [-/+fbx] [-fc fontmenu] [-fg color] [-fi fontname] [-fn fontname]
[-/+fullscreen] [-fw fontname] [-fwb fontname] [-fx fontname] [#geom]
[%geom] [-geometry geom] [-help] [-/+hm] [-/+hold] [-iconic] [-/+ie]
[-/+im] [-into windowId] [-/+itc] [-/+j] [-/+k8] [-kt keyboardtype] [-/+l]
[-/+lc] [-lcc path] [-leftbar] [-lf filename] [-/+ls] [-/+maximized]
[-/+mb] [-mc milliseconds] [-/+mesg] [-/+mk_width] [-ms color] [-n string]
[-name string] [-nb number] [-/+nomap] [-/+nul] [-/+pc] [-pf fontname]
[-/+pob] [-report-charclass] [-report-colors] [-report-fonts]
[-report-icons] [-report-xres] [-rightbar] [-/+rv] [-/+rvc] [-/+rw] [-/+s]
[-/+samename] [-/+sb] [-selbg color] [-selfg color] [-/+sf] [-sh number]
[-/+si] [-/+sk] [-sl number] [-/+sm] [-/+sp] [-/+t] [-ti termid]
[-title string] [-tm string] [-tn name] [-/+u8] [-/+uc] [-/+ulc] [-/+ulit]
[-/+ut] [-/+vb] [-version] [-/+wc] [-/+wf] [-xrm resourcestring]
[-ziconbeep percent]
Type xterm -help for a full description.
fish: Job 1, 'xterm -fa "Codelia" -fb "Codeli…' has ended
I'm also on Sonoma, and I got the "bad command line option" error with the bottle. I don't have xquartz installed. Maybe @gromgit does and @naikrovek doesn't?
I have xquartz installed and running at the time of the commands shown in my last comment.
When I 1) install with brew install -v --build-bottle xterm, 2) run brew bottle xterm, 3) unpack the bottle and run otool -L xterm, I get:
xterm:
@@HOMEBREW_PREFIX@@/opt/libxft/lib/libXft.2.dylib (compatibility version 6.0.0, current version 6.9.0)
@@HOMEBREW_PREFIX@@/opt/fontconfig/lib/libfontconfig.1.dylib (compatibility version 17.0.0, current version 17.0.0)
@@HOMEBREW_PREFIX@@/opt/freetype/lib/libfreetype.6.dylib (compatibility version 27.0.0, current version 27.2.0)
@@HOMEBREW_PREFIX@@/opt/libxext/lib/libXext.6.dylib (compatibility version 11.0.0, current version 11.0.0)
@@HOMEBREW_PREFIX@@/opt/libxmu/lib/libXmu.6.dylib (compatibility version 9.0.0, current version 9.0.0)
@@HOMEBREW_PREFIX@@/opt/libxaw/lib/libXaw.7.dylib (compatibility version 8.0.0, current version 8.0.0)
@@HOMEBREW_PREFIX@@/opt/libxinerama/lib/libXinerama.1.dylib (compatibility version 2.0.0, current version 2.0.0)
@@HOMEBREW_PREFIX@@/opt/libxpm/lib/libXpm.4.dylib (compatibility version 16.0.0, current version 16.0.0)
@@HOMEBREW_PREFIX@@/opt/libxt/lib/libXt.6.dylib (compatibility version 7.0.0, current version 7.0.0)
@@HOMEBREW_PREFIX@@/opt/libx11/lib/libX11.6.dylib (compatibility version 11.0.0, current version 11.0.0)
@@HOMEBREW_PREFIX@@/opt/libice/lib/libICE.6.dylib (compatibility version 10.0.0, current version 10.0.0)
/usr/lib/libncurses.5.4.dylib (compatibility version 5.4.0, current version 5.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1345.120.2)
Running the same command on xterm installed from bottle:
$ otool -L `brew --cellar xterm`/400/bin/xterm
/opt/homebrew/Cellar/xterm/400/bin/xterm:
/opt/homebrew/opt/libxaw/lib/libXaw.7.dylib (compatibility version 8.0.0, current version 8.0.0)
/opt/homebrew/opt/libxmu/lib/libXmu.6.dylib (compatibility version 9.0.0, current version 9.0.0)
/opt/homebrew/opt/libxext/lib/libXext.6.dylib (compatibility version 11.0.0, current version 11.0.0)
/opt/homebrew/opt/libxinerama/lib/libXinerama.1.dylib (compatibility version 2.0.0, current version 2.0.0)
/opt/homebrew/opt/libxpm/lib/libXpm.4.dylib (compatibility version 16.0.0, current version 16.0.0)
/opt/homebrew/opt/libxt/lib/libXt.6.dylib (compatibility version 7.0.0, current version 7.0.0)
/opt/homebrew/opt/libx11/lib/libX11.6.dylib (compatibility version 11.0.0, current version 11.0.0)
/opt/homebrew/opt/libice/lib/libICE.6.dylib (compatibility version 10.0.0, current version 10.0.0)
/usr/lib/libncurses.5.4.dylib (compatibility version 5.4.0, current version 5.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1345.120.2)
Anyone know why the bottled version is missing freetype / fontconfig / libxft linkage?
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.
hey github-actions automation, this bug is still present in the homebrew xterm 401 bottle.
Try brew reinstall xterm and see if it works. #232163 should have helped the build find dependencies.
Fixed, it seems! Thank you!