Skip to content
Discussion options

You must be logged in to vote

I found a workaround for Ruby 3.0.x / 3.1.x on macOS 26 (Tahoe) — missing /usr/include/netinet6/in6.h

Ruby 3.0 and 3.1 are EoL and their ext/socket/extconf.rb hardcodes File.read("/usr/include/netinet6/in6.h") at build time. macOS 26 no longer has /usr/include/ — system headers are inside the SDK only.

I created two gist patches that fix this:

  • Ruby 3.0.x (includes BigDecimal maybe_unused fix + socket SDK path fix):

    curl -fsSL https://gist.githubusercontent.com/unurgunite/4d6f9ecade222d9f5c6f6e8503ffdc38/raw/1dd825494ba945b3cc40bf2d2bfe9c6817327448/ruby-3.0-macos26.patch | RUBY_CONFIGURE_OPTS="--enable-yjit --with-jemalloc2" rbenv install 3.0.7 --force --patch -- --with-ext=socket,+
  • Ru…

Replies: 3 comments 7 replies

Comment options

You must be logged in to vote
2 replies
@mislav
Comment options

@roloand
Comment options

Comment options

You must be logged in to vote
5 replies
@roloand
Comment options

@unurgunite
Comment options

@mislav
Comment options

@manas-ashwin
Comment options

@NickRycar
Comment options

Answer selected by roloand
Comment options

You must be logged in to vote
0 replies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
6 participants
Converted from issue

This discussion was converted from issue #2624 on May 15, 2026 14:53.