Closed pusewicz closed 6 months ago
I could reproduce it.
But I'm not sure why It only happens with gem install curses
. Because I couldn't reproduce it with cd ext/curses; ruby extconf.rb; make
.
@hsbt Yes, same here. I was able to compile it just fine with manual invocation like you also did.
Hmm, I can't reproduce it on my end. Could you share your rbconfig.rb
if you don't mind? You can find the file by find ~/.rubies/ruby-3.3.0/ -name rbconfig.rb
.
# encoding: ascii-8bit
# frozen-string-literal: false
#
# The module storing Ruby interpreter configurations on building.
#
# This file was created by mkconfig.rb when ruby was built. It contains
# build information for ruby which is used e.g. by mkmf to build
# compatible native extensions. Any changes made to this file will be
# lost the next time ruby is built.
module RbConfig
RUBY_VERSION.start_with?("3.3.") or
raise "ruby lib version (3.3.0) doesn't match executable version (#{RUBY_VERSION})"
# Ruby installed directory.
TOPDIR = File.dirname(__FILE__).chomp!("/lib/ruby/3.3.0/arm64-darwin23")
# DESTDIR on make install.
DESTDIR = '' unless defined? DESTDIR
# The hash configurations stored.
CONFIG = {}
CONFIG["DESTDIR"] = DESTDIR
CONFIG["MAJOR"] = "3"
CONFIG["MINOR"] = "3"
CONFIG["TEENY"] = "0"
CONFIG["PATCHLEVEL"] = "0"
CONFIG["INSTALL"] = '/opt/homebrew/bin/ginstall -c'
CONFIG["EXEEXT"] = ""
CONFIG["prefix"] = (TOPDIR || DESTDIR + "/Users/piotr/.rubies/ruby-3.3.0")
CONFIG["ruby_install_name"] = "$(RUBY_BASE_NAME)"
CONFIG["RUBY_INSTALL_NAME"] = "$(RUBY_BASE_NAME)"
CONFIG["RUBY_SO_NAME"] = "$(RUBY_BASE_NAME).$(RUBY_API_VERSION)"
CONFIG["exec"] = "exec"
CONFIG["ruby_pc"] = "ruby-3.3.pc"
CONFIG["CC_WRAPPER"] = ""
CONFIG["PACKAGE"] = "ruby"
CONFIG["BUILTIN_TRANSSRCS"] = " enc/trans/newline.c"
CONFIG["MKMF_VERBOSE"] = "0"
CONFIG["MANTYPE"] = "doc"
CONFIG["vendorarchhdrdir"] = "$(vendorhdrdir)/$(sitearch)"
CONFIG["sitearchhdrdir"] = "$(sitehdrdir)/$(sitearch)"
CONFIG["rubyarchhdrdir"] = "$(rubyhdrdir)/$(arch)"
CONFIG["vendorhdrdir"] = "$(rubyhdrdir)/vendor_ruby"
CONFIG["sitehdrdir"] = "$(rubyhdrdir)/site_ruby"
CONFIG["rubyhdrdir"] = "$(includedir)/$(RUBY_VERSION_NAME)"
CONFIG["RUBY_SEARCH_PATH"] = ""
CONFIG["UNIVERSAL_INTS"] = ""
CONFIG["UNIVERSAL_ARCHNAMES"] = ""
CONFIG["configure_args"] = " '--prefix=/Users/piotr/.rubies/ruby-3.3.0' '--with-opt-dir=/opt/homebrew/opt/readline:/opt/homebrew/opt/libyaml:/opt/homebrew/opt/gdbm' '--with-openssl-dir=/opt/homebrew/opt/openssl@3'"
CONFIG["CONFIGURE"] = "configure"
CONFIG["vendorarchdir"] = "$(vendorlibdir)/$(sitearch)"
CONFIG["vendorlibdir"] = "$(vendordir)/$(ruby_version)"
CONFIG["vendordir"] = "$(rubylibprefix)/vendor_ruby"
CONFIG["sitearchdir"] = "$(sitelibdir)/$(sitearch)"
CONFIG["sitelibdir"] = "$(sitedir)/$(ruby_version)"
CONFIG["sitedir"] = "$(rubylibprefix)/site_ruby"
CONFIG["rubyarchdir"] = "$(rubylibdir)/$(arch)"
CONFIG["rubylibdir"] = "$(rubylibprefix)/$(ruby_version)"
CONFIG["ruby_version"] = "3.3.0"
CONFIG["sitearch"] = "$(arch)"
CONFIG["arch"] = "arm64-darwin23"
CONFIG["sitearchincludedir"] = "$(includedir)/$(sitearch)"
CONFIG["archincludedir"] = "$(includedir)/$(arch)"
CONFIG["sitearchlibdir"] = "$(libdir)/$(sitearch)"
CONFIG["archlibdir"] = "$(libdir)/$(arch)"
CONFIG["libdirname"] = "libdir"
CONFIG["RUBY_EXEC_PREFIX"] = "/Users/piotr/.rubies/ruby-3.3.0"
CONFIG["RUBY_LIB_VERSION"] = ""
CONFIG["RUBY_LIB_VERSION_STYLE"] = "3\t/* full */"
CONFIG["RI_BASE_NAME"] = "ri"
CONFIG["ridir"] = "$(datarootdir)/$(RI_BASE_NAME)"
CONFIG["rubysitearchprefix"] = "$(rubylibprefix)/$(sitearch)"
CONFIG["rubyarchprefix"] = "$(rubylibprefix)/$(arch)"
CONFIG["MAKEFILES"] = "Makefile GNUmakefile"
CONFIG["USE_LLVM_WINDRES"] = ""
CONFIG["PLATFORM_DIR"] = ""
CONFIG["COROUTINE_TYPE"] = "arm64"
CONFIG["THREAD_MODEL"] = "pthread"
CONFIG["SYMBOL_PREFIX"] = "_"
CONFIG["EXPORT_PREFIX"] = ""
CONFIG["COMMON_HEADERS"] = ""
CONFIG["COMMON_MACROS"] = ""
CONFIG["COMMON_LIBS"] = ""
CONFIG["MAINLIBS"] = "-lgmp -ldl -lobjc -lpthread "
CONFIG["ENABLE_SHARED"] = "no"
CONFIG["DLDSHARED"] = "$(CC) -dynamiclib"
CONFIG["DLDLIBS"] = ""
CONFIG["SOLIBS"] = "$(MAINLIBS)"
CONFIG["LIBRUBYARG_SHARED"] = ""
CONFIG["LIBRUBYARG_STATIC"] = "-l$(RUBY_SO_NAME)-static -framework CoreFoundation $(MAINLIBS)"
CONFIG["LIBRUBYARG"] = "$(LIBRUBYARG_STATIC)"
CONFIG["LIBRUBY"] = "$(LIBRUBY_A)"
CONFIG["LIBRUBY_ALIASES"] = "lib$(RUBY_SO_NAME).$(SOEXT)"
CONFIG["LIBRUBY_SONAME"] = "lib$(RUBY_SO_NAME).$(SOEXT).$(RUBY_API_VERSION)"
CONFIG["LIBRUBY_SO"] = "lib$(RUBY_SO_NAME).$(SOEXT).$(RUBY_PROGRAM_VERSION)"
CONFIG["LIBRUBY_A"] = "lib$(RUBY_SO_NAME)-static.a"
CONFIG["RUBYW_INSTALL_NAME"] = ""
CONFIG["rubyw_install_name"] = ""
CONFIG["EXTDLDFLAGS"] = "-bundle_loader '$(BUILTRUBY)'"
CONFIG["EXTLDFLAGS"] = ""
CONFIG["strict_warnflags"] = ""
CONFIG["warnflags"] = "-Wall -Wextra -Wextra-tokens -Wdeprecated-declarations -Wdivision-by-zero -Wdiv-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wold-style-definition -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wmisleading-indentation -Wundef"
CONFIG["debugflags"] = "-ggdb3"
CONFIG["optflags"] = "-O3 -fno-fast-math"
CONFIG["NULLCMD"] = ":"
CONFIG["ENABLE_DEBUG_ENV"] = ""
CONFIG["DLNOBJ"] = "dln.o"
CONFIG["RJIT_SUPPORT"] = "yes"
CONFIG["YJIT_OBJ"] = "yjit.$(OBJEXT)"
CONFIG["YJIT_LIBS"] = "yjit/target/release/libyjit.a"
CONFIG["CARGO_BUILD_ARGS"] = ""
CONFIG["YJIT_SUPPORT"] = "yes"
CONFIG["CARGO"] = ""
CONFIG["RUSTC"] = "rustc"
CONFIG["INSTALL_STATIC_LIBRARY"] = "yes"
CONFIG["EXECUTABLE_EXTS"] = ""
CONFIG["ARCHFILE"] = ""
CONFIG["LIBRUBY_RELATIVE"] = "no"
CONFIG["EXTOUT"] = ".ext"
CONFIG["PREP"] = "miniruby$(EXEEXT)"
CONFIG["CROSS_COMPILING"] = "no"
CONFIG["TEST_RUNNABLE"] = "yes"
CONFIG["rubylibprefix"] = "$(libdir)/$(RUBY_BASE_NAME)"
CONFIG["setup"] = "Setup"
CONFIG["SOEXT"] = "dylib"
CONFIG["TRY_LINK"] = ""
CONFIG["PRELOADENV"] = "DYLD_INSERT_LIBRARIES"
CONFIG["LIBPATHENV"] = "DYLD_LIBRARY_PATH"
CONFIG["RPATHFLAG"] = ""
CONFIG["LIBPATHFLAG"] = " -L%s"
CONFIG["LINK_SO"] = "\n$(POSTLINK)"
CONFIG["ADDITIONAL_DLDFLAGS"] = ""
CONFIG["ENCSTATIC"] = ""
CONFIG["EXTSTATIC"] = ""
CONFIG["ASMEXT"] = "S"
CONFIG["LIBEXT"] = "a"
CONFIG["DLEXT"] = "bundle"
CONFIG["LDSHAREDXX"] = "$(CXX) -dynamic -bundle"
CONFIG["LDSHARED"] = "$(CC) -dynamic -bundle"
CONFIG["CCDLFLAGS"] = "-fno-common"
CONFIG["STATIC"] = ""
CONFIG["ARCH_FLAG"] = "-arch arm64"
CONFIG["DLDFLAGS"] = "-L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/libyaml/lib -L/opt/homebrew/opt/gdbm/lib -Wl,-undefined,dynamic_lookup"
CONFIG["ALLOCA"] = ""
CONFIG["EGREP"] = "/usr/bin/grep -E"
CONFIG["GREP"] = "/usr/bin/grep"
CONFIG["dsymutil"] = "dsymutil"
CONFIG["codesign"] = "codesign"
CONFIG["cleanlibs"] = "$(TARGET_SO).dSYM"
CONFIG["POSTLINK"] = "dsymutil $@ 2>/dev/null; { test -z '$(RUBY_CODESIGN)' || codesign -s '$(RUBY_CODESIGN)' -f $@; }"
CONFIG["incflags"] = "-I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/libyaml/include -I/opt/homebrew/opt/gdbm/include"
CONFIG["WERRORFLAG"] = "-Werror"
CONFIG["RUBY_DEVEL"] = ""
CONFIG["CHDIR"] = "cd -P"
CONFIG["RMALL"] = "rm -fr"
CONFIG["RMDIRS"] = "rmdir -p"
CONFIG["RMDIR"] = "rmdir"
CONFIG["CP"] = "cp"
CONFIG["RM"] = "rm -f"
CONFIG["PKG_CONFIG"] = "pkg-config"
CONFIG["DOXYGEN"] = ""
CONFIG["DOT"] = ""
CONFIG["MKDIR_P"] = "/opt/homebrew/bin/gmkdir -p"
CONFIG["INSTALL_DATA"] = "$(INSTALL) -m 644"
CONFIG["INSTALL_SCRIPT"] = "$(INSTALL)"
CONFIG["INSTALL_PROGRAM"] = "$(INSTALL)"
CONFIG["SET_MAKE"] = ""
CONFIG["LN_S"] = "ln -s"
CONFIG["DLLWRAP"] = ""
CONFIG["WINDRES"] = ""
CONFIG["ASFLAGS"] = ""
CONFIG["ARFLAGS"] = "rcu "
CONFIG["try_header"] = ""
CONFIG["CC_VERSION_MESSAGE"] = "Apple clang version 15.0.0 (clang-1500.1.0.2.5)\nTarget: arm64-apple-darwin23.2.0\nThread model: posix\nInstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin"
CONFIG["CC_VERSION"] = "$(CC) --version"
CONFIG["CSRCFLAG"] = ""
CONFIG["COUTFLAG"] = "-o "
CONFIG["OUTFLAG"] = "-o "
CONFIG["CPPOUTFILE"] = "-o conftest.i"
CONFIG["GNU_LD"] = "no"
CONFIG["GCC"] = "yes"
CONFIG["CPP"] = "$(CC) -E"
CONFIG["CXXFLAGS"] = "-fdeclspec"
CONFIG["OBJEXT"] = "o"
CONFIG["CPPFLAGS"] = "-D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT $(DEFS) $(cppflags)"
CONFIG["LDFLAGS"] = "-L. -fstack-protector-strong -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/libyaml/lib -L/opt/homebrew/opt/gdbm/lib"
CONFIG["CFLAGS"] = "$(cflags) -pipe"
CONFIG["STRIP"] = "strip -A -n"
CONFIG["RANLIB"] = "ranlib"
CONFIG["OBJDUMP"] = "objdump"
CONFIG["OBJCOPY"] = ":"
CONFIG["NM"] = "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm --no-llvm-bc"
CONFIG["LD"] = "ld"
CONFIG["CXX"] = "clang++"
CONFIG["AS"] = "as"
CONFIG["AR"] = "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar"
CONFIG["CC"] = "clang"
CONFIG["wasmoptflags"] = ""
CONFIG["WASMOPT"] = ""
CONFIG["target_os"] = "darwin23"
CONFIG["target_vendor"] = "apple"
CONFIG["target_cpu"] = "arm64"
CONFIG["target"] = "$(target_cpu)-$(target_vendor)-$(target_os)"
CONFIG["host_os"] = "$(target_os)"
CONFIG["host_vendor"] = "$(target_vendor)"
CONFIG["host_cpu"] = "$(target_cpu)"
CONFIG["host"] = "$(target)"
CONFIG["build_os"] = "darwin23.2.0"
CONFIG["build_vendor"] = "apple"
CONFIG["build_cpu"] = "aarch64"
CONFIG["build"] = "aarch64-apple-darwin23.2.0"
CONFIG["RUBY_VERSION_NAME"] = "$(RUBY_BASE_NAME)-$(ruby_version)"
CONFIG["RUBYW_BASE_NAME"] = "rubyw"
CONFIG["RUBY_BASE_NAME"] = "ruby"
CONFIG["RUBY_PROGRAM_VERSION"] = "$(MAJOR).$(MINOR).$(TEENY)"
CONFIG["RUBY_API_VERSION"] = "$(MAJOR).$(MINOR)"
CONFIG["HAVE_GIT"] = "yes"
CONFIG["GIT"] = "git"
CONFIG["cxxflags"] = ""
CONFIG["cppflags"] = ""
CONFIG["cflags"] = "-fdeclspec $(optflags) $(debugflags) $(warnflags)"
CONFIG["MAKEDIRS"] = "/opt/homebrew/bin/gmkdir -p"
CONFIG["target_alias"] = ""
CONFIG["host_alias"] = "$(target_alias)"
CONFIG["build_alias"] = ""
CONFIG["LIBS"] = "-lpthread "
CONFIG["ECHO_T"] = ""
CONFIG["ECHO_N"] = ""
CONFIG["ECHO_C"] = "\\\\c"
CONFIG["DEFS"] = ""
CONFIG["mandir"] = "$(datarootdir)/man"
CONFIG["localedir"] = "$(datarootdir)/locale"
CONFIG["libdir"] = "$(exec_prefix)/lib"
CONFIG["psdir"] = "$(docdir)"
CONFIG["pdfdir"] = "$(docdir)"
CONFIG["dvidir"] = "$(docdir)"
CONFIG["htmldir"] = "$(docdir)"
CONFIG["infodir"] = "$(datarootdir)/info"
CONFIG["docdir"] = "$(datarootdir)/doc/$(PACKAGE)"
CONFIG["oldincludedir"] = "/usr/include"
CONFIG["includedir"] = "$(SDKROOT)""$(prefix)/include"
CONFIG["runstatedir"] = "$(localstatedir)/run"
CONFIG["localstatedir"] = "$(prefix)/var"
CONFIG["sharedstatedir"] = "$(prefix)/com"
CONFIG["sysconfdir"] = "$(prefix)/etc"
CONFIG["datadir"] = "$(datarootdir)"
CONFIG["datarootdir"] = "$(prefix)/share"
CONFIG["libexecdir"] = "$(exec_prefix)/libexec"
CONFIG["sbindir"] = "$(exec_prefix)/sbin"
CONFIG["bindir"] = "$(exec_prefix)/bin"
CONFIG["exec_prefix"] = "$(prefix)"
CONFIG["PACKAGE_URL"] = ""
CONFIG["PACKAGE_BUGREPORT"] = ""
CONFIG["PACKAGE_STRING"] = ""
CONFIG["PACKAGE_VERSION"] = ""
CONFIG["PACKAGE_TARNAME"] = ""
CONFIG["PACKAGE_NAME"] = ""
CONFIG["PATH_SEPARATOR"] = ":"
CONFIG["SHELL"] = "/bin/sh"
CONFIG["UNICODE_VERSION"] = "15.0.0"
CONFIG["UNICODE_EMOJI_VERSION"] = "15.0"
CONFIG["SDKROOT"] = ""
CONFIG["platform"] = "$(arch)"
CONFIG["archdir"] = "$(rubyarchdir)"
CONFIG["topdir"] = File.dirname(__FILE__)
# Almost same with CONFIG. MAKEFILE_CONFIG has other variable
# reference like below.
#
# MAKEFILE_CONFIG["bindir"] = "$(exec_prefix)/bin"
#
# The values of this constant is used for creating Makefile.
#
# require 'rbconfig'
#
# print <<-END_OF_MAKEFILE
# prefix = #{RbConfig::MAKEFILE_CONFIG['prefix']}
# exec_prefix = #{RbConfig::MAKEFILE_CONFIG['exec_prefix']}
# bindir = #{RbConfig::MAKEFILE_CONFIG['bindir']}
# END_OF_MAKEFILE
#
# => prefix = /usr/local
# exec_prefix = $(prefix)
# bindir = $(exec_prefix)/bin MAKEFILE_CONFIG = {}
#
# RbConfig.expand is used for resolving references like above in rbconfig.
#
# require 'rbconfig'
# p RbConfig.expand(RbConfig::MAKEFILE_CONFIG["bindir"])
# # => "/usr/local/bin"
MAKEFILE_CONFIG = {}
CONFIG.each{|k,v| MAKEFILE_CONFIG[k] = v.dup}
# call-seq:
#
# RbConfig.expand(val) -> string
# RbConfig.expand(val, config) -> string
#
# expands variable with given +val+ value.
#
# RbConfig.expand("$(bindir)") # => /home/foobar/all-ruby/ruby19x/bin
def RbConfig::expand(val, config = CONFIG)
newval = val.gsub(/\$\$|\$\(([^()]+)\)|\$\{([^{}]+)\}/) {
var = $&
if !(v = $1 || $2)
'$'
elsif key = config[v = v[/\A[^:]+(?=(?::(.*?)=(.*))?\z)/]]
pat, sub = $1, $2
config[v] = false
config[v] = RbConfig::expand(key, config)
key = key.gsub(/#{Regexp.quote(pat)}(?=\s|\z)/n) {sub} if pat
key
else
var
end
}
val.replace(newval) unless newval == val
val
end
CONFIG.each_value do |val|
RbConfig::expand(val)
end
# call-seq:
#
# RbConfig.fire_update!(key, val) -> array
# RbConfig.fire_update!(key, val, mkconf, conf) -> array
#
# updates +key+ in +mkconf+ with +val+, and all values depending on
# the +key+ in +mkconf+.
#
# RbConfig::MAKEFILE_CONFIG.values_at("CC", "LDSHARED") # => ["gcc", "$(CC) -shared"]
# RbConfig::CONFIG.values_at("CC", "LDSHARED") # => ["gcc", "gcc -shared"]
# RbConfig.fire_update!("CC", "gcc-8") # => ["CC", "LDSHARED"]
# RbConfig::MAKEFILE_CONFIG.values_at("CC", "LDSHARED") # => ["gcc-8", "$(CC) -shared"]
# RbConfig::CONFIG.values_at("CC", "LDSHARED") # => ["gcc-8", "gcc-8 -shared"]
#
# returns updated keys list, or +nil+ if nothing changed.
def RbConfig.fire_update!(key, val, mkconf = MAKEFILE_CONFIG, conf = CONFIG) # :nodoc:
return if mkconf[key] == val
mkconf[key] = val
keys = [key]
deps = []
begin
re = Regexp.new("\\$\\((?:%1$s)\\)|\\$\\{(?:%1$s)\\}" % keys.join('|'))
deps |= keys
keys.clear
mkconf.each {|k,v| keys << k if re =~ v}
end until keys.empty?
deps.each {|k| conf[k] = mkconf[k].dup}
deps.each {|k| expand(conf[k])}
deps
end
# call-seq:
#
# RbConfig.ruby -> path
#
# returns the absolute pathname of the ruby command.
def RbConfig.ruby
File.join(
RbConfig::CONFIG["bindir"],
RbConfig::CONFIG["ruby_install_name"] + RbConfig::CONFIG["EXEEXT"]
)
end
end
CROSS_COMPILING = nil unless defined? CROSS_COMPILING
Thanks! I'll try on darwin23 later
@kateinoigakukun Can I help with anything?
@pusewicz Hmm, I couldn't reproduce the issue even with the macOS 14.4.1 and Ruby 3.3.0 installed via rbenv. Could you share brew list
if you don't mind?
@kateinoigakukun Here you go.
abseil
act
aom
asciinema
astyle
at-spi2-core
atk
autoconf
automake
bash
bash-language-server
bat
bchunk
bdw-gc
berkeley-db
berkeley-db@5
bison
black
boost
brotli
c-ares
ca-certificates
cairo
capstone
cffi
cfitsio
cgif
chruby
chruby-fish
cmake
confuse
coreutils
crystal
cscope
curl
dashing
dbus
direnv
dive
docbook
docbook-xsl
double-conversion
dtc
e2fsprogs
exa
exercism
fd
fftw
fish
flac
fluid-synth
fmt
fontconfig
freetype
fribidi
fzf
gcc
gdbm
gdk-pixbuf
gel
genext2fs
gettext
gflags
gh
ghostscript
giflib
git
git-lfs
github-markdown-toc
glances
glib
glog
glslang
gmp
gnu-getopt
gnupg
gnutls
go
gobject-introspection
gopls
gpgme
graphite2
gsettings-desktop-schemas
gtk+3
guile
hadolint
harfbuzz
hdf5
hicolor-icon-theme
highway
hiredis
htop
hub
hunspell
hwloc
icu4c
imagemagick
imagemagick@6
imath
irssi
isl
jansson
jasper
jbig2dec
jpeg
jpeg-turbo
jpeg-xl
jq
jsoncpp
kakoune
kompose
krb5
kubernetes-cli
lame
lazydocker
libaec
libarchive
libassuan
libb2
libcbor
libde265
libdicom
libepoxy
libevent
libexif
libffi
libfido2
libftdi
libgcrypt
libgit2
libgit2@1.6
libgosu
libgpg-error
libgsf
libheif
libice
libidn
libidn2
libimagequant
libksba
liblqr
libmagic
libmatio
libmpc
libnghttp2
libogg
libomp
libpng
libpthread-stubs
libraw
libressl
librsvg
libslirp
libsm
libsndfile
libsodium
libspng
libssh
libssh2
libtasn1
libtermkey
libtiff
libtool
libunistring
libusb
libuv
libvmaf
libvorbis
libvterm
libx11
libxau
libxcb
libxdmcp
libxext
libxfixes
libxi
libxml2
libxmu
libxrender
libxt
libxtst
libyaml
libzip
little-cms2
llvm
llvm@14
llvm@15
llvm@16
lsd
ltex-ls
lua
lua-language-server
luajit
luajit-openresty
luv
lz4
lzo
m4
macos-term-size
macvim
mad
mas
meson
midnight-commander
miniupnpc
mkcert
molten-vk
mozjpeg
mpdecimal
mpfr
mpg123
mruby
msgpack
mypy
mysql-client@5.7
mysql@5.7
ncurses
ne
neofetch
nettle
nim
ninja
node
node@16
npth
nspr
nss
nushell
nvi
oniguruma
open-mpi
openal-soft
openexr
openjdk
openjpeg
openldap
openslide
openssl@1.1
openssl@3
opus
opusfile
orc
p11-kit
pango
pcre
pcre2
perl
pinentry
pixman
pkg-config
pkgx
pmix
poppler
popt
portaudio
postgresql@15
prettier
proselint
protobuf
protobuf@21
pycparser
pydocstyle
python-attrs
python-click
python-dateutil
python-idna
python-lsp-server
python-magic
python-packaging
python-pathspec
python-platformdirs
python-setuptools
python@3.10
python@3.11
python@3.12
python@3.9
pyyaml
qemu
readline
ripgrep
rsync
rtmpdump
ruby
ruby-install
ruby@3.0
ruby@3.1
ruby@3.2
rubyfmt
ruff
rust
s-lang
s3cmd
screen
screenresolution
sdl2
sevenzip
shared-mime-info
shellcheck
six
smartmontools
snappy
solargraph
sops
spirv-tools
sql-language-server
sqlite
starship
stylelint
swift
swift-format
swig
tailscale
tailwindcss-language-server
tcpflow
telnet
termbox
terminal-notifier
tilt
tmux
tproxy
tree-sitter
typescript
typescript-language-server
u-boot-tools
unbound
unibilium
unixodbc
utf8proc
uthash
vale
vapor
vde
vim
vint
vips
volta
webp
wget
wxwidgets
x265
xmlto
xorgproto
xxhash
xz
yadm
yaml-language-server
yamlfmt
yamllint
yarn
yq
z
z3
zlib
zoxide
zstd
1password-cli
acorn
altair-graphql-client
audacity
autodesk-fusion
autodesk-fusion360
backblaze
balenaetcher
bambu-studio
caffeine
dash
ddpm
diffusionbee
discord
docker
dosbox-x
dotnet-sdk
drivedx
elgato-camera-hub
font-envy-code-r
font-iosevka
font-iosevka-nerd-font
font-iosevka-term-nerd-font
font-powerline-symbols
github
gnucash
gog-galaxy
google-chrome
google-chrome-beta
google-chrome-canary
google-cloud-sdk
gpg-suite
imageoptim
istat-menus
itch
iterm2
keycastr
kitty
lapce
linear-linear
logi-options-plus
logitech-options
macvim
messenger
microsoft-edge
namebench
ngrok
notational-velocity
notion
obs
onyx
openra
openttd
postman
proxyman
querious
rar
slack
soulseek
soundsource
telegram
textmate
the-unarchiver
tiled
transmission
tuple
visual-studio-code
whatsapp
xscreensaver
zoom
zsa-wally
Any update on this one? I've started having same issue after pristine'ing my bundle :(
macOS 14.4.1 ruby 3.2.0 via asdf
Facing same issue with macOS 14.4.1
Ruby version ruby-3.1.3 [ arm64 ]
via rvm
Any workaround here?
I was able to work around this using instructions from https://github.com/grpc/grpc/issues/35148#issuecomment-1866434142.
brew install llvm@15
fish_add_path /opt/homebrew/opt/llvm@15/bin
set -gx LDFLAGS "-L/opt/homebrew/opt/llvm@15/lib"
set -gx CPPFLAGS "-I/opt/homebrew/opt/llvm@15/include"
gem install curses
Using a comment or two down from the same grpc post, I've gotten the following to work.
gem install curses -- --with-cflags=-Wno-error=incompatible-function-pointer-types
If you want to use ncurses, assuming you have already installed it with brew, then the following will work.
gem install curses -- --use-system-libraries --with-ncurses-dir=/usr/local/opt/ncurses --with-cflags=-Wno-error=incompatible-function-pointer-types
@AfraidKnot Thanks. I could install with your instruction.
$ gem install curses -- --with-cflags=-Wno-error=incompatible-function-pointer-types
Building native extensions with: '--with-cflags=-Wno-error=incompatible-function-pointer-types'
Successfully installed curses-1.4.4
1 gem installed
It seems like https://github.com/ruby/curses/commit/13e00d07c3aaed83d5f138cf268cc33c9f025d0e already fixed the issue. So having a new gem release would solve the "gem install" issue.
@pusewicz I've released curses-1.4.5.gem. Could you try it?
@shugo It seems to be working for now.
@pusewicz Thanks for your confirmation!
Trying to install the gem as per documentation. Tried Rubies 3.3, 3.2, 3.1.